kernel_samsung_a53x/fs/nfs
J. Bruce Fields 3067c512b5 nfs: don't atempt blocking locks on nfs reexports
[ Upstream commit f657f8eef3ff870552c9fd2839e0061046f44618 ]

NFS implements blocking locks by blocking inside its lock method.  In
the reexport case, this blocks the nfs server thread, which could lead
to deadlocks since an nfs server thread might be required to unlock the
conflicting lock.  It also causes a crash, since the nfs server thread
assumes it can free the lock when its lm_notify lock callback is called.

Ideal would be to make the nfs lock method return without blocking in
this case, but for now it works just not to attempt blocking locks.  The
difference is just that the original client will have to poll (as it
does in the v4.0 case) instead of getting a callback when the lock's
available.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Acked-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 12:27:44 +01:00
..
blocklayout SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
filelayout SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
flexfilelayout SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
cache_lib.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cache_lib.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
callback.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
callback.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
callback_proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
callback_xdr.c SUNRPC: Make trace_svc_process() display the RPC procedure symbolically 2024-11-19 12:27:28 +01:00
client.c nfs: make the rpc_stat per net namespace 2024-11-19 11:32:41 +01:00
delegation.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
delegation.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dir.c SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
direct.c nfs: fix UAF in direct writes 2024-11-19 09:22:34 +01:00
dns_resolve.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dns_resolve.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
export.c nfs: don't atempt blocking locks on nfs reexports 2024-11-19 12:27:44 +01:00
file.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fs_context.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fscache-index.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fscache.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fscache.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
getroot.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
inode.c nfs: Handle error of rpc_proc_register() in nfs_net_init(). 2024-11-19 11:32:41 +01:00
internal.h nfs: fix undefined behavior in nfs_block_bits() 2024-11-19 12:27:19 +01:00
io.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
iostat.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mount_clnt.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
namespace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
netns.h nfs: make the rpc_stat per net namespace 2024-11-19 11:32:41 +01:00
nfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs2super.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs2xdr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3_fs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3acl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3client.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3super.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3xdr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4_fs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4client.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4file.c NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code. 2024-11-19 12:27:37 +01:00
nfs4getroot.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4idmap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4idmap.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4namespace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4proc.c NFS: Fix READ_PLUS when server doesn't support OP_READ_PLUS 2024-11-19 12:27:19 +01:00
nfs4renewd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4session.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4session.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4state.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4super.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4sysctl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4trace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4xdr.c SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
nfs42.h NFSv4.2: fix listxattr maximum XDR buffer size 2024-11-19 08:44:57 +01:00
nfs42proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs42xattr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs42xdr.c SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
nfsroot.c NFS: Fix an off by one in root_nfs_cat() 2024-11-19 08:44:57 +01:00
nfstrace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfstrace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pagelist.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pnfs.c pNFS: Fix a hang in nfs4_evict_inode() 2024-11-08 11:26:19 +01:00
pnfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pnfs_dev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pnfs_nfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
read.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
super.c NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code. 2024-11-19 12:27:37 +01:00
symlink.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysctl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
unlink.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
write.c nfs: fix UAF in direct writes 2024-11-19 09:22:34 +01:00