In the failure path in jffs2_do_crccheck_inode() the lock isn't released before returning.
This probably won't cause real bug, because the structure that contains the lock is freed in this case. Signed-off-by: Li Zefan <[email protected]> --- fs/jffs2/readinode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/jffs2/readinode.c b/fs/jffs2/readinode.c index ae81b01..55cf63d 100644 --- a/fs/jffs2/readinode.c +++ b/fs/jffs2/readinode.c @@ -1425,7 +1425,8 @@ int jffs2_do_crccheck_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *i jffs2_do_clear_inode(c, f); } jffs2_xattr_do_crccheck_inode(c, ic); - kfree (f); + mutex_unlock(&f->sem); + kfree(f); return ret; } -- 1.8.0.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

