From: Greg KH <gregkh@linuxfoundation.org>
To: Minchan Kim <minchan@kernel.org>
Cc: akpm@linux-foundation.org, sergey.senozhatsky@gmail.com,
torvalds@linux-foundation.org, stable@vger.kernel.org,
stable-commits@vger.kernel.org
Subject: Re: Patch "zram: do not use copy_page with non-page aligned address" has been added to the 4.10-stable tree
Date: Wed, 19 Apr 2017 13:36:20 +0200 [thread overview]
Message-ID: <20170419113620.GC27378@kroah.com> (raw)
In-Reply-To: <20170419005451.GC19929@bbox>
On Wed, Apr 19, 2017 at 09:54:51AM +0900, Minchan Kim wrote:
> Hello Greg,
>
> On Tue, Apr 18, 2017 at 02:49:12PM +0200, gregkh@linuxfoundation.org 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.10-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.10 subdirectory.
> >
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@vger.kernel.org> know about it.
> >
> >
> > From d72e9a7a93e4f8e9e52491921d99e0c8aa89eb4e Mon Sep 17 00:00:00 2001
> > From: Minchan Kim <minchan@kernel.org>
> > 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@kernel.org>
> >
> > 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 wanted to send new version to cover clear_page part
> when I receive this mail.
> Could you merge below patch, instead?
Now replaced, thanks.
greg k-h
prev parent reply other threads:[~2017-04-19 11:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-18 12:49 Patch "zram: do not use copy_page with non-page aligned address" has been added to the 4.10-stable tree gregkh
2017-04-19 0:54 ` Minchan Kim
2017-04-19 11:36 ` Greg KH [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170419113620.GC27378@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=minchan@kernel.org \
--cc=sergey.senozhatsky@gmail.com \
--cc=stable-commits@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).