Re: Patch "zram: do not use copy_page with non-page aligned address" has been added to the 4.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 19, 2017 at 10:01:42AM +0900, Minchan Kim wrote:
> Hi Greg,
> 
> On Tue, Apr 18, 2017 at 02:50:40PM +0200, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> > 
> > This is a note to let you know that I've just added the patch titled
> > 
> >     zram: do not use copy_page with non-page aligned address
> > 
> > to the 4.9-stable tree which can be found at:
> >     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> > 
> > The filename of the patch is:
> >      zram-do-not-use-copy_page-with-non-page-aligned-address.patch
> > and it can be found in the queue-4.9 subdirectory.
> > 
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@xxxxxxxxxxxxxxx> know about it.
> > 
> > 
> > From d72e9a7a93e4f8e9e52491921d99e0c8aa89eb4e Mon Sep 17 00:00:00 2001
> > From: Minchan Kim <minchan@xxxxxxxxxx>
> > Date: Thu, 13 Apr 2017 14:56:37 -0700
> > Subject: zram: do not use copy_page with non-page aligned address
> > 
> > From: Minchan Kim <minchan@xxxxxxxxxx>
> > 
> > commit d72e9a7a93e4f8e9e52491921d99e0c8aa89eb4e upstream.
> > 
> > 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.
> > 
> > So, this patch changes it to memcpy.
> > 
> > Actuaully, we don't need to change zram_bvec_write part because zsmalloc
> > returns page-aligned address in case of PAGE_SIZE class but it's not
> > good to rely on the internal of zsmalloc.
> > 
> > Note:
> >  When this patch is merged to stable, clear_page should be fixed, too.
> >  Unfortunately, recent zram removes it by "same page merge" feature so
> >  it's hard to backport this patch to -stable tree.
> > 
> > I will handle it when I receive the mail from stable tree maintainer to
> > merge this patch to backport.
> 
> By above reason, I send new version to cover clear_page.
> Please merge below patch instead of this one.

Now replaced, thanks.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]