diff options
author | Ingo Molnar <mingo@kernel.org> | 2019-02-28 09:50:39 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2019-02-28 09:50:39 +0300 |
commit | 0614621d89c43ea5b28456c2baf6b0c0e00ca81e (patch) | |
tree | 2dff833e972bdb65d30cb317985a0d41d2c40f0e /net/ipv4/udp.c | |
parent | 0cf264b3133dce56a60ca8b4335d1f76fe26870a (diff) | |
parent | 7d762d69145a54d169f58e56d6dac57a5508debc (diff) | |
download | linux-0614621d89c43ea5b28456c2baf6b0c0e00ca81e.tar.xz |
Merge branch 'linus' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/ipv4/udp.c')
-rw-r--r-- | net/ipv4/udp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 5c3cd5d84a6f..372fdc5381a9 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -562,10 +562,12 @@ static int __udp4_lib_err_encap_no_sk(struct sk_buff *skb, u32 info) for (i = 0; i < MAX_IPTUN_ENCAP_OPS; i++) { int (*handler)(struct sk_buff *skb, u32 info); + const struct ip_tunnel_encap_ops *encap; - if (!iptun_encaps[i]) + encap = rcu_dereference(iptun_encaps[i]); + if (!encap) continue; - handler = rcu_dereference(iptun_encaps[i]->err_handler); + handler = encap->err_handler; if (handler && !handler(skb, info)) return 0; } |