summaryrefslogtreecommitdiff
path: root/net/rxrpc/peer_object.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-06-17 12:55:22 +0300
committerDavid Howells <dhowells@redhat.com>2016-06-22 11:09:58 +0300
commit2f9f9f5210887b1019fbd0327ffdf7c3aff271fd (patch)
tree4e89c3d2c840cb134048b85f7531da716d806812 /net/rxrpc/peer_object.c
parent0e4699e4a37be4cfa07f0340cef6a3fa6a46f5f8 (diff)
downloadlinux-2f9f9f5210887b1019fbd0327ffdf7c3aff271fd.tar.xz
rxrpc: fix uninitialized variable use
Hashing the peer key was introduced for AF_INET, but gcc warns about the rxrpc_peer_hash_key function returning uninitialized data for any other value of srx->transport.family: net/rxrpc/peer_object.c: In function 'rxrpc_peer_hash_key': net/rxrpc/peer_object.c:57:15: error: 'p' may be used uninitialized in this function [-Werror=maybe-uninitialized] Assuming that nothing else can be set here, this changes the function to just return zero in case of an unknown address family. Fixes: be6e6707f6ee ("rxrpc: Rework peer object handling to use hash table and RCU") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/peer_object.c')
-rw-r--r--net/rxrpc/peer_object.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/rxrpc/peer_object.c b/net/rxrpc/peer_object.c
index faf222c21698..6baad708f3b1 100644
--- a/net/rxrpc/peer_object.c
+++ b/net/rxrpc/peer_object.c
@@ -50,6 +50,9 @@ static unsigned long rxrpc_peer_hash_key(struct rxrpc_local *local,
size = sizeof(srx->transport.sin.sin_addr);
p = (u16 *)&srx->transport.sin.sin_addr;
break;
+ default:
+ WARN(1, "AF_RXRPC: Unsupported transport address family\n");
+ return 0;
}
/* Step through the peer address in 16-bit portions for speed */