Files
linux/net/sunrpc
Trond Myklebust 42b761f606 SUNRPC: Fix a use after free when a server rejects the RPCSEC_GSS credential
commit 7987b694ad upstream.

The addition of rpc_check_timeout() to call_decode causes an Oops
when the RPCSEC_GSS credential is rejected.
The reason is that rpc_decode_header() will call xprt_release() in
order to free task->tk_rqstp, which is needed by rpc_check_timeout()
to check whether or not we should exit due to a soft timeout.

The fix is to move the call to xprt_release() into call_decode() so
we can perform it after rpc_check_timeout().

Reported-by: Olga Kornievskaia <olga.kornievskaia@gmail.com>
Reported-by: Nick Bowler <nbowler@draconx.ca>
Fixes: cea57789e4 ("SUNRPC: Clean up")
Cc: stable@vger.kernel.org # v5.1+
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-11 12:19:15 +02:00
..
2014-07-12 18:45:49 -04:00
2018-12-19 13:52:46 -05:00
2018-07-31 12:53:40 -04:00
2018-07-31 12:53:40 -04:00
2019-02-13 13:14:35 -05:00
2012-04-15 12:44:40 -04:00
2019-02-14 10:13:49 -05:00