All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5/9] rxrpc: Check address length before reading srx_service field
@ 2019-04-12 10:54 Tetsuo Handa
  2019-04-12 12:18 ` David Howells
  2019-04-12 17:25 ` David Miller
  0 siblings, 2 replies; 5+ messages in thread
From: Tetsuo Handa @ 2019-04-12 10:54 UTC (permalink / raw)
  To: David Howells; +Cc: David S. Miller, netdev, Tetsuo Handa

KMSAN will complain if valid address length passed to bind() is shorter
than sizeof(struct sockaddr_rxrpc) bytes.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
 net/rxrpc/af_rxrpc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c
index 96f2952bbdfd..c54dce3ca0dd 100644
--- a/net/rxrpc/af_rxrpc.c
+++ b/net/rxrpc/af_rxrpc.c
@@ -135,7 +135,7 @@ static int rxrpc_bind(struct socket *sock, struct sockaddr *saddr, int len)
 	struct sockaddr_rxrpc *srx = (struct sockaddr_rxrpc *)saddr;
 	struct rxrpc_local *local;
 	struct rxrpc_sock *rx = rxrpc_sk(sock->sk);
-	u16 service_id = srx->srx_service;
+	u16 service_id;
 	int ret;
 
 	_enter("%p,%p,%d", rx, saddr, len);
@@ -143,6 +143,7 @@ static int rxrpc_bind(struct socket *sock, struct sockaddr *saddr, int len)
 	ret = rxrpc_validate_address(rx, srx, len);
 	if (ret < 0)
 		goto error;
+	service_id = srx->srx_service;
 
 	lock_sock(&rx->sk);
 
-- 
2.16.5


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-04-12 17:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-12 10:54 [PATCH 5/9] rxrpc: Check address length before reading srx_service field Tetsuo Handa
2019-04-12 12:18 ` David Howells
2019-04-12 12:34   ` Tetsuo Handa
2019-04-12 15:40   ` David Howells
2019-04-12 17:25 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.