On Fri, Apr 14, 2017 at 02:41:05PM +0900, Sergey Senozhatsky wrote: > 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? I thought about it but was not sure it's good idea by several reasons (but don't want to discuss it in this thread). Anyway, it's stable stuff so I don't want to make the patch bloat. If you believe it is right direction and valuable, you could be a volunteer. :) Thanks.