diff options
Diffstat (limited to 'net')
| -rw-r--r-- | net/core/net-sysfs.c | 20 | ||||
| -rw-r--r-- | net/ipv4/route.c | 2 | ||||
| -rw-r--r-- | net/ipv4/xfrm4_policy.c | 13 | ||||
| -rw-r--r-- | net/ipv6/inet6_connection_sock.c | 3 | ||||
| -rw-r--r-- | net/mac80211/ibss.c | 8 | ||||
| -rw-r--r-- | net/nfc/llcp/llcp.c | 2 |
6 files changed, 29 insertions, 19 deletions
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index bcf02f608cbf..017a8bacfb27 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c | |||
| @@ -429,6 +429,17 @@ static struct attribute_group netstat_group = { | |||
| 429 | .name = "statistics", | 429 | .name = "statistics", |
| 430 | .attrs = netstat_attrs, | 430 | .attrs = netstat_attrs, |
| 431 | }; | 431 | }; |
| 432 | |||
| 433 | #if IS_ENABLED(CONFIG_WIRELESS_EXT) || IS_ENABLED(CONFIG_CFG80211) | ||
| 434 | static struct attribute *wireless_attrs[] = { | ||
| 435 | NULL | ||
| 436 | }; | ||
| 437 | |||
| 438 | static struct attribute_group wireless_group = { | ||
| 439 | .name = "wireless", | ||
| 440 | .attrs = wireless_attrs, | ||
| 441 | }; | ||
| 442 | #endif | ||
| 432 | #endif /* CONFIG_SYSFS */ | 443 | #endif /* CONFIG_SYSFS */ |
| 433 | 444 | ||
| 434 | #ifdef CONFIG_RPS | 445 | #ifdef CONFIG_RPS |
| @@ -1409,6 +1420,15 @@ int netdev_register_kobject(struct net_device *net) | |||
| 1409 | groups++; | 1420 | groups++; |
| 1410 | 1421 | ||
| 1411 | *groups++ = &netstat_group; | 1422 | *groups++ = &netstat_group; |
| 1423 | |||
| 1424 | #if IS_ENABLED(CONFIG_WIRELESS_EXT) || IS_ENABLED(CONFIG_CFG80211) | ||
| 1425 | if (net->ieee80211_ptr) | ||
| 1426 | *groups++ = &wireless_group; | ||
| 1427 | #if IS_ENABLED(CONFIG_WIRELESS_EXT) | ||
| 1428 | else if (net->wireless_handlers) | ||
| 1429 | *groups++ = &wireless_group; | ||
| 1430 | #endif | ||
| 1431 | #endif | ||
| 1412 | #endif /* CONFIG_SYSFS */ | 1432 | #endif /* CONFIG_SYSFS */ |
| 1413 | 1433 | ||
| 1414 | error = device_add(dev); | 1434 | error = device_add(dev); |
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index a8c651216fa6..200d287e49f5 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c | |||
| @@ -2597,7 +2597,7 @@ int __init ip_rt_init(void) | |||
| 2597 | pr_err("Unable to create route proc files\n"); | 2597 | pr_err("Unable to create route proc files\n"); |
| 2598 | #ifdef CONFIG_XFRM | 2598 | #ifdef CONFIG_XFRM |
| 2599 | xfrm_init(); | 2599 | xfrm_init(); |
| 2600 | xfrm4_init(ip_rt_max_size); | 2600 | xfrm4_init(); |
| 2601 | #endif | 2601 | #endif |
| 2602 | rtnl_register(PF_INET, RTM_GETROUTE, inet_rtm_getroute, NULL, NULL); | 2602 | rtnl_register(PF_INET, RTM_GETROUTE, inet_rtm_getroute, NULL, NULL); |
| 2603 | 2603 | ||
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c index 05c5ab8d983c..3be0ac2c1920 100644 --- a/net/ipv4/xfrm4_policy.c +++ b/net/ipv4/xfrm4_policy.c | |||
| @@ -279,19 +279,8 @@ static void __exit xfrm4_policy_fini(void) | |||
| 279 | xfrm_policy_unregister_afinfo(&xfrm4_policy_afinfo); | 279 | xfrm_policy_unregister_afinfo(&xfrm4_policy_afinfo); |
| 280 | } | 280 | } |
| 281 | 281 | ||
| 282 | void __init xfrm4_init(int rt_max_size) | 282 | void __init xfrm4_init(void) |
| 283 | { | 283 | { |
| 284 | /* | ||
| 285 | * Select a default value for the gc_thresh based on the main route | ||
| 286 | * table hash size. It seems to me the worst case scenario is when | ||
| 287 | * we have ipsec operating in transport mode, in which we create a | ||
| 288 | * dst_entry per socket. The xfrm gc algorithm starts trying to remove | ||
| 289 | * entries at gc_thresh, and prevents new allocations as 2*gc_thresh | ||
| 290 | * so lets set an initial xfrm gc_thresh value at the rt_max_size/2. | ||
| 291 | * That will let us store an ipsec connection per route table entry, | ||
| 292 | * and start cleaning when were 1/2 full | ||
| 293 | */ | ||
| 294 | xfrm4_dst_ops.gc_thresh = rt_max_size/2; | ||
| 295 | dst_entries_init(&xfrm4_dst_ops); | 284 | dst_entries_init(&xfrm4_dst_ops); |
| 296 | 285 | ||
| 297 | xfrm4_state_init(); | 286 | xfrm4_state_init(); |
diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c index c4f934176cab..30647857a375 100644 --- a/net/ipv6/inet6_connection_sock.c +++ b/net/ipv6/inet6_connection_sock.c | |||
| @@ -252,6 +252,7 @@ struct dst_entry *inet6_csk_update_pmtu(struct sock *sk, u32 mtu) | |||
| 252 | return NULL; | 252 | return NULL; |
| 253 | dst->ops->update_pmtu(dst, sk, NULL, mtu); | 253 | dst->ops->update_pmtu(dst, sk, NULL, mtu); |
| 254 | 254 | ||
| 255 | return inet6_csk_route_socket(sk, &fl6); | 255 | dst = inet6_csk_route_socket(sk, &fl6); |
| 256 | return IS_ERR(dst) ? NULL : dst; | ||
| 256 | } | 257 | } |
| 257 | EXPORT_SYMBOL_GPL(inet6_csk_update_pmtu); | 258 | EXPORT_SYMBOL_GPL(inet6_csk_update_pmtu); |
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index bf87c70ac6c5..c21e33d1abd0 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c | |||
| @@ -1151,10 +1151,6 @@ int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata) | |||
| 1151 | 1151 | ||
| 1152 | mutex_lock(&sdata->u.ibss.mtx); | 1152 | mutex_lock(&sdata->u.ibss.mtx); |
| 1153 | 1153 | ||
| 1154 | sdata->u.ibss.state = IEEE80211_IBSS_MLME_SEARCH; | ||
| 1155 | memset(sdata->u.ibss.bssid, 0, ETH_ALEN); | ||
| 1156 | sdata->u.ibss.ssid_len = 0; | ||
| 1157 | |||
| 1158 | active_ibss = ieee80211_sta_active_ibss(sdata); | 1154 | active_ibss = ieee80211_sta_active_ibss(sdata); |
| 1159 | 1155 | ||
| 1160 | if (!active_ibss && !is_zero_ether_addr(ifibss->bssid)) { | 1156 | if (!active_ibss && !is_zero_ether_addr(ifibss->bssid)) { |
| @@ -1175,6 +1171,10 @@ int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata) | |||
| 1175 | } | 1171 | } |
| 1176 | } | 1172 | } |
| 1177 | 1173 | ||
| 1174 | ifibss->state = IEEE80211_IBSS_MLME_SEARCH; | ||
| 1175 | memset(ifibss->bssid, 0, ETH_ALEN); | ||
| 1176 | ifibss->ssid_len = 0; | ||
| 1177 | |||
| 1178 | sta_info_flush(sdata->local, sdata); | 1178 | sta_info_flush(sdata->local, sdata); |
| 1179 | 1179 | ||
| 1180 | spin_lock_bh(&ifibss->incomplete_lock); | 1180 | spin_lock_bh(&ifibss->incomplete_lock); |
diff --git a/net/nfc/llcp/llcp.c b/net/nfc/llcp/llcp.c index cc10d073c338..9e8f4b2801f6 100644 --- a/net/nfc/llcp/llcp.c +++ b/net/nfc/llcp/llcp.c | |||
| @@ -1210,7 +1210,7 @@ int nfc_llcp_register_device(struct nfc_dev *ndev) | |||
| 1210 | local->remote_miu = LLCP_DEFAULT_MIU; | 1210 | local->remote_miu = LLCP_DEFAULT_MIU; |
| 1211 | local->remote_lto = LLCP_DEFAULT_LTO; | 1211 | local->remote_lto = LLCP_DEFAULT_LTO; |
| 1212 | 1212 | ||
| 1213 | list_add(&llcp_devices, &local->list); | 1213 | list_add(&local->list, &llcp_devices); |
| 1214 | 1214 | ||
| 1215 | return 0; | 1215 | return 0; |
| 1216 | } | 1216 | } |
