diff mbox series

[net-next] net: sched: return error code when tcf proto is not found

Message ID 1528126343-13104-1-git-send-email-vladbu@mellanox.com
State Accepted, archived
Delegated to: David Miller
Headers show
Series [net-next] net: sched: return error code when tcf proto is not found | expand

Commit Message

Vlad Buslov June 4, 2018, 3:32 p.m. UTC
If requested tcf proto is not found, get and del filter netlink protocol
handlers output error message to extack, but do not return actual error
code. Add check to return ENOENT when result of tp find function is NULL
pointer.

Fixes: c431f89b18a2 ("net: sched: split tc_ctl_tfilter into three
handlers")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>

---
 net/sched/cls_api.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

David Miller June 4, 2018, 9:32 p.m. UTC | #1
From: Vlad Buslov <vladbu@mellanox.com>
Date: Mon,  4 Jun 2018 18:32:23 +0300

> If requested tcf proto is not found, get and del filter netlink protocol
> handlers output error message to extack, but do not return actual error
> code. Add check to return ENOENT when result of tp find function is NULL
> pointer.
> 
> Fixes: c431f89b18a2 ("net: sched: split tc_ctl_tfilter into three
> handlers")

Please do not split up a Fixes: tag into multiple lines.  I fixed it
up for you this time.

> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Vlad Buslov <vladbu@mellanox.com>

Applied, thanks.
Vlad Buslov June 5, 2018, 7 a.m. UTC | #2
On Mon 04 Jun 2018 at 21:32, David Miller <davem@davemloft.net> wrote:
> From: Vlad Buslov <vladbu@mellanox.com>
> Date: Mon,  4 Jun 2018 18:32:23 +0300
>
>> If requested tcf proto is not found, get and del filter netlink protocol
>> handlers output error message to extack, but do not return actual error
>> code. Add check to return ENOENT when result of tp find function is NULL
>> pointer.
>> 
>> Fixes: c431f89b18a2 ("net: sched: split tc_ctl_tfilter into three
>> handlers")
>
> Please do not split up a Fixes: tag into multiple lines.  I fixed it
> up for you this time.

Got it, thanks.

>
>> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
>> Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
>
> Applied, thanks.
diff mbox series

Patch

diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index c06585fb2dc6..cdc3c87c53e6 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -1274,7 +1274,7 @@  static int tc_del_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
 			       prio, false);
 	if (!tp || IS_ERR(tp)) {
 		NL_SET_ERR_MSG(extack, "Filter with specified priority/protocol not found");
-		err = PTR_ERR(tp);
+		err = tp ? PTR_ERR(tp) : -ENOENT;
 		goto errout;
 	} else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) {
 		NL_SET_ERR_MSG(extack, "Specified filter kind does not match existing one");
@@ -1374,7 +1374,7 @@  static int tc_get_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
 			       prio, false);
 	if (!tp || IS_ERR(tp)) {
 		NL_SET_ERR_MSG(extack, "Filter with specified priority/protocol not found");
-		err = PTR_ERR(tp);
+		err = tp ? PTR_ERR(tp) : -ENOENT;
 		goto errout;
 	} else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind)) {
 		NL_SET_ERR_MSG(extack, "Specified filter kind does not match existing one");