summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0070-pnfs-obj-don-t-leak-objio_state-if-ore_write-read-fa.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0070-pnfs-obj-don-t-leak-objio_state-if-ore_write-read-fa.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0070-pnfs-obj-don-t-leak-objio_state-if-ore_write-read-fa.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0070-pnfs-obj-don-t-leak-objio_state-if-ore_write-read-fa.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0070-pnfs-obj-don-t-leak-objio_state-if-ore_write-read-fa.patch
new file mode 100644
index 00000000..c1659cab
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0070-pnfs-obj-don-t-leak-objio_state-if-ore_write-read-fa.patch
@@ -0,0 +1,46 @@
1From 7b47a0e2114e8530614a25d7ec998fd52d069853 Mon Sep 17 00:00:00 2001
2From: Boaz Harrosh <bharrosh@panasas.com>
3Date: Fri, 8 Jun 2012 05:29:40 +0300
4Subject: [PATCH 070/109] pnfs-obj: don't leak objio_state if ore_write/read
5 fails
6
7commit 9909d45a8557455ca5f8ee7af0f253debc851f1a upstream.
8
9[Bug since 3.2 Kernel]
10Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
11Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
12---
13 fs/nfs/objlayout/objio_osd.c | 9 +++++++--
14 1 files changed, 7 insertions(+), 2 deletions(-)
15
16diff --git a/fs/nfs/objlayout/objio_osd.c b/fs/nfs/objlayout/objio_osd.c
17index 55d0128..0e7b3fc 100644
18--- a/fs/nfs/objlayout/objio_osd.c
19+++ b/fs/nfs/objlayout/objio_osd.c
20@@ -433,7 +433,10 @@ int objio_read_pagelist(struct nfs_read_data *rdata)
21 objios->ios->done = _read_done;
22 dprintk("%s: offset=0x%llx length=0x%x\n", __func__,
23 rdata->args.offset, rdata->args.count);
24- return ore_read(objios->ios);
25+ ret = ore_read(objios->ios);
26+ if (unlikely(ret))
27+ objio_free_result(&objios->oir);
28+ return ret;
29 }
30
31 /*
32@@ -517,8 +520,10 @@ int objio_write_pagelist(struct nfs_write_data *wdata, int how)
33 dprintk("%s: offset=0x%llx length=0x%x\n", __func__,
34 wdata->args.offset, wdata->args.count);
35 ret = ore_write(objios->ios);
36- if (unlikely(ret))
37+ if (unlikely(ret)) {
38+ objio_free_result(&objios->oir);
39 return ret;
40+ }
41
42 if (objios->sync)
43 _write_done(objios->ios, objios);
44--
451.7.7.6
46