Add support for extended error reporting.

Signed-off-by: Matthias Schiffer <mschif...@universe-factory.net>
---
 drivers/net/bonding/bond_netlink.c | 3 ++-
 include/net/rtnetlink.h            | 3 ++-
 net/bridge/br_netlink.c            | 3 ++-
 net/core/rtnetlink.c               | 3 ++-
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/bonding/bond_netlink.c 
b/drivers/net/bonding/bond_netlink.c
index 0a9d78de6138..a1b33aa6054a 100644
--- a/drivers/net/bonding/bond_netlink.c
+++ b/drivers/net/bonding/bond_netlink.c
@@ -132,7 +132,8 @@ static int bond_validate(struct nlattr *tb[], struct nlattr 
*data[],
 
 static int bond_slave_changelink(struct net_device *bond_dev,
                                 struct net_device *slave_dev,
-                                struct nlattr *tb[], struct nlattr *data[])
+                                struct nlattr *tb[], struct nlattr *data[],
+                                struct netlink_ext_ack *extack)
 {
        struct bonding *bond = netdev_priv(bond_dev);
        struct bond_opt_value newval;
diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h
index 11fe0ad60e43..baf99e173dca 100644
--- a/include/net/rtnetlink.h
+++ b/include/net/rtnetlink.h
@@ -95,7 +95,8 @@ struct rtnl_link_ops {
        int                     (*slave_changelink)(struct net_device *dev,
                                                    struct net_device 
*slave_dev,
                                                    struct nlattr *tb[],
-                                                   struct nlattr *data[]);
+                                                   struct nlattr *data[],
+                                                   struct netlink_ext_ack 
*extack);
        size_t                  (*get_slave_size)(const struct net_device *dev,
                                                  const struct net_device 
*slave_dev);
        int                     (*fill_slave_info)(struct sk_buff *skb,
diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
index 9af177ca4d31..3bc890716c89 100644
--- a/net/bridge/br_netlink.c
+++ b/net/bridge/br_netlink.c
@@ -897,7 +897,8 @@ static int br_validate(struct nlattr *tb[], struct nlattr 
*data[],
 static int br_port_slave_changelink(struct net_device *brdev,
                                    struct net_device *dev,
                                    struct nlattr *tb[],
-                                   struct nlattr *data[])
+                                   struct nlattr *data[],
+                                   struct netlink_ext_ack *extack)
 {
        struct net_bridge *br = netdev_priv(brdev);
        int ret;
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 7136588e65e9..658a48959fc4 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -2631,7 +2631,8 @@ static int rtnl_newlink(struct sk_buff *skb, struct 
nlmsghdr *nlh,
                                        return -EOPNOTSUPP;
 
                                err = m_ops->slave_changelink(master_dev, dev,
-                                                             tb, slave_data);
+                                                             tb, slave_data,
+                                                             extack);
                                if (err < 0)
                                        return err;
                                status |= DO_SETLINK_NOTIFY;
-- 
2.13.1

Reply via email to