diff options
author | Craig Gallek <kraig@google.com> | 2016-02-10 11:50:35 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-11 03:54:14 -0500 |
commit | 086c653f5862591a9cfe2386f5650d03adacc33a (patch) | |
tree | c0aba9d55ae1740be1c7fbbbc30f30e68862e071 /net/ipv4/raw.c | |
parent | 30c1de08dda9202699c1ddc7fd658693faf93bf2 (diff) | |
download | linux-stable-086c653f5862591a9cfe2386f5650d03adacc33a.tar.gz linux-stable-086c653f5862591a9cfe2386f5650d03adacc33a.tar.bz2 linux-stable-086c653f5862591a9cfe2386f5650d03adacc33a.zip |
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>
Diffstat (limited to 'net/ipv4/raw.c')
-rw-r--r-- | net/ipv4/raw.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index bc35f1842512..d6352515d738 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c @@ -93,7 +93,7 @@ static struct raw_hashinfo raw_v4_hashinfo = { .lock = __RW_LOCK_UNLOCKED(raw_v4_hashinfo.lock), }; -void raw_hash_sk(struct sock *sk) +int raw_hash_sk(struct sock *sk) { struct raw_hashinfo *h = sk->sk_prot->h.raw_hash; struct hlist_head *head; @@ -104,6 +104,8 @@ void raw_hash_sk(struct sock *sk) sk_add_node(sk, head); sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1); write_unlock_bh(&h->lock); + + return 0; } EXPORT_SYMBOL_GPL(raw_hash_sk); |