OSDN Git Service

nfsd: Fix a soft lockup race in nfsd_file_mark_find_or_create()
authorTrond Myklebust <trondmy@gmail.com>
Mon, 6 Jan 2020 18:20:47 +0000 (13:20 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 22 Jan 2020 21:25:40 +0000 (16:25 -0500)
commit90d2f1da832fd23290ef0c0d964d97501e5e8553
treef268c330df953f234da0d75438c3802d20e0cc7b
parentb6669305d35a3459877afef6e9f68e81bef92972
nfsd: Fix a soft lockup race in nfsd_file_mark_find_or_create()

If nfsd_file_mark_find_or_create() keeps winning the race for the
nfsd_file_fsnotify_group->mark_mutex against nfsd_file_mark_put()
then it can soft lock up, since fsnotify_add_inode_mark() ends
up always finding an existing entry.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/filecache.c