From: Boaz Harrosh Date: Mon, 8 Jun 2009 16:28:41 +0000 (+0300) Subject: exofs: Fix bio leak in error handling path (sync read) X-Git-Tag: firefly_0821_release~13430^2~5 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b76a3f93d01fc93a87cb6eba4e854ffe378b4bac;p=firefly-linux-kernel-4.4.55.git exofs: Fix bio leak in error handling path (sync read) 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 --- diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c index 77d0a295eb1c..bb5d6ed0f7a8 100644 --- 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);