mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-11 09:30:21 +00:00
ocfs2_get_dentry() calls iput(inode) to drop the reference count of inode, and if the reference count hits 0, inode is freed. However, in this function, it then reads inode->i_generation, which may result in a use after free bug. Move the put operation later. Link: http://lkml.kernel.org/r/1543109237-110227-1-git-send-email-bianpan2016@163.com Fixes: 781f200cb7a("ocfs2: Remove masklog ML_EXPORT.") Signed-off-by: Pan Bian <bianpan2016@163.com> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Mark Fasheh <mark@fasheh.com> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Cc: Joseph Qi <jiangqi903@gmail.com> Cc: Changwei Ge <ge.changwei@h3c.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|---|---|---|
| .. | ||
| cluster | ||
| dlm | ||
| dlmfs | ||
| acl.c | ||
| acl.h | ||
| alloc.c | ||
| alloc.h | ||
| aops.c | ||
| aops.h | ||
| blockcheck.c | ||
| blockcheck.h | ||
| buffer_head_io.c | ||
| buffer_head_io.h | ||
| dcache.c | ||
| dcache.h | ||
| dir.c | ||
| dir.h | ||
| dlmglue.c | ||
| dlmglue.h | ||
| export.c | ||
| export.h | ||
| extent_map.c | ||
| extent_map.h | ||
| file.c | ||
| file.h | ||
| filecheck.c | ||
| filecheck.h | ||
| heartbeat.c | ||
| heartbeat.h | ||
| inode.c | ||
| inode.h | ||
| ioctl.c | ||
| ioctl.h | ||
| journal.c | ||
| journal.h | ||
| Kconfig | ||
| localalloc.c | ||
| localalloc.h | ||
| locks.c | ||
| locks.h | ||
| Makefile | ||
| mmap.c | ||
| mmap.h | ||
| move_extents.c | ||
| move_extents.h | ||
| namei.c | ||
| namei.h | ||
| ocfs1_fs_compat.h | ||
| ocfs2_fs.h | ||
| ocfs2_ioctl.h | ||
| ocfs2_lockid.h | ||
| ocfs2_lockingver.h | ||
| ocfs2_trace.h | ||
| ocfs2.h | ||
| quota_global.c | ||
| quota_local.c | ||
| quota.h | ||
| refcounttree.c | ||
| refcounttree.h | ||
| reservations.c | ||
| reservations.h | ||
| resize.c | ||
| resize.h | ||
| slot_map.c | ||
| slot_map.h | ||
| stack_o2cb.c | ||
| stack_user.c | ||
| stackglue.c | ||
| stackglue.h | ||
| suballoc.c | ||
| suballoc.h | ||
| super.c | ||
| super.h | ||
| symlink.c | ||
| symlink.h | ||
| sysfile.c | ||
| sysfile.h | ||
| uptodate.c | ||
| uptodate.h | ||
| xattr.c | ||
| xattr.h | ||