diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2014-01-17 09:53:20 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-16 19:12:03 -0800 |
commit | 722e47d7929b40f58c2ad609429c7293e41ca5a8 (patch) | |
tree | 5d95917e06b150911e3d189f9649e5bf03b33554 | |
parent | 8b88a11e4451a967973b7b8b5e82ff62f3d69945 (diff) | |
download | linux-722e47d7929b40f58c2ad609429c7293e41ca5a8.tar.gz linux-722e47d7929b40f58c2ad609429c7293e41ca5a8.tar.bz2 linux-722e47d7929b40f58c2ad609429c7293e41ca5a8.zip |
net_sched: fix error return code in fw_change_attrs()
The error code was not set if change indev fail, so the error
condition wasn't reflected in the return value. Fix to return a
negative error code from this error handling case instead of 0.
Fixes: 2519a602c273 ('net_sched: optimize tcf_match_indev()')
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/sched/cls_fw.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c index ed00e8c21cea..a366537f82c6 100644 --- a/net/sched/cls_fw.c +++ b/net/sched/cls_fw.c @@ -209,8 +209,10 @@ fw_change_attrs(struct net *net, struct tcf_proto *tp, struct fw_filter *f, if (tb[TCA_FW_INDEV]) { int ret; ret = tcf_change_indev(net, tb[TCA_FW_INDEV]); - if (ret < 0) + if (ret < 0) { + err = ret; goto errout; + } f->ifindex = ret; } #endif /* CONFIG_NET_CLS_IND */ |