sock: struct proto hash function may error
In order to support fast reuseport lookups in TCP, the hash function defined in struct proto must be capable of returning an error code. This patch changes the function signature of all related hash functions to return an integer and handles or propagates this return value at all call sites. Signed-off-by: Craig Gallek <kraig@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

orang tua
30c1de08dd
melakukan
086c653f58
@@ -140,13 +140,15 @@ void pn_deliver_sock_broadcast(struct net *net, struct sk_buff *skb)
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
void pn_sock_hash(struct sock *sk)
|
||||
int pn_sock_hash(struct sock *sk)
|
||||
{
|
||||
struct hlist_head *hlist = pn_hash_list(pn_sk(sk)->sobject);
|
||||
|
||||
mutex_lock(&pnsocks.lock);
|
||||
sk_add_node_rcu(sk, hlist);
|
||||
mutex_unlock(&pnsocks.lock);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(pn_sock_hash);
|
||||
|
||||
@@ -200,7 +202,7 @@ static int pn_socket_bind(struct socket *sock, struct sockaddr *addr, int len)
|
||||
pn->resource = spn->spn_resource;
|
||||
|
||||
/* Enable RX on the socket */
|
||||
sk->sk_prot->hash(sk);
|
||||
err = sk->sk_prot->hash(sk);
|
||||
out_port:
|
||||
mutex_unlock(&port_mutex);
|
||||
out:
|
||||
|
Reference in New Issue
Block a user