The error code isn't set on this path so it would result in returning
ERR_PTR(0) and a NULL dereference in the caller.

Fixes: 18d3eefb17cf ("net: sched: refactor tcf_block_find() into standalone 
functions")
Signed-off-by: Dan Carpenter <[email protected]>
---
 net/sched/cls_api.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 266fcb34fefe..aac72b853fe9 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -1310,8 +1310,10 @@ static struct tcf_block *tcf_block_find(struct net *net, 
struct Qdisc **q,
                goto errout_qdisc;
 
        block = __tcf_block_find(net, *q, *cl, ifindex, block_index, extack);
-       if (IS_ERR(block))
+       if (IS_ERR(block)) {
+               err = PTR_ERR(block);
                goto errout_qdisc;
+       }
 
        return block;
 
-- 
2.17.1

Reply via email to