X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=fs%2Fefs%2Fsymlink.c;h=41911ec83aafcb1d42d3af9e7c98b33cc37b20de;hb=8e7d91c97570ba1a16c0b4f984c04f04f039a231;hp=e249cf733a6bdb9b728b664a9910dff59edb8101;hpb=fffcb480e4224f25c965b93fa65541bfc7dd732e;p=linux-2.6-omap-h63xx.git diff --git a/fs/efs/symlink.c b/fs/efs/symlink.c index e249cf733a6..41911ec83aa 100644 --- a/fs/efs/symlink.c +++ b/fs/efs/symlink.c @@ -7,10 +7,10 @@ */ #include -#include #include #include #include +#include "efs.h" static int efs_symlink_readpage(struct file *file, struct page *page) { @@ -22,7 +22,7 @@ static int efs_symlink_readpage(struct file *file, struct page *page) err = -ENAMETOOLONG; if (size > 2 * EFS_BLOCKSIZE) - goto fail; + goto fail_notlocked; lock_kernel(); /* read first 512 bytes of link target */ @@ -47,6 +47,7 @@ static int efs_symlink_readpage(struct file *file, struct page *page) return 0; fail: unlock_kernel(); +fail_notlocked: SetPageError(page); kunmap(page); unlock_page(page);