Re: [PATCH 2/3] zram: do not use copy_page with non-page alinged address

From: Sergey Senozhatsky
Date: Fri Apr 14 2017 - 01:41:22 EST


Hello,

On (04/13/17 09:17), Minchan Kim wrote:
> The copy_page is optimized memcpy for page-alinged address.
> If it is used with non-page aligned address, it can corrupt memory which
> means system corruption. With zram, it can happen with
>
> 1. 64K architecture
> 2. partial IO
> 3. slub debug
>
> Partial IO need to allocate a page and zram allocates it via kmalloc.
> With slub debug, kmalloc(PAGE_SIZE) doesn't return page-size aligned
> address. And finally, copy_page(mem, cmem) corrupts memory.

which would be the case for many other copy_page() calls in the kernel.
right? if so - should the fix be in copy_page() then?

-ss