You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
rtnetlink: Compute and store minimum ifinfo dump size
The message size allocated for rtnl ifinfo dumps was limited to a single page. This is not enough for additional interface info available with devices that support SR-IOV and caused a bug in which VF info would not be displayed if more than approximately 40 VFs were created per interface. Implement a new function pointer for the rtnl_register service that will calculate the amount of data required for the ifinfo dump and allocate enough data to satisfy the request. Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
+3
-3
@@ -1414,9 +1414,9 @@ void __init dn_dev_init(void)
|
||||
|
||||
dn_dev_devices_on();
|
||||
|
||||
rtnl_register(PF_DECnet, RTM_NEWADDR, dn_nl_newaddr, NULL);
|
||||
rtnl_register(PF_DECnet, RTM_DELADDR, dn_nl_deladdr, NULL);
|
||||
rtnl_register(PF_DECnet, RTM_GETADDR, NULL, dn_nl_dump_ifaddr);
|
||||
rtnl_register(PF_DECnet, RTM_NEWADDR, dn_nl_newaddr, NULL, NULL);
|
||||
rtnl_register(PF_DECnet, RTM_DELADDR, dn_nl_deladdr, NULL, NULL);
|
||||
rtnl_register(PF_DECnet, RTM_GETADDR, NULL, dn_nl_dump_ifaddr, NULL);
|
||||
|
||||
proc_net_fops_create(&init_net, "decnet_dev", S_IRUGO, &dn_dev_seq_fops);
|
||||
|
||||
|
||||
+2
-2
@@ -763,8 +763,8 @@ void __init dn_fib_init(void)
|
||||
|
||||
register_dnaddr_notifier(&dn_fib_dnaddr_notifier);
|
||||
|
||||
rtnl_register(PF_DECnet, RTM_NEWROUTE, dn_fib_rtm_newroute, NULL);
|
||||
rtnl_register(PF_DECnet, RTM_DELROUTE, dn_fib_rtm_delroute, NULL);
|
||||
rtnl_register(PF_DECnet, RTM_NEWROUTE, dn_fib_rtm_newroute, NULL, NULL);
|
||||
rtnl_register(PF_DECnet, RTM_DELROUTE, dn_fib_rtm_delroute, NULL, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1841,10 +1841,11 @@ void __init dn_route_init(void)
|
||||
proc_net_fops_create(&init_net, "decnet_cache", S_IRUGO, &dn_rt_cache_seq_fops);
|
||||
|
||||
#ifdef CONFIG_DECNET_ROUTER
|
||||
rtnl_register(PF_DECnet, RTM_GETROUTE, dn_cache_getroute, dn_fib_dump);
|
||||
rtnl_register(PF_DECnet, RTM_GETROUTE, dn_cache_getroute,
|
||||
dn_fib_dump, NULL);
|
||||
#else
|
||||
rtnl_register(PF_DECnet, RTM_GETROUTE, dn_cache_getroute,
|
||||
dn_cache_dump);
|
||||
dn_cache_dump, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user