zram: fix invalid memory references during disk write

Greg KH gregkh at linuxfoundation.org
Wed Dec 19 16:17:05 UTC 2012


On Wed, Dec 19, 2012 at 07:53:36AM -0800, Nitin Gupta wrote:
> On 12/19/2012 07:08 AM, Greg KH wrote:
> > On Tue, Dec 18, 2012 at 11:21:28PM -0800, Nitin Gupta wrote:
> >> On 12/18/2012 07:49 PM, Greg KH wrote:
> >>> On Tue, Dec 18, 2012 at 01:12:05PM -0800, Nitin Gupta wrote:
> >>>> On Tue, Dec 11, 2012 at 10:27 AM, Greg KH <gregkh at linuxfoundation.org> wrote:
> >>>>> On Thu, Nov 29, 2012 at 10:45:09PM -0800, Nitin Gupta wrote:
> >>>>>> Fixes a bug introduced by commit c8f2f0db1 ("zram: Fix handling
> >>>>>> of incompressible pages") which caused invalid memory references
> >>>>>> during disk write. Invalid references could occur in two cases:
> >>>>>>  - Incoming data expands on compression: In this case, reference was
> >>>>>> made to kunmap()'ed bio page.
> >>>>>>  - Partial (non PAGE_SIZE) write with incompressible data: In this
> >>>>>> case, reference was made to a kfree()'ed buffer.
> >>>>>>
> >>>>>> Fixes bug 50081:
> >>>>>> https://bugzilla.kernel.org/show_bug.cgi?id=50081
> >>>>>>
> >>>>>> Upstream commit ID: c8f2f0d: zram: Fix handling of incompressible pages
> >>>>>> Apply to versions: 3.6.5, 3.6.6, 3.6.7, 3.6.8
> >>>>>>
> >>>>>> Cc: <stable at vger.kernel.org> # staging-next: 37b51fd: zram: factor-out
> >>>>>>                               # zram_decompress_page() function
> >>>>>> Signed-off-by: Nitin Gupta <ngupta at vflare.org>
> >>>>>> Reported-by: Mihail Kasadjikov <hamer.mk at gmail.com>
> >>>>>> Reported-by: Tomas M <tomas at slax.org>
> >>>>>> Reviewed-by: Minchan Kim <minchan at kernel.org>
> >>>>>> ---
> >>>>>>  drivers/staging/zram/zram_drv.c |   39 ++++++++++++++++++++++++---------------
> >>>>>>  1 file changed, 24 insertions(+), 15 deletions(-)
> >>>>>
> >>>>> This patch fails to apply to 3.6.10:
> >>>>>
> >>>>> patching file drivers/staging/zram/zram_drv.c
> >>>>> Hunk #1 succeeded at 282 (offset 17 lines).
> >>>>> Hunk #2 FAILED at 286.
> >>>>> Hunk #3 succeeded at 319 (offset 17 lines).
> >>>>> Hunk #4 succeeded at 340 (offset 17 lines).
> >>>>> Hunk #5 succeeded at 353 (offset 17 lines).
> >>>>> Hunk #6 succeeded at 368 (offset 17 lines).
> >>>>> Hunk #7 succeeded at 385 (offset 17 lines).
> >>>>> 1 out of 7 hunks FAILED -- saving rejects to file drivers/staging/zram/zram_drv.c.rej
> >>>>>
> >>>>> Please redo this patch and resend it if you wish for it to be applied to
> >>>>> the 3.6-stable tree.
> >>>>>
> >>>>>
> >>>>
> >>>> Please apply this patch to stable tree asap.
> >>>
> >>> 3.6 is now end-of-life, there will not be any more releases for that
> >>> kernel series anymore, sorry.
> >>>
> >>
> >> Then please apply to 3.7.
> > 
> > That is impossible to do so, for the obvious reason.
> > 
> 
> I meant to include it in whatever 3.7.x is released in future. Or put it
> in staging, so it may eventually make it to mainline (by 3.8?).

{sigh}

Please think for a moment for how it would be impossible for me to add
this patch to either the 3.7-stable tree, or the 3.8 tree, _again_.

greg k-h



More information about the devel mailing list