mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04: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 <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
This commit is contained in:
parent
929dd04772
commit
c7ac8679be
30 changed files with 158 additions and 90 deletions
|
|
@ -289,15 +289,16 @@ out:
|
|||
|
||||
int __init phonet_netlink_register(void)
|
||||
{
|
||||
int err = __rtnl_register(PF_PHONET, RTM_NEWADDR, addr_doit, NULL);
|
||||
int err = __rtnl_register(PF_PHONET, RTM_NEWADDR, addr_doit,
|
||||
NULL, NULL);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
/* Further __rtnl_register() cannot fail */
|
||||
__rtnl_register(PF_PHONET, RTM_DELADDR, addr_doit, NULL);
|
||||
__rtnl_register(PF_PHONET, RTM_GETADDR, NULL, getaddr_dumpit);
|
||||
__rtnl_register(PF_PHONET, RTM_NEWROUTE, route_doit, NULL);
|
||||
__rtnl_register(PF_PHONET, RTM_DELROUTE, route_doit, NULL);
|
||||
__rtnl_register(PF_PHONET, RTM_GETROUTE, NULL, route_dumpit);
|
||||
__rtnl_register(PF_PHONET, RTM_DELADDR, addr_doit, NULL, NULL);
|
||||
__rtnl_register(PF_PHONET, RTM_GETADDR, NULL, getaddr_dumpit, NULL);
|
||||
__rtnl_register(PF_PHONET, RTM_NEWROUTE, route_doit, NULL, NULL);
|
||||
__rtnl_register(PF_PHONET, RTM_DELROUTE, route_doit, NULL, NULL);
|
||||
__rtnl_register(PF_PHONET, RTM_GETROUTE, NULL, route_dumpit, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue