summaryrefslogtreecommitdiffstats
path: root/crypto/khazad.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2024-08-29 01:06:28 +0200
committerChuck Lever <chuck.lever@oracle.com>2024-08-30 16:48:29 +0200
commit40927f3d0972bf86357a32a5749be71a551241b6 (patch)
treea3976040195a7c51a63109716348d3709e6da840 /crypto/khazad.c
parentfs/nfsd: fix update of inode attrs in CB_GETATTR (diff)
downloadlinux-40927f3d0972bf86357a32a5749be71a551241b6.tar.xz
linux-40927f3d0972bf86357a32a5749be71a551241b6.zip
nfsd: fix nfsd4_deleg_getattr_conflict in presence of third party lease
It is not safe to dereference fl->c.flc_owner without first confirming fl->fl_lmops is the expected manager. nfsd4_deleg_getattr_conflict() tests fl_lmops but largely ignores the result and assumes that flc_owner is an nfs4_delegation anyway. This is wrong. With this patch we restore the "!= &nfsd_lease_mng_ops" case to behave as it did before the change mentioned below. This is the same as the current code, but without any reference to a possible delegation. Fixes: c5967721e106 ("NFSD: handle GETATTR conflict with write delegation") Signed-off-by: NeilBrown <neilb@suse.de> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'crypto/khazad.c')
0 files changed, 0 insertions, 0 deletions