[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1477433329-165391-1-git-send-email-kraigatgoog@gmail.com>
Date: Tue, 25 Oct 2016 18:08:49 -0400
From: Craig Gallek <kraigatgoog@...il.com>
To: David Miller <davem@...emloft.net>
Cc: Soheil Hassas Yeganeh <soheil@...gle.com>, netdev@...r.kernel.org
Subject: [PATCH net] inet: Fix missing return value in inet6_hash
From: Craig Gallek <kraig@...gle.com>
As part of a series to implement faster SO_REUSEPORT lookups,
commit 086c653f5862 ("sock: struct proto hash function may error")
added return values to protocol hash functions and
commit 496611d7b5ea ("inet: create IPv6-equivalent inet_hash function")
implemented a new hash function for IPv6. However, the latter does
not respect the former's convention.
This properly propagates the hash errors in the IPv6 case.
Fixes: 496611d7b5ea ("inet: create IPv6-equivalent inet_hash function")
Reported-by: Soheil Hassas Yeganeh <soheil@...gle.com>
Signed-off-by: Craig Gallek <kraig@...gle.com>
---
net/ipv6/inet6_hashtables.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c
index 2fd0374a35b1..02761c9fe43e 100644
--- a/net/ipv6/inet6_hashtables.c
+++ b/net/ipv6/inet6_hashtables.c
@@ -264,13 +264,15 @@ EXPORT_SYMBOL_GPL(inet6_hash_connect);
int inet6_hash(struct sock *sk)
{
+ int err = 0;
+
if (sk->sk_state != TCP_CLOSE) {
local_bh_disable();
- __inet_hash(sk, NULL, ipv6_rcv_saddr_equal);
+ err = __inet_hash(sk, NULL, ipv6_rcv_saddr_equal);
local_bh_enable();
}
- return 0;
+ return err;
}
EXPORT_SYMBOL_GPL(inet6_hash);
--
2.8.0.rc3.226.g39d4020
Powered by blists - more mailing lists