lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 8 Feb 2019 16:32:43 -0800 From: Florian Fainelli <f.fainelli@...il.com> To: netdev@...r.kernel.org Cc: Florian Fainelli <f.fainelli@...il.com>, "David S. Miller" <davem@...emloft.net>, Ido Schimmel <idosch@...lanox.com>, linux-kernel@...r.kernel.org (open list), devel@...verdev.osuosl.org (open list:STAGING SUBSYSTEM), bridge@...ts.linux-foundation.org (moderated list:ETHERNET BRIDGE), jiri@...lanox.com, andrew@...n.ch, vivien.didelot@...il.com Subject: [PATCH net-next 11/16] net: dsa: Handle SWITCHDEV_PORT_ATTR_SET Following patches will change the way we communicate getting or setting a port's attribute and use a blocking notifier to perform those tasks. Prepare DSA to support receiving notifier events targeting SWITCHDEV_PORT_ATTR_SET and simply translate that into the existing dsa_slave_port_attr_set() call. Signed-off-by: Florian Fainelli <f.fainelli@...il.com> --- net/dsa/slave.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/net/dsa/slave.c b/net/dsa/slave.c index ae34be949d79..f8c7c1b2cd2f 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -1544,6 +1544,24 @@ dsa_slave_switchdev_port_obj_event(unsigned long event, return notifier_from_errno(err); } +static int +dsa_slave_switchdev_port_attr_event(unsigned long event, + struct net_device *netdev, + struct switchdev_notifier_port_attr_info *port_attr_info) +{ + int err = -EOPNOTSUPP; + + switch (event) { + case SWITCHDEV_PORT_ATTR_SET: + err = dsa_slave_port_attr_set(netdev, port_attr_info->attr, + port_attr_info->trans); + break; + } + + port_attr_info->handled = true; + return notifier_from_errno(err); +} + static int dsa_slave_switchdev_blocking_event(struct notifier_block *unused, unsigned long event, void *ptr) { @@ -1556,6 +1574,8 @@ static int dsa_slave_switchdev_blocking_event(struct notifier_block *unused, case SWITCHDEV_PORT_OBJ_ADD: /* fall through */ case SWITCHDEV_PORT_OBJ_DEL: return dsa_slave_switchdev_port_obj_event(event, dev, ptr); + case SWITCHDEV_PORT_ATTR_SET: /* fallthrough */ + return dsa_slave_switchdev_port_attr_event(event, dev, ptr); } return NOTIFY_DONE; -- 2.17.1
Powered by blists - more mailing lists