Skip to content

Commit a7b4364

Browse files
paravmellanoxkuba-moo
authored andcommitted
devlink: Make sure devlink instance and port are in same net namespace
When devlink reload operation is not used, netdev of an Ethernet port may be present in different net namespace than the net namespace of the devlink instance. Ensure that both the devlink instance and devlink port netdev are located in same net namespace. Fixes: 070c63f ("net: devlink: allow to change namespaces during reload") Signed-off-by: Parav Pandit <parav@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent b187c9b commit a7b4364

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

net/core/devlink.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -782,9 +782,10 @@ static int devlink_nl_port_fill(struct sk_buff *msg, struct devlink *devlink,
782782
devlink_port->desired_type))
783783
goto nla_put_failure_type_locked;
784784
if (devlink_port->type == DEVLINK_PORT_TYPE_ETH) {
785+
struct net *net = devlink_net(devlink_port->devlink);
785786
struct net_device *netdev = devlink_port->type_dev;
786787

787-
if (netdev &&
788+
if (netdev && net_eq(net, dev_net(netdev)) &&
788789
(nla_put_u32(msg, DEVLINK_ATTR_PORT_NETDEV_IFINDEX,
789790
netdev->ifindex) ||
790791
nla_put_string(msg, DEVLINK_ATTR_PORT_NETDEV_NAME,

0 commit comments

Comments
 (0)