mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2026-01-27 12:47:24 +01:00
net: hsr: prevent creation of HSR device with slaves from another netns
HSR/PRP driver does not handle correctly having slaves/interlink devices
in a different net namespace. Currently, it is possible to create a HSR
link in a different net namespace than the slaves/interlink with the
following command:
ip link add hsr0 netns hsr-ns type hsr slave1 eth1 slave2 eth2
As there is no use-case on supporting this scenario, enforce that HSR
device link matches netns defined by IFLA_LINK_NETNSID.
The iproute2 command mentioned above will throw the following error:
Error: hsr: HSR slaves/interlink must be on the same net namespace than HSR link.
Fixes: f421436a59 ("net/hsr: Add support for the High-availability Seamless Redundancy protocol (HSRv0)")
Signed-off-by: Fernando Fernandez Mancera <fmancera@suse.de>
Link: https://patch.msgid.link/20251020135533.9373-1-fmancera@suse.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
441f0647f7
commit
c0178eec88
|
|
@ -34,12 +34,18 @@ static int hsr_newlink(struct net_device *dev,
|
|||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct net *link_net = rtnl_newlink_link_net(params);
|
||||
struct net_device *link[2], *interlink = NULL;
|
||||
struct nlattr **data = params->data;
|
||||
enum hsr_version proto_version;
|
||||
unsigned char multicast_spec;
|
||||
u8 proto = HSR_PROTOCOL_HSR;
|
||||
|
||||
struct net_device *link[2], *interlink = NULL;
|
||||
if (!net_eq(link_net, dev_net(dev))) {
|
||||
NL_SET_ERR_MSG_MOD(extack,
|
||||
"HSR slaves/interlink must be on the same net namespace than HSR link");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
NL_SET_ERR_MSG_MOD(extack, "No slave devices specified");
|
||||
return -EINVAL;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user