[PATCH v3 0/3] fsnotify: fix softlockups iterating over d_subdirs

Stephen Brennan
2022-10-28T00:10:38Z

Hi all,

Here is v3 of the patch series. I've taken all of the feedback,
thanks Amir, Christian, Hilf, et al. Differences are noted in each
patch.

I caught an obvious and silly dentry reference leak: d_find_any_alias()
returns a reference, which I never called dput() on. With that change, I
no longer see the rpc_pipefs issue, but I do think I need more testing
and thinking through the third patch. Al, I'd love your feedback on that
one especially.

Thanks,
Stephen

Stephen Brennan (3):
fsnotify: Use d_find_any_alias to get dentry associated with inode
fsnotify: Protect i_fsnotify_mask and child flags with inode rwsem
fsnotify: allow sleepable child flag update

fs/notify/fsnotify.c | 115 +++++++++++++++++++++-------
fs/notify/fsnotify.h | 13 +++-
fs/notify/mark.c | 124 ++++++++++++++++++++-----------
include/linux/fsnotify_backend.h | 1 +
4 files changed, 185 insertions(+), 68 deletions(-)

--
2.34.1