linux/net/sunrpc
J. Bruce Fields 2ba5acfb34 SUNRPC: fix sign error causing rpcsec_gss drops
If sd_max is unsigned, then sd_max - GSS_SEQ_WIN is a very large number
whenever sd_max is less than GSS_SEQ_WIN, and the comparison:

	seq_num <= sd->sd_max - GSS_SEQ_WIN

in gss_check_seq_num is pretty much always true, even when that's
clearly not what was intended.

This was causing pynfs to hang when using krb5, because pynfs uses zero
as the initial gss sequence number.  That's perfectly legal, but this
logic error causes knfsd to drop the rpc in that case.  Out-of-order
sequence IDs in the first GSS_SEQ_WIN (128) calls will also cause this.

Fixes: 10b9d99a3d ("SUNRPC: Augment server-side rpcgss tracepoints")
Cc: stable@vger.kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2021-10-01 11:17:42 -04:00
..
auth_gss SUNRPC: fix sign error causing rpcsec_gss drops 2021-10-01 11:17:42 -04:00
xprtrdma svcrdma: xpt_bc_xprt is already clear in __svc_rdma_free() 2021-08-19 08:29:32 -04:00
addr.c net: sunrpc: interpret the return value of kstrtou32 correctly 2021-01-10 13:32:51 -05:00
auth_null.c
auth_unix.c
auth.c sunrpc: add missing newline when printing parameter 'auth_hashtable_size' by sysfs 2020-06-11 13:33:48 -04:00
backchannel_rqst.c The one new feature this time, from Anna Schumaker, is READ_PLUS, which 2020-10-22 09:44:27 -07:00
cache.c SUNRPC: improve error response to over-size gss credential 2021-09-03 13:38:11 -04:00
clnt.c sunrpc: remove an offlined xprt using sysfs 2021-07-08 14:03:24 -04:00
debugfs.c SUNRPC: Server-side disconnect injection 2021-08-20 13:50:33 -04:00
fail.h SUNRPC: Server-side disconnect injection 2021-08-20 13:50:33 -04:00
Kconfig SUNRPC: remove RC4-HMAC-MD5 support from KerberosV 2020-09-11 14:39:15 +10:00
Makefile sunrpc: Create a sunrpc directory under /sys/kernel/ 2021-07-08 14:03:23 -04:00
netns.h
rpc_pipe.c SUNRPC: Fix fall-through warnings for Clang 2021-02-01 13:32:32 -05:00
rpcb_clnt.c sunrpc: honor rpc_task's timeout value in rpcb_create() 2021-04-05 09:04:21 -04:00
sched.c SUNRPC: Should wake up the privileged task firstly. 2021-06-28 09:34:39 -04:00
socklib.c skb_copy_and_csum_bits(): don't bother with the last argument 2020-08-20 15:45:13 -04:00
socklib.h SUNRPC: Refactor xs_sendpages() 2020-03-16 12:04:33 -04:00
stats.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
sunrpc_syms.c sunrpc: add IDs to multipath 2021-07-08 14:03:23 -04:00
sunrpc.h Replace HTTP links with HTTPS ones: NFS, SUNRPC, and LOCKD clients 2020-09-21 10:21:10 -04:00
svc_xprt.c SUNRPC: don't pause on incomplete allocation 2021-09-01 11:05:07 -04:00
svc.c SUNRPC: Server-side disconnect injection 2021-08-20 13:50:33 -04:00
svcauth_unix.c sunrpc: Remove unused function ip_map_lookup 2021-04-06 11:24:31 -04:00
svcauth.c sunrpc: check that domain table is empty at module unload. 2020-05-28 18:15:00 -04:00
svcsock.c SUNRPC: fix ternary sign expansion bug in tracing 2021-04-22 11:02:28 -04:00
sysctl.c net/sunrpc: fix useless comparison in proc_do_xprt() 2020-11-08 16:28:25 -05:00
sysfs.c sunrpc: remove an offlined xprt using sysfs 2021-07-08 14:03:24 -04:00
sysfs.h SUNRPC: take a xprt offline using sysfs 2021-07-08 14:03:24 -04:00
timer.c
xdr.c sunrpc: Avoid a KASAN slab-out-of-bounds bug in xdr_set_page_base() 2021-06-13 19:36:49 -04:00
xprt.c SUNRPC: Move client-side disconnect injection 2021-08-20 13:50:32 -04:00
xprtmultipath.c NFS client updates for Linux 5.14 2021-07-09 09:43:57 -07:00
xprtsock.c Merge part 2 of branch 'sysfs-devel' 2021-07-08 14:03:26 -04:00