diff options
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 3 | ||||
-rw-r--r-- | net/core/filter.c | 2 | ||||
-rw-r--r-- | net/core/net-sysfs.c | 28 | ||||
-rw-r--r-- | net/core/pktgen.c | 2 | ||||
-rw-r--r-- | net/core/rtnetlink.c | 9 | ||||
-rw-r--r-- | net/core/sysctl_net_core.c | 2 |
6 files changed, 20 insertions, 26 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index d030575532a2..8f9710c62e20 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -4024,6 +4024,7 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff | |||
4024 | NAPI_GRO_CB(skb)->flush = 0; | 4024 | NAPI_GRO_CB(skb)->flush = 0; |
4025 | NAPI_GRO_CB(skb)->free = 0; | 4025 | NAPI_GRO_CB(skb)->free = 0; |
4026 | NAPI_GRO_CB(skb)->udp_mark = 0; | 4026 | NAPI_GRO_CB(skb)->udp_mark = 0; |
4027 | NAPI_GRO_CB(skb)->gro_remcsum_start = 0; | ||
4027 | 4028 | ||
4028 | /* Setup for GRO checksum validation */ | 4029 | /* Setup for GRO checksum validation */ |
4029 | switch (skb->ip_summed) { | 4030 | switch (skb->ip_summed) { |
@@ -5335,7 +5336,7 @@ EXPORT_SYMBOL(netdev_upper_dev_unlink); | |||
5335 | /** | 5336 | /** |
5336 | * netdev_bonding_info_change - Dispatch event about slave change | 5337 | * netdev_bonding_info_change - Dispatch event about slave change |
5337 | * @dev: device | 5338 | * @dev: device |
5338 | * @netdev_bonding_info: info to dispatch | 5339 | * @bonding_info: info to dispatch |
5339 | * | 5340 | * |
5340 | * Send NETDEV_BONDING_INFO to netdev notifiers with info. | 5341 | * Send NETDEV_BONDING_INFO to netdev notifiers with info. |
5341 | * The caller must hold the RTNL lock. | 5342 | * The caller must hold the RTNL lock. |
diff --git a/net/core/filter.c b/net/core/filter.c index ec9baea10c16..f6bdc2b1ba01 100644 --- a/net/core/filter.c +++ b/net/core/filter.c | |||
@@ -531,7 +531,7 @@ do_pass: | |||
531 | *insn = BPF_LDX_MEM(BPF_W, BPF_REG_A, BPF_REG_CTX, fp->k); | 531 | *insn = BPF_LDX_MEM(BPF_W, BPF_REG_A, BPF_REG_CTX, fp->k); |
532 | break; | 532 | break; |
533 | 533 | ||
534 | /* Unkown instruction. */ | 534 | /* Unknown instruction. */ |
535 | default: | 535 | default: |
536 | goto err; | 536 | goto err; |
537 | } | 537 | } |
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index 999341244434..f2aa73bfb0e4 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c | |||
@@ -614,8 +614,7 @@ static ssize_t show_rps_map(struct netdev_rx_queue *queue, | |||
614 | { | 614 | { |
615 | struct rps_map *map; | 615 | struct rps_map *map; |
616 | cpumask_var_t mask; | 616 | cpumask_var_t mask; |
617 | size_t len = 0; | 617 | int i, len; |
618 | int i; | ||
619 | 618 | ||
620 | if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) | 619 | if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) |
621 | return -ENOMEM; | 620 | return -ENOMEM; |
@@ -626,17 +625,11 @@ static ssize_t show_rps_map(struct netdev_rx_queue *queue, | |||
626 | for (i = 0; i < map->len; i++) | 625 | for (i = 0; i < map->len; i++) |
627 | cpumask_set_cpu(map->cpus[i], mask); | 626 | cpumask_set_cpu(map->cpus[i], mask); |
628 | 627 | ||
629 | len += cpumask_scnprintf(buf + len, PAGE_SIZE, mask); | 628 | len = snprintf(buf, PAGE_SIZE, "%*pb\n", cpumask_pr_args(mask)); |
630 | if (PAGE_SIZE - len < 3) { | ||
631 | rcu_read_unlock(); | ||
632 | free_cpumask_var(mask); | ||
633 | return -EINVAL; | ||
634 | } | ||
635 | rcu_read_unlock(); | 629 | rcu_read_unlock(); |
636 | |||
637 | free_cpumask_var(mask); | 630 | free_cpumask_var(mask); |
638 | len += sprintf(buf + len, "\n"); | 631 | |
639 | return len; | 632 | return len < PAGE_SIZE ? len : -EINVAL; |
640 | } | 633 | } |
641 | 634 | ||
642 | static ssize_t store_rps_map(struct netdev_rx_queue *queue, | 635 | static ssize_t store_rps_map(struct netdev_rx_queue *queue, |
@@ -1090,8 +1083,7 @@ static ssize_t show_xps_map(struct netdev_queue *queue, | |||
1090 | struct xps_dev_maps *dev_maps; | 1083 | struct xps_dev_maps *dev_maps; |
1091 | cpumask_var_t mask; | 1084 | cpumask_var_t mask; |
1092 | unsigned long index; | 1085 | unsigned long index; |
1093 | size_t len = 0; | 1086 | int i, len; |
1094 | int i; | ||
1095 | 1087 | ||
1096 | if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) | 1088 | if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) |
1097 | return -ENOMEM; | 1089 | return -ENOMEM; |
@@ -1117,15 +1109,9 @@ static ssize_t show_xps_map(struct netdev_queue *queue, | |||
1117 | } | 1109 | } |
1118 | rcu_read_unlock(); | 1110 | rcu_read_unlock(); |
1119 | 1111 | ||
1120 | len += cpumask_scnprintf(buf + len, PAGE_SIZE, mask); | 1112 | len = snprintf(buf, PAGE_SIZE, "%*pb\n", cpumask_pr_args(mask)); |
1121 | if (PAGE_SIZE - len < 3) { | ||
1122 | free_cpumask_var(mask); | ||
1123 | return -EINVAL; | ||
1124 | } | ||
1125 | |||
1126 | free_cpumask_var(mask); | 1113 | free_cpumask_var(mask); |
1127 | len += sprintf(buf + len, "\n"); | 1114 | return len < PAGE_SIZE ? len : -EINVAL; |
1128 | return len; | ||
1129 | } | 1115 | } |
1130 | 1116 | ||
1131 | static ssize_t store_xps_map(struct netdev_queue *queue, | 1117 | static ssize_t store_xps_map(struct netdev_queue *queue, |
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 9fa25b0ea145..b4899f5b7388 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c | |||
@@ -97,7 +97,7 @@ | |||
97 | * New xmit() return, do_div and misc clean up by Stephen Hemminger | 97 | * New xmit() return, do_div and misc clean up by Stephen Hemminger |
98 | * <shemminger@osdl.org> 040923 | 98 | * <shemminger@osdl.org> 040923 |
99 | * | 99 | * |
100 | * Randy Dunlap fixed u64 printk compiler waring | 100 | * Randy Dunlap fixed u64 printk compiler warning |
101 | * | 101 | * |
102 | * Remove FCS from BW calculation. Lennert Buytenhek <buytenh@wantstofly.org> | 102 | * Remove FCS from BW calculation. Lennert Buytenhek <buytenh@wantstofly.org> |
103 | * New time handling. Lennert Buytenhek <buytenh@wantstofly.org> 041213 | 103 | * New time handling. Lennert Buytenhek <buytenh@wantstofly.org> 041213 |
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 5be499b6a2d2..ab293a3066b3 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
@@ -2162,7 +2162,14 @@ replay: | |||
2162 | } | 2162 | } |
2163 | err = rtnl_configure_link(dev, ifm); | 2163 | err = rtnl_configure_link(dev, ifm); |
2164 | if (err < 0) { | 2164 | if (err < 0) { |
2165 | unregister_netdevice(dev); | 2165 | if (ops->newlink) { |
2166 | LIST_HEAD(list_kill); | ||
2167 | |||
2168 | ops->dellink(dev, &list_kill); | ||
2169 | unregister_netdevice_many(&list_kill); | ||
2170 | } else { | ||
2171 | unregister_netdevice(dev); | ||
2172 | } | ||
2166 | goto out; | 2173 | goto out; |
2167 | } | 2174 | } |
2168 | 2175 | ||
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index eaa51ddf2368..433424804284 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c | |||
@@ -155,7 +155,7 @@ write_unlock: | |||
155 | rcu_read_unlock(); | 155 | rcu_read_unlock(); |
156 | 156 | ||
157 | len = min(sizeof(kbuf) - 1, *lenp); | 157 | len = min(sizeof(kbuf) - 1, *lenp); |
158 | len = cpumask_scnprintf(kbuf, len, mask); | 158 | len = scnprintf(kbuf, len, "%*pb", cpumask_pr_args(mask)); |
159 | if (!len) { | 159 | if (!len) { |
160 | *lenp = 0; | 160 | *lenp = 0; |
161 | goto done; | 161 | goto done; |