rtnetlink: fix error return code in rtnl_link_fill()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Wed, 27 Mar 2013 03:22:45 +0000 (03:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Mar 2013 18:06:40 +0000 (14:06 -0400)
Fix to return a negative error code from the error handling case
instead of 0(possible overwrite to 0 by ops->fill_xstats call),
as returned elsewhere in this function.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c

index 5fb8d7e472941fede3595a3a4032cfc21fbe849b..b65441da74abd85cc8deacc7650c583013e9dcfb 100644 (file)
@@ -496,8 +496,10 @@ static int rtnl_link_fill(struct sk_buff *skb, const struct net_device *dev)
        }
        if (ops->fill_info) {
                data = nla_nest_start(skb, IFLA_INFO_DATA);
-               if (data == NULL)
+               if (data == NULL) {
+                       err = -EMSGSIZE;
                        goto err_cancel_link;
+               }
                err = ops->fill_info(skb, dev);
                if (err < 0)
                        goto err_cancel_data;