ipv6: addrconf_f6i_alloc - fix non-null pointer check to !IS_ERR()
authorMaciej Żenczykowski <maze@google.com>
Fri, 6 Sep 2019 03:56:37 +0000 (20:56 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 7 Sep 2019 15:46:44 +0000 (17:46 +0200)
Fixes a stupid bug I recently introduced...
ip6_route_info_create() returns an ERR_PTR(err) and not a NULL on error.

Fixes: d55a2e374a94 ("net-ipv6: fix excessive RTF_ADDRCONF flag on ::1/128 local route (and others)'")
Cc: David Ahern <dsahern@gmail.com>
Cc: Lorenzo Colitti <lorenzo@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c

index 85bcd97f7a72f7fac78ad04a21aa2f6ffd1b38eb..546088e50815158a81ebe953a3a1ec820243c367 100644 (file)
@@ -4406,7 +4406,7 @@ struct fib6_info *addrconf_f6i_alloc(struct net *net,
        }
 
        f6i = ip6_route_info_create(&cfg, gfp_flags, NULL);
-       if (f6i)
+       if (!IS_ERR(f6i))
                f6i->dst_nocount = true;
        return f6i;
 }