From: Chuck Lever <chuck.lever@xxxxxxxxxx> On Wed, 25 Dec 2024 14:59:04 +0800, Yang Erkun wrote: > After f8c989a0c89a ("nfsd: release svc_expkey/svc_export with > rcu_work"), svc_export_put/expkey_put will call path_put with async > mode. This can lead some unexpected failure: > > mkdir /mnt/sda > mkfs.xfs -f /dev/sda > echo "/ *(rw,no_root_squash,fsid=0)" > /etc/exports > echo "/mnt *(rw,no_root_squash,fsid=1)" >> /etc/exports > exportfs -ra > service nfs-server start > mount -t nfs -o vers=4.0 127.0.0.1:/mnt /mnt1 > mount /dev/sda /mnt/sda > touch /mnt1/sda/file > exportfs -r > umount /mnt/sda # failed unexcepted > > [...] Applied to nfsd-testing, thanks! [1/4] SUNRPC: introduce cache_check_rcu to help check in rcu context commit: 2f55dbe4e2072c9e99298c6f37473778a98c9107 [2/4] nfsd: no need get cache ref when protected by rcu commit: c224edca7af028828e2ad866b61d731b5e72b46d [3/4] SUNRPC: no need get cache ref when protected by rcu commit: 1b10f0b603c066d81327c163a23c19f01e112366 [4/4] nfsd: fix UAF when access ex_uuid or ex_stats commit: 2530766492ec7726582bcde44575ec3ff7487cd2 -- Chuck Lever