From ca2619d25cf0b03b57d45b433cef429321c935f1 Mon Sep 17 00:00:00 2001 From: Liu Jian Date: Thu, 19 Dec 2024 12:26:32 +0800 Subject: [PATCH] sunrpc: clear XPRT_SOCK_UPD_TIMEOUT when reset transport mainline inclusion from mainline-v6.13-rc1 commit 4db9ad82a6c823094da27de4825af693a3475d51 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IB4JBR CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4db9ad82a6c823094da27de4825af693a3475d51 ------------------------------------------------- Since transport->sock has been set to NULL during reset transport, XPRT_SOCK_UPD_TIMEOUT also needs to be cleared. Otherwise, the xs_tcp_set_socket_timeouts() may be triggered in xs_tcp_send_request() to dereference the transport->sock that has been set to NULL. Fixes: 7196dbb02ea0 ("SUNRPC: Allow changing of the TCP timeout parameters on the fly") Signed-off-by: Li Lingfeng Signed-off-by: Liu Jian Signed-off-by: Trond Myklebust Conflicts: net/sunrpc/xprtsock.c [Did not backport 4f8943f808834.] Signed-off-by: Liu Jian --- net/sunrpc/xprtsock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 13e0e7aad6bb..b31e489d86bb 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -799,6 +799,7 @@ static void xs_sock_reset_state_flags(struct rpc_xprt *xprt) struct sock_xprt *transport = container_of(xprt, struct sock_xprt, xprt); clear_bit(XPRT_SOCK_DATA_READY, &transport->sock_state); + clear_bit(XPRT_SOCK_UPD_TIMEOUT, &transport->sock_state); } static void xs_sock_reset_connection_flags(struct rpc_xprt *xprt) -- Gitee