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 <dan.carpenter@xxxxxxxxxx> --- 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