linux/drivers/net/netdevsim
Leon Romanovsky 919d13a7e4 devlink: Set device as early as possible
All kernel devlink implementations call to devlink_alloc() during
initialization routine for specific device which is used later as
a parent device for devlink_register().

Such late device assignment causes to the situation which requires us to
call to device_register() before setting other parameters, but that call
opens devlink to the world and makes accessible for the netlink users.

Any attempt to move devlink_register() to be the last call generates the
following error due to access to the devlink->dev pointer.

[    8.758862]  devlink_nl_param_fill+0x2e8/0xe50
[    8.760305]  devlink_param_notify+0x6d/0x180
[    8.760435]  __devlink_params_register+0x2f1/0x670
[    8.760558]  devlink_params_register+0x1e/0x20

The simple change of API to set devlink device in the devlink_alloc()
instead of devlink_register() fixes all this above and ensures that
prior to call to devlink_register() everything already set.

Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-08-09 10:21:40 +01:00
..
bpf.c
bus.c netdevsim: Protect both reload_down and reload_up paths 2021-08-06 10:36:36 +01:00
dev.c devlink: Set device as early as possible 2021-08-09 10:21:40 +01:00
ethtool.c netdevsim: add FEC settings support 2021-03-31 14:15:23 -07:00
fib.c netdevsim: make array res_ids static const, makes object smaller 2021-08-02 09:12:24 -07:00
health.c netdevsim: switch to memdup_user_nul() 2021-03-24 16:26:58 -07:00
ipsec.c net: netdevsim: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops 2021-07-06 10:36:59 -07:00
Makefile netdevsim: Add dummy psample implementation 2021-03-14 15:00:43 -07:00
netdev.c netdevsim: Add multi-queue support 2021-07-16 11:17:56 -07:00
netdevsim.h netdevsim: Protect both reload_down and reload_up paths 2021-08-06 10:36:36 +01:00
psample.c netdevsim: Only use sampling truncation length when valid 2021-04-22 13:23:56 -07:00
udp_tunnels.c