aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-12-03 18:02:47 -0500
committerDavid S. Miller <davem@davemloft.net>2011-12-03 18:02:47 -0500
commit3830847396fa6d7f9a5fec0ca9819c47ac8a64e8 (patch)
treecd0ee7f142b193513416e7dc1adb1e0fb28321e8 /net
parent507c9b1e0702db4fb6c25135019158d1201f4de7 (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.c95
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
641static struct rt6_info *ip6_pol_route_lookup(struct net *net, 641static 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;
1670again: 1671again:
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
1927restart: 1928restart:
@@ -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,