diff options
author | David S. Miller <davem@davemloft.net> | 2011-12-03 18:02:47 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-12-03 18:02:47 -0500 |
commit | 3830847396fa6d7f9a5fec0ca9819c47ac8a64e8 (patch) | |
tree | cd0ee7f142b193513416e7dc1adb1e0fb28321e8 /net | |
parent | 507c9b1e0702db4fb6c25135019158d1201f4de7 (diff) |
ipv6: Various cleanups in route.c
1) x == NULL --> !x
2) x != NULL --> x
3) (x&BIT) --> (x & BIT)
4) (BIT1|BIT2) --> (BIT1 | BIT2)
5) proper argument and struct member alignment
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/route.c | 95 |
1 files changed, 48 insertions, 47 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 0e381bb94683..897a13f7c6b1 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -247,9 +247,9 @@ static inline struct rt6_info *ip6_dst_alloc(struct dst_ops *ops, | |||
247 | { | 247 | { |
248 | struct rt6_info *rt = dst_alloc(ops, dev, 0, 0, flags); | 248 | struct rt6_info *rt = dst_alloc(ops, dev, 0, 0, flags); |
249 | 249 | ||
250 | if (rt != NULL) | 250 | if (rt) |
251 | memset(&rt->rt6i_table, 0, | 251 | memset(&rt->rt6i_table, 0, |
252 | sizeof(*rt) - sizeof(struct dst_entry)); | 252 | sizeof(*rt) - sizeof(struct dst_entry)); |
253 | 253 | ||
254 | return rt; | 254 | return rt; |
255 | } | 255 | } |
@@ -263,7 +263,7 @@ static void ip6_dst_destroy(struct dst_entry *dst) | |||
263 | if (!(rt->dst.flags & DST_HOST)) | 263 | if (!(rt->dst.flags & DST_HOST)) |
264 | dst_destroy_metrics_generic(dst); | 264 | dst_destroy_metrics_generic(dst); |
265 | 265 | ||
266 | if (idev != NULL) { | 266 | if (idev) { |
267 | rt->rt6i_idev = NULL; | 267 | rt->rt6i_idev = NULL; |
268 | in6_dev_put(idev); | 268 | in6_dev_put(idev); |
269 | } | 269 | } |
@@ -299,10 +299,10 @@ static void ip6_dst_ifdown(struct dst_entry *dst, struct net_device *dev, | |||
299 | struct net_device *loopback_dev = | 299 | struct net_device *loopback_dev = |
300 | dev_net(dev)->loopback_dev; | 300 | dev_net(dev)->loopback_dev; |
301 | 301 | ||
302 | if (dev != loopback_dev && idev != NULL && idev->dev == dev) { | 302 | if (dev != loopback_dev && idev && idev->dev == dev) { |
303 | struct inet6_dev *loopback_idev = | 303 | struct inet6_dev *loopback_idev = |
304 | in6_dev_get(loopback_dev); | 304 | in6_dev_get(loopback_dev); |
305 | if (loopback_idev != NULL) { | 305 | if (loopback_idev) { |
306 | rt->rt6i_idev = loopback_idev; | 306 | rt->rt6i_idev = loopback_idev; |
307 | in6_dev_put(idev); | 307 | in6_dev_put(idev); |
308 | } | 308 | } |
@@ -344,7 +344,7 @@ static inline struct rt6_info *rt6_device_match(struct net *net, | |||
344 | if (dev->ifindex == oif) | 344 | if (dev->ifindex == oif) |
345 | return sprt; | 345 | return sprt; |
346 | if (dev->flags & IFF_LOOPBACK) { | 346 | if (dev->flags & IFF_LOOPBACK) { |
347 | if (sprt->rt6i_idev == NULL || | 347 | if (!sprt->rt6i_idev || |
348 | sprt->rt6i_idev->dev->ifindex != oif) { | 348 | sprt->rt6i_idev->dev->ifindex != oif) { |
349 | if (flags & RT6_LOOKUP_F_IFACE && oif) | 349 | if (flags & RT6_LOOKUP_F_IFACE && oif) |
350 | continue; | 350 | continue; |
@@ -636,7 +636,7 @@ do { \ | |||
636 | goto restart; \ | 636 | goto restart; \ |
637 | } \ | 637 | } \ |
638 | } \ | 638 | } \ |
639 | } while(0) | 639 | } while (0) |
640 | 640 | ||
641 | static struct rt6_info *ip6_pol_route_lookup(struct net *net, | 641 | static struct rt6_info *ip6_pol_route_lookup(struct net *net, |
642 | struct fib6_table *table, | 642 | struct fib6_table *table, |
@@ -727,7 +727,7 @@ static struct rt6_info *rt6_alloc_cow(const struct rt6_info *ort, | |||
727 | struct neighbour *neigh; | 727 | struct neighbour *neigh; |
728 | int attempts = !in_softirq(); | 728 | int attempts = !in_softirq(); |
729 | 729 | ||
730 | if (!(rt->rt6i_flags&RTF_GATEWAY)) { | 730 | if (!(rt->rt6i_flags & RTF_GATEWAY)) { |
731 | if (rt->rt6i_dst.plen != 128 && | 731 | if (rt->rt6i_dst.plen != 128 && |
732 | ipv6_addr_equal(&ort->rt6i_dst.addr, daddr)) | 732 | ipv6_addr_equal(&ort->rt6i_dst.addr, daddr)) |
733 | rt->rt6i_flags |= RTF_ANYCAST; | 733 | rt->rt6i_flags |= RTF_ANYCAST; |
@@ -875,7 +875,7 @@ void ip6_route_input(struct sk_buff *skb) | |||
875 | .flowi6_iif = skb->dev->ifindex, | 875 | .flowi6_iif = skb->dev->ifindex, |
876 | .daddr = iph->daddr, | 876 | .daddr = iph->daddr, |
877 | .saddr = iph->saddr, | 877 | .saddr = iph->saddr, |
878 | .flowlabel = (* (__be32 *) iph)&IPV6_FLOWINFO_MASK, | 878 | .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, |
879 | .flowi6_mark = skb->mark, | 879 | .flowi6_mark = skb->mark, |
880 | .flowi6_proto = iph->nexthdr, | 880 | .flowi6_proto = iph->nexthdr, |
881 | }; | 881 | }; |
@@ -997,7 +997,7 @@ static void ip6_link_failure(struct sk_buff *skb) | |||
997 | 997 | ||
998 | rt = (struct rt6_info *) skb_dst(skb); | 998 | rt = (struct rt6_info *) skb_dst(skb); |
999 | if (rt) { | 999 | if (rt) { |
1000 | if (rt->rt6i_flags&RTF_CACHE) { | 1000 | if (rt->rt6i_flags & RTF_CACHE) { |
1001 | dst_set_expires(&rt->dst, 0); | 1001 | dst_set_expires(&rt->dst, 0); |
1002 | rt->rt6i_flags |= RTF_EXPIRES; | 1002 | rt->rt6i_flags |= RTF_EXPIRES; |
1003 | } else if (rt->rt6i_node && (rt->rt6i_flags & RTF_DEFAULT)) | 1003 | } else if (rt->rt6i_node && (rt->rt6i_flags & RTF_DEFAULT)) |
@@ -1073,11 +1073,11 @@ struct dst_entry *icmp6_dst_alloc(struct net_device *dev, | |||
1073 | struct inet6_dev *idev = in6_dev_get(dev); | 1073 | struct inet6_dev *idev = in6_dev_get(dev); |
1074 | struct net *net = dev_net(dev); | 1074 | struct net *net = dev_net(dev); |
1075 | 1075 | ||
1076 | if (unlikely(idev == NULL)) | 1076 | if (unlikely(!idev)) |
1077 | return NULL; | 1077 | return NULL; |
1078 | 1078 | ||
1079 | rt = ip6_dst_alloc(&net->ipv6.ip6_dst_ops, dev, 0); | 1079 | rt = ip6_dst_alloc(&net->ipv6.ip6_dst_ops, dev, 0); |
1080 | if (unlikely(rt == NULL)) { | 1080 | if (unlikely(!rt)) { |
1081 | in6_dev_put(idev); | 1081 | in6_dev_put(idev); |
1082 | goto out; | 1082 | goto out; |
1083 | } | 1083 | } |
@@ -1238,23 +1238,23 @@ int ip6_route_add(struct fib6_config *cfg) | |||
1238 | cfg->fc_metric = IP6_RT_PRIO_USER; | 1238 | cfg->fc_metric = IP6_RT_PRIO_USER; |
1239 | 1239 | ||
1240 | err = -ENOBUFS; | 1240 | err = -ENOBUFS; |
1241 | if (NULL != cfg->fc_nlinfo.nlh && | 1241 | if (cfg->fc_nlinfo.nlh && |
1242 | !(cfg->fc_nlinfo.nlh->nlmsg_flags&NLM_F_CREATE)) { | 1242 | !(cfg->fc_nlinfo.nlh->nlmsg_flags & NLM_F_CREATE)) { |
1243 | table = fib6_get_table(net, cfg->fc_table); | 1243 | table = fib6_get_table(net, cfg->fc_table); |
1244 | if (table == NULL) { | 1244 | if (!table) { |
1245 | printk(KERN_WARNING "IPv6: NLM_F_CREATE should be specified when creating new route\n"); | 1245 | printk(KERN_WARNING "IPv6: NLM_F_CREATE should be specified when creating new route\n"); |
1246 | table = fib6_new_table(net, cfg->fc_table); | 1246 | table = fib6_new_table(net, cfg->fc_table); |
1247 | } | 1247 | } |
1248 | } else { | 1248 | } else { |
1249 | table = fib6_new_table(net, cfg->fc_table); | 1249 | table = fib6_new_table(net, cfg->fc_table); |
1250 | } | 1250 | } |
1251 | if (table == NULL) { | 1251 | |
1252 | if (!table) | ||
1252 | goto out; | 1253 | goto out; |
1253 | } | ||
1254 | 1254 | ||
1255 | rt = ip6_dst_alloc(&net->ipv6.ip6_dst_ops, NULL, DST_NOCOUNT); | 1255 | rt = ip6_dst_alloc(&net->ipv6.ip6_dst_ops, NULL, DST_NOCOUNT); |
1256 | 1256 | ||
1257 | if (rt == NULL) { | 1257 | if (!rt) { |
1258 | err = -ENOMEM; | 1258 | err = -ENOMEM; |
1259 | goto out; | 1259 | goto out; |
1260 | } | 1260 | } |
@@ -1303,8 +1303,9 @@ int ip6_route_add(struct fib6_config *cfg) | |||
1303 | they would result in kernel looping; promote them to reject routes | 1303 | they would result in kernel looping; promote them to reject routes |
1304 | */ | 1304 | */ |
1305 | if ((cfg->fc_flags & RTF_REJECT) || | 1305 | if ((cfg->fc_flags & RTF_REJECT) || |
1306 | (dev && (dev->flags&IFF_LOOPBACK) && !(addr_type&IPV6_ADDR_LOOPBACK) | 1306 | (dev && (dev->flags & IFF_LOOPBACK) && |
1307 | && !(cfg->fc_flags&RTF_LOCAL))) { | 1307 | !(addr_type & IPV6_ADDR_LOOPBACK) && |
1308 | !(cfg->fc_flags & RTF_LOCAL))) { | ||
1308 | /* hold loopback dev/idev if we haven't done so. */ | 1309 | /* hold loopback dev/idev if we haven't done so. */ |
1309 | if (dev != net->loopback_dev) { | 1310 | if (dev != net->loopback_dev) { |
1310 | if (dev) { | 1311 | if (dev) { |
@@ -1345,13 +1346,13 @@ int ip6_route_add(struct fib6_config *cfg) | |||
1345 | some exceptions. --ANK | 1346 | some exceptions. --ANK |
1346 | */ | 1347 | */ |
1347 | err = -EINVAL; | 1348 | err = -EINVAL; |
1348 | if (!(gwa_type&IPV6_ADDR_UNICAST)) | 1349 | if (!(gwa_type & IPV6_ADDR_UNICAST)) |
1349 | goto out; | 1350 | goto out; |
1350 | 1351 | ||
1351 | grt = rt6_lookup(net, gw_addr, NULL, cfg->fc_ifindex, 1); | 1352 | grt = rt6_lookup(net, gw_addr, NULL, cfg->fc_ifindex, 1); |
1352 | 1353 | ||
1353 | err = -EHOSTUNREACH; | 1354 | err = -EHOSTUNREACH; |
1354 | if (grt == NULL) | 1355 | if (!grt) |
1355 | goto out; | 1356 | goto out; |
1356 | if (dev) { | 1357 | if (dev) { |
1357 | if (dev != grt->rt6i_dev) { | 1358 | if (dev != grt->rt6i_dev) { |
@@ -1364,7 +1365,7 @@ int ip6_route_add(struct fib6_config *cfg) | |||
1364 | dev_hold(dev); | 1365 | dev_hold(dev); |
1365 | in6_dev_hold(grt->rt6i_idev); | 1366 | in6_dev_hold(grt->rt6i_idev); |
1366 | } | 1367 | } |
1367 | if (!(grt->rt6i_flags&RTF_GATEWAY)) | 1368 | if (!(grt->rt6i_flags & RTF_GATEWAY)) |
1368 | err = 0; | 1369 | err = 0; |
1369 | dst_release(&grt->dst); | 1370 | dst_release(&grt->dst); |
1370 | 1371 | ||
@@ -1372,12 +1373,12 @@ int ip6_route_add(struct fib6_config *cfg) | |||
1372 | goto out; | 1373 | goto out; |
1373 | } | 1374 | } |
1374 | err = -EINVAL; | 1375 | err = -EINVAL; |
1375 | if (dev == NULL || (dev->flags&IFF_LOOPBACK)) | 1376 | if (!dev || (dev->flags & IFF_LOOPBACK)) |
1376 | goto out; | 1377 | goto out; |
1377 | } | 1378 | } |
1378 | 1379 | ||
1379 | err = -ENODEV; | 1380 | err = -ENODEV; |
1380 | if (dev == NULL) | 1381 | if (!dev) |
1381 | goto out; | 1382 | goto out; |
1382 | 1383 | ||
1383 | if (!ipv6_addr_any(&cfg->fc_prefsrc)) { | 1384 | if (!ipv6_addr_any(&cfg->fc_prefsrc)) { |
@@ -1474,7 +1475,7 @@ static int ip6_route_del(struct fib6_config *cfg) | |||
1474 | int err = -ESRCH; | 1475 | int err = -ESRCH; |
1475 | 1476 | ||
1476 | table = fib6_get_table(cfg->fc_nlinfo.nl_net, cfg->fc_table); | 1477 | table = fib6_get_table(cfg->fc_nlinfo.nl_net, cfg->fc_table); |
1477 | if (table == NULL) | 1478 | if (!table) |
1478 | return err; | 1479 | return err; |
1479 | 1480 | ||
1480 | read_lock_bh(&table->tb6_lock); | 1481 | read_lock_bh(&table->tb6_lock); |
@@ -1486,7 +1487,7 @@ static int ip6_route_del(struct fib6_config *cfg) | |||
1486 | if (fn) { | 1487 | if (fn) { |
1487 | for (rt = fn->leaf; rt; rt = rt->dst.rt6_next) { | 1488 | for (rt = fn->leaf; rt; rt = rt->dst.rt6_next) { |
1488 | if (cfg->fc_ifindex && | 1489 | if (cfg->fc_ifindex && |
1489 | (rt->rt6i_dev == NULL || | 1490 | (!rt->rt6i_dev || |
1490 | rt->rt6i_dev->ifindex != cfg->fc_ifindex)) | 1491 | rt->rt6i_dev->ifindex != cfg->fc_ifindex)) |
1491 | continue; | 1492 | continue; |
1492 | if (cfg->fc_flags & RTF_GATEWAY && | 1493 | if (cfg->fc_flags & RTF_GATEWAY && |
@@ -1631,7 +1632,7 @@ void rt6_redirect(const struct in6_addr *dest, const struct in6_addr *src, | |||
1631 | goto out; | 1632 | goto out; |
1632 | 1633 | ||
1633 | nrt = ip6_rt_copy(rt, dest); | 1634 | nrt = ip6_rt_copy(rt, dest); |
1634 | if (nrt == NULL) | 1635 | if (!nrt) |
1635 | goto out; | 1636 | goto out; |
1636 | 1637 | ||
1637 | nrt->rt6i_flags = RTF_GATEWAY|RTF_UP|RTF_DYNAMIC|RTF_CACHE; | 1638 | nrt->rt6i_flags = RTF_GATEWAY|RTF_UP|RTF_DYNAMIC|RTF_CACHE; |
@@ -1648,7 +1649,7 @@ void rt6_redirect(const struct in6_addr *dest, const struct in6_addr *src, | |||
1648 | netevent.new = &nrt->dst; | 1649 | netevent.new = &nrt->dst; |
1649 | call_netevent_notifiers(NETEVENT_REDIRECT, &netevent); | 1650 | call_netevent_notifiers(NETEVENT_REDIRECT, &netevent); |
1650 | 1651 | ||
1651 | if (rt->rt6i_flags&RTF_CACHE) { | 1652 | if (rt->rt6i_flags & RTF_CACHE) { |
1652 | ip6_del_rt(rt); | 1653 | ip6_del_rt(rt); |
1653 | return; | 1654 | return; |
1654 | } | 1655 | } |
@@ -1669,7 +1670,7 @@ static void rt6_do_pmtu_disc(const struct in6_addr *daddr, const struct in6_addr | |||
1669 | int allfrag = 0; | 1670 | int allfrag = 0; |
1670 | again: | 1671 | again: |
1671 | rt = rt6_lookup(net, daddr, saddr, ifindex, 0); | 1672 | rt = rt6_lookup(net, daddr, saddr, ifindex, 0); |
1672 | if (rt == NULL) | 1673 | if (!rt) |
1673 | return; | 1674 | return; |
1674 | 1675 | ||
1675 | if (rt6_check_expired(rt)) { | 1676 | if (rt6_check_expired(rt)) { |
@@ -1817,7 +1818,7 @@ static struct rt6_info *rt6_get_route_info(struct net *net, | |||
1817 | struct fib6_table *table; | 1818 | struct fib6_table *table; |
1818 | 1819 | ||
1819 | table = fib6_get_table(net, RT6_TABLE_INFO); | 1820 | table = fib6_get_table(net, RT6_TABLE_INFO); |
1820 | if (table == NULL) | 1821 | if (!table) |
1821 | return NULL; | 1822 | return NULL; |
1822 | 1823 | ||
1823 | write_lock_bh(&table->tb6_lock); | 1824 | write_lock_bh(&table->tb6_lock); |
@@ -1876,7 +1877,7 @@ struct rt6_info *rt6_get_dflt_router(const struct in6_addr *addr, struct net_dev | |||
1876 | struct fib6_table *table; | 1877 | struct fib6_table *table; |
1877 | 1878 | ||
1878 | table = fib6_get_table(dev_net(dev), RT6_TABLE_DFLT); | 1879 | table = fib6_get_table(dev_net(dev), RT6_TABLE_DFLT); |
1879 | if (table == NULL) | 1880 | if (!table) |
1880 | return NULL; | 1881 | return NULL; |
1881 | 1882 | ||
1882 | write_lock_bh(&table->tb6_lock); | 1883 | write_lock_bh(&table->tb6_lock); |
@@ -1921,7 +1922,7 @@ void rt6_purge_dflt_routers(struct net *net) | |||
1921 | 1922 | ||
1922 | /* NOTE: Keep consistent with rt6_get_dflt_router */ | 1923 | /* NOTE: Keep consistent with rt6_get_dflt_router */ |
1923 | table = fib6_get_table(net, RT6_TABLE_DFLT); | 1924 | table = fib6_get_table(net, RT6_TABLE_DFLT); |
1924 | if (table == NULL) | 1925 | if (!table) |
1925 | return; | 1926 | return; |
1926 | 1927 | ||
1927 | restart: | 1928 | restart: |
@@ -2061,7 +2062,7 @@ struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, | |||
2061 | net->loopback_dev, 0); | 2062 | net->loopback_dev, 0); |
2062 | struct neighbour *neigh; | 2063 | struct neighbour *neigh; |
2063 | 2064 | ||
2064 | if (rt == NULL) { | 2065 | if (!rt) { |
2065 | if (net_ratelimit()) | 2066 | if (net_ratelimit()) |
2066 | pr_warning("IPv6: Maximum number of routes reached," | 2067 | pr_warning("IPv6: Maximum number of routes reached," |
2067 | " consider increasing route/max_size.\n"); | 2068 | " consider increasing route/max_size.\n"); |
@@ -2127,7 +2128,7 @@ static int fib6_remove_prefsrc(struct rt6_info *rt, void *arg) | |||
2127 | struct net *net = ((struct arg_dev_net_ip *)arg)->net; | 2128 | struct net *net = ((struct arg_dev_net_ip *)arg)->net; |
2128 | struct in6_addr *addr = ((struct arg_dev_net_ip *)arg)->addr; | 2129 | struct in6_addr *addr = ((struct arg_dev_net_ip *)arg)->addr; |
2129 | 2130 | ||
2130 | if (((void *)rt->rt6i_dev == dev || dev == NULL) && | 2131 | if (((void *)rt->rt6i_dev == dev || !dev) && |
2131 | rt != net->ipv6.ip6_null_entry && | 2132 | rt != net->ipv6.ip6_null_entry && |
2132 | ipv6_addr_equal(addr, &rt->rt6i_prefsrc.addr)) { | 2133 | ipv6_addr_equal(addr, &rt->rt6i_prefsrc.addr)) { |
2133 | /* remove prefsrc entry */ | 2134 | /* remove prefsrc entry */ |
@@ -2157,7 +2158,7 @@ static int fib6_ifdown(struct rt6_info *rt, void *arg) | |||
2157 | const struct arg_dev_net *adn = arg; | 2158 | const struct arg_dev_net *adn = arg; |
2158 | const struct net_device *dev = adn->dev; | 2159 | const struct net_device *dev = adn->dev; |
2159 | 2160 | ||
2160 | if ((rt->rt6i_dev == dev || dev == NULL) && | 2161 | if ((rt->rt6i_dev == dev || !dev) && |
2161 | rt != adn->net->ipv6.ip6_null_entry) { | 2162 | rt != adn->net->ipv6.ip6_null_entry) { |
2162 | RT6_TRACE("deleted by ifdown %p\n", rt); | 2163 | RT6_TRACE("deleted by ifdown %p\n", rt); |
2163 | return -1; | 2164 | return -1; |
@@ -2194,7 +2195,7 @@ static int rt6_mtu_change_route(struct rt6_info *rt, void *p_arg) | |||
2194 | */ | 2195 | */ |
2195 | 2196 | ||
2196 | idev = __in6_dev_get(arg->dev); | 2197 | idev = __in6_dev_get(arg->dev); |
2197 | if (idev == NULL) | 2198 | if (!idev) |
2198 | return 0; | 2199 | return 0; |
2199 | 2200 | ||
2200 | /* For administrative MTU increase, there is no way to discover | 2201 | /* For administrative MTU increase, there is no way to discover |
@@ -2374,7 +2375,7 @@ static int rt6_fill_node(struct net *net, | |||
2374 | } | 2375 | } |
2375 | 2376 | ||
2376 | nlh = nlmsg_put(skb, pid, seq, type, sizeof(*rtm), flags); | 2377 | nlh = nlmsg_put(skb, pid, seq, type, sizeof(*rtm), flags); |
2377 | if (nlh == NULL) | 2378 | if (!nlh) |
2378 | return -EMSGSIZE; | 2379 | return -EMSGSIZE; |
2379 | 2380 | ||
2380 | rtm = nlmsg_data(nlh); | 2381 | rtm = nlmsg_data(nlh); |
@@ -2388,25 +2389,25 @@ static int rt6_fill_node(struct net *net, | |||
2388 | table = RT6_TABLE_UNSPEC; | 2389 | table = RT6_TABLE_UNSPEC; |
2389 | rtm->rtm_table = table; | 2390 | rtm->rtm_table = table; |
2390 | NLA_PUT_U32(skb, RTA_TABLE, table); | 2391 | NLA_PUT_U32(skb, RTA_TABLE, table); |
2391 | if (rt->rt6i_flags&RTF_REJECT) | 2392 | if (rt->rt6i_flags & RTF_REJECT) |
2392 | rtm->rtm_type = RTN_UNREACHABLE; | 2393 | rtm->rtm_type = RTN_UNREACHABLE; |
2393 | else if (rt->rt6i_flags&RTF_LOCAL) | 2394 | else if (rt->rt6i_flags & RTF_LOCAL) |
2394 | rtm->rtm_type = RTN_LOCAL; | 2395 | rtm->rtm_type = RTN_LOCAL; |
2395 | else if (rt->rt6i_dev && (rt->rt6i_dev->flags&IFF_LOOPBACK)) | 2396 | else if (rt->rt6i_dev && (rt->rt6i_dev->flags & IFF_LOOPBACK)) |
2396 | rtm->rtm_type = RTN_LOCAL; | 2397 | rtm->rtm_type = RTN_LOCAL; |
2397 | else | 2398 | else |
2398 | rtm->rtm_type = RTN_UNICAST; | 2399 | rtm->rtm_type = RTN_UNICAST; |
2399 | rtm->rtm_flags = 0; | 2400 | rtm->rtm_flags = 0; |
2400 | rtm->rtm_scope = RT_SCOPE_UNIVERSE; | 2401 | rtm->rtm_scope = RT_SCOPE_UNIVERSE; |
2401 | rtm->rtm_protocol = rt->rt6i_protocol; | 2402 | rtm->rtm_protocol = rt->rt6i_protocol; |
2402 | if (rt->rt6i_flags&RTF_DYNAMIC) | 2403 | if (rt->rt6i_flags & RTF_DYNAMIC) |
2403 | rtm->rtm_protocol = RTPROT_REDIRECT; | 2404 | rtm->rtm_protocol = RTPROT_REDIRECT; |
2404 | else if (rt->rt6i_flags & RTF_ADDRCONF) | 2405 | else if (rt->rt6i_flags & RTF_ADDRCONF) |
2405 | rtm->rtm_protocol = RTPROT_KERNEL; | 2406 | rtm->rtm_protocol = RTPROT_KERNEL; |
2406 | else if (rt->rt6i_flags&RTF_DEFAULT) | 2407 | else if (rt->rt6i_flags & RTF_DEFAULT) |
2407 | rtm->rtm_protocol = RTPROT_RA; | 2408 | rtm->rtm_protocol = RTPROT_RA; |
2408 | 2409 | ||
2409 | if (rt->rt6i_flags&RTF_CACHE) | 2410 | if (rt->rt6i_flags & RTF_CACHE) |
2410 | rtm->rtm_flags |= RTM_F_CLONED; | 2411 | rtm->rtm_flags |= RTM_F_CLONED; |
2411 | 2412 | ||
2412 | if (dst) { | 2413 | if (dst) { |
@@ -2546,7 +2547,7 @@ static int inet6_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr* nlh, void | |||
2546 | } | 2547 | } |
2547 | 2548 | ||
2548 | skb = alloc_skb(NLMSG_GOODSIZE, GFP_KERNEL); | 2549 | skb = alloc_skb(NLMSG_GOODSIZE, GFP_KERNEL); |
2549 | if (skb == NULL) { | 2550 | if (!skb) { |
2550 | err = -ENOBUFS; | 2551 | err = -ENOBUFS; |
2551 | goto errout; | 2552 | goto errout; |
2552 | } | 2553 | } |
@@ -2581,10 +2582,10 @@ void inet6_rt_notify(int event, struct rt6_info *rt, struct nl_info *info) | |||
2581 | int err; | 2582 | int err; |
2582 | 2583 | ||
2583 | err = -ENOBUFS; | 2584 | err = -ENOBUFS; |
2584 | seq = info->nlh != NULL ? info->nlh->nlmsg_seq : 0; | 2585 | seq = info->nlh ? info->nlh->nlmsg_seq : 0; |
2585 | 2586 | ||
2586 | skb = nlmsg_new(rt6_nlmsg_size(), gfp_any()); | 2587 | skb = nlmsg_new(rt6_nlmsg_size(), gfp_any()); |
2587 | if (skb == NULL) | 2588 | if (!skb) |
2588 | goto errout; | 2589 | goto errout; |
2589 | 2590 | ||
2590 | err = rt6_fill_node(net, skb, rt, NULL, NULL, 0, | 2591 | err = rt6_fill_node(net, skb, rt, NULL, NULL, 0, |