From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:49980 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1762732AbdDSLiI (ORCPT ); Wed, 19 Apr 2017 07:38:08 -0400 Date: Wed, 19 Apr 2017 13:37:58 +0200 From: Greg KH To: Minchan Kim 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.9-stable tree Message-ID: <20170419113758.GD27378@kroah.com> References: <149251984025184@kroah.com> <20170419010142.GF19929@bbox> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170419010142.GF19929@bbox> Sender: stable-owner@vger.kernel.org List-ID: 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@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.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 know about it. > > > > > > From d72e9a7a93e4f8e9e52491921d99e0c8aa89eb4e Mon Sep 17 00:00:00 2001 > > From: Minchan Kim > > Date: Thu, 13 Apr 2017 14:56:37 -0700 > > Subject: zram: do not use copy_page with non-page aligned address > > > > From: Minchan Kim > > > > 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