inet: Fix missing return value in inet6_hash
As part of a series to implement faster SO_REUSEPORT lookups, commit086c653f58
("sock: struct proto hash function may error") added return values to protocol hash functions and commit496611d7b5
("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:496611d7b5
("inet: create IPv6-equivalent inet_hash function") Reported-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: Craig Gallek <kraig@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
58a86c4586
commit
e4cabca549
@ -264,13 +264,15 @@ EXPORT_SYMBOL_GPL(inet6_hash_connect);
|
|||||||
|
|
||||||
int inet6_hash(struct sock *sk)
|
int inet6_hash(struct sock *sk)
|
||||||
{
|
{
|
||||||
|
int err = 0;
|
||||||
|
|
||||||
if (sk->sk_state != TCP_CLOSE) {
|
if (sk->sk_state != TCP_CLOSE) {
|
||||||
local_bh_disable();
|
local_bh_disable();
|
||||||
__inet_hash(sk, NULL, ipv6_rcv_saddr_equal);
|
err = __inet_hash(sk, NULL, ipv6_rcv_saddr_equal);
|
||||||
local_bh_enable();
|
local_bh_enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return err;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(inet6_hash);
|
EXPORT_SYMBOL_GPL(inet6_hash);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user