staging: zram: fix invalid memory references during disk write
authorNitin Gupta <[email protected]>
Wed, 2 Jan 2013 16:53:41 +0000 (08:53 -0800)
committerGreg Kroah-Hartman <[email protected]>
Mon, 14 Jan 2013 03:40:02 +0000 (19:40 -0800)
commit397c60668aa5ae7130b5ad4e73870d7b8a787085
tree3614efa94688c19233023c49d940fe0d3c061cf3
parente16a922a27ec352537a8027cadc32dc156534ca5
staging: zram: fix invalid memory references during disk write

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

Signed-off-by: Nitin Gupta <[email protected]>
Cc: stable <[email protected]>
Reported-by: Mihail Kasadjikov <[email protected]>
Reported-by: Tomas M <[email protected]>
Reviewed-by: Minchan Kim <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
drivers/staging/zram/zram_drv.c