Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4552c2d authored by David Howells's avatar David Howells
Browse files

rxrpc: Validate the net address given to rxrpc_kernel_begin_call()



Validate the net address given to rxrpc_kernel_begin_call() before using
it.

Whilst this should be mostly unnecessary for in-kernel users, it does clear
the tail of the address struct in case we want to hash or compare the whole
thing.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 4a3388c8
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -280,9 +280,14 @@ struct rxrpc_call *rxrpc_kernel_begin_call(struct socket *sock,
	struct rxrpc_transport *trans;
	struct rxrpc_call *call;
	struct rxrpc_sock *rx = rxrpc_sk(sock->sk);
	int ret;

	_enter(",,%x,%lx", key_serial(key), user_call_ID);

	ret = rxrpc_validate_address(rx, srx, sizeof(*srx));
	if (ret < 0)
		return ERR_PTR(ret);

	lock_sock(&rx->sk);

	if (!key)