--- linux-2.6.30.5/net/ipv6/af_inet6.c_ 2009-06-09 20:05:27.000000000 -0700 +++ linux-2.6.30.5/net/ipv6/af_inet6.c 2009-08-27 08:05:37.000000000 -0700 @@ -294,8 +294,10 @@ v4addr != htonl(INADDR_ANY) && chk_addr_ret != RTN_LOCAL && chk_addr_ret != RTN_MULTICAST && - chk_addr_ret != RTN_BROADCAST) + chk_addr_ret != RTN_BROADCAST) { + err = -EADDRNOTAVAIL; goto out; + } } else { if (addr_type != IPV6_ADDR_ANY) { struct net_device *dev = NULL;