diff options
author | Raghavendra Gowdappa <rgowdapp@redhat.com> | 2019-02-13 17:08:14 +0530 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2019-02-22 14:50:00 +0000 |
commit | 3c1368fda17b71a95edf1f4fe102e15f64820e3e (patch) | |
tree | 871bba95ec691397d6ea88e9dc7fb182a1d31bd7 /glusterfsd/src/glusterfsd.c | |
parent | ceee95dbc3c80d52134ceaee22e17c9f1c861300 (diff) |
performance/write-behind: fix use-after-free in readdirp
Two issues were found:
1. in wb_readdirp_cbk, inode should unrefed after wb_inode is
unlocked. Otherwise, inode and hence the context wb_inode can be freed
by the type we try to unlock wb_inode
2. wb_readdirp_mark_end iterates over a list of wb_inodes of children
of a directory. But inodes could've been freed and hence the list
might be corrupted. To fix take a reference on inode before adding it
to invalidate_list of parent.
Change-Id: I911b0e0b2060f7f41ded0b05db11af6f9b7c09c5
Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
Updates: bz#1671556
Diffstat (limited to 'glusterfsd/src/glusterfsd.c')
0 files changed, 0 insertions, 0 deletions