aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorJiang Liu <liuj97@gmail.com>2013-06-07 00:07:25 +0800
committerSimon Shields <keepcalm444@gmail.com>2016-06-12 21:19:40 +1000
commit0a4ee7ec98dfc4e703a0277dffc8b4733a7a8da5 (patch)
treee0a6a610faa5d79ceeeed761b8a10b77ecae6f3b /drivers/staging
parent750c4a7e63dbb0b893680b5ba77add8258a36f56 (diff)
downloadkernel_samsung_smdk4412-0a4ee7ec98dfc4e703a0277dffc8b4733a7a8da5.tar.gz
kernel_samsung_smdk4412-0a4ee7ec98dfc4e703a0277dffc8b4733a7a8da5.tar.bz2
kernel_samsung_smdk4412-0a4ee7ec98dfc4e703a0277dffc8b4733a7a8da5.zip
zram: avoid double free in function zram_bvec_write()
When doing a patial write and the whole page is filled with zero, zram_bvec_write() will free uncmem twice. Change-Id: I233f44846f29dbf11e05d277506137bc7f11bbd9 Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Acked-by: Minchan Kim <minchan@kernel.org> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Git-commit: 65c484609a3b25c35e4edcd5f2c38f98f5226093 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/zram/zram_drv.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/staging/zram/zram_drv.c b/drivers/staging/zram/zram_drv.c
index ad5e907148b..1088ca45f4a 100644
--- a/drivers/staging/zram/zram_drv.c
+++ b/drivers/staging/zram/zram_drv.c
@@ -272,8 +272,6 @@ static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec, u32 index,
if (page_zero_filled(uncmem)) {
kunmap_atomic(user_mem);
- if (is_partial_io(bvec))
- kfree(uncmem);
zram->stats.pages_zero++;
zram_set_flag(meta, index, ZRAM_ZERO);
ret = 0;