aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/exofs/inode.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c
index b56181047751..1634b946565f 100644
--- a/fs/exofs/inode.c
+++ b/fs/exofs/inode.c
@@ -676,8 +676,10 @@ static int write_exec(struct page_collect *pcol)
676 return 0; 676 return 0;
677 677
678err: 678err:
679 _unlock_pcol_pages(pcol, ret, WRITE); 679 if (!pcol_copy) /* Failed before ownership transfer */
680 pcol_free(pcol); 680 pcol_copy = pcol;
681 _unlock_pcol_pages(pcol_copy, ret, WRITE);
682 pcol_free(pcol_copy);
681 kfree(pcol_copy); 683 kfree(pcol_copy);
682 684
683 return ret; 685 return ret;