Unverified Commit 02951cea authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!14240 sunrpc: fix one UAF issue caused by sunrpc kernel tcp socket

parents 82be4889 15f7dd41
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1555,6 +1555,11 @@ static struct svc_xprt *svc_create_socket(struct svc_serv *serv,
	newlen = error;

	if (protocol == IPPROTO_TCP) {
		sock->sk->sk_net_refcnt = 1;
		get_net(net);
#ifdef CONFIG_PROC_FS
		this_cpu_add(*net->core.sock_inuse, 1);
#endif
		if ((error = kernel_listen(sock, 64)) < 0)
			goto bummer;
	}
+8 −0
Original line number Diff line number Diff line
@@ -2005,6 +2005,14 @@ static struct socket *xs_create_sock(struct rpc_xprt *xprt,
		goto out;
	}

	if (protocol == IPPROTO_TCP) {
		sock->sk->sk_net_refcnt = 1;
		get_net(xprt->xprt_net);
#ifdef CONFIG_PROC_FS
		this_cpu_add(*xprt->xprt_net->core.sock_inuse, 1);
#endif
	}

	return sock;
out:
	return ERR_PTR(err);