diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index 8a30cd8..072b28b 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -240,10 +240,10 @@ static int rawv6_bind(struct sock *sk, s */ v4addr = LOOPBACK4_IPV6; if (!(addr_type & IPV6_ADDR_MULTICAST)) { - err = -EADDRNOTAVAIL; if (!ipv6_chk_addr(&addr->sin6_addr, dev, 0)) { if (dev) dev_put(dev); + err = -EADDRNOTAVAIL; goto out; } }