]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/netfilter/nf_nat_redirect.c
Merge tag 'docs-5.6-2' of git://git.lwn.net/linux
[linux.git] / net / netfilter / nf_nat_redirect.c
index 4ffe5e5e65ba552f85a07c5ae16549094f2a4728..f91579c821e9abf4981c5bf6a59ff560a1aa0347 100644 (file)
@@ -44,15 +44,17 @@ nf_nat_redirect_ipv4(struct sk_buff *skb,
        if (hooknum == NF_INET_LOCAL_OUT) {
                newdst = htonl(0x7F000001);
        } else {
-               struct in_device *indev;
-               struct in_ifaddr *ifa;
+               const struct in_device *indev;
 
                newdst = 0;
 
                indev = __in_dev_get_rcu(skb->dev);
-               if (indev && indev->ifa_list) {
-                       ifa = indev->ifa_list;
-                       newdst = ifa->ifa_local;
+               if (indev) {
+                       const struct in_ifaddr *ifa;
+
+                       ifa = rcu_dereference(indev->ifa_list);
+                       if (ifa)
+                               newdst = ifa->ifa_local;
                }
 
                if (!newdst)