projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c277331
)
exofs: Fix bio leak in error handling path (sync read)
author
Boaz Harrosh
<bharrosh@panasas.com>
Mon, 8 Jun 2009 16:28:41 +0000
(19:28 +0300)
committer
Boaz Harrosh
<bharrosh@panasas.com>
Sun, 21 Jun 2009 14:53:44 +0000
(17:53 +0300)
When failing a read request in the sync path, called from
write_begin, I forgot to free the allocated bio, fix it.
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
fs/exofs/inode.c
patch
|
blob
|
history
diff --git
a/fs/exofs/inode.c
b/fs/exofs/inode.c
index 77d0a295eb1cd3e95443da014fc9801cf64f5aff..bb5d6ed0f7a85905f97f2ff846fe563ed3cb2f37 100644
(file)
--- a/
fs/exofs/inode.c
+++ b/
fs/exofs/inode.c
@@
-295,6
+295,9
@@
static int read_exec(struct page_collect *pcol, bool is_sync)
err:
if (!is_sync)
_unlock_pcol_pages(pcol, ret, READ);
+ else /* Pages unlocked by caller in sync mode only free bio */
+ pcol_free(pcol);
+
kfree(pcol_copy);
if (or)
osd_end_request(or);