[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpW4WD2KpQM344DLjtzUYamR9-r398qYev1c=kgFLJhu5A@mail.gmail.com>
Date: Fri, 15 Feb 2019 16:24:05 -0800
From: Cong Wang <xiyou.wangcong@...il.com>
To: Vlad Buslov <vladbu@...lanox.com>
Cc: Ido Schimmel <idosch@...sch.org>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
Jamal Hadi Salim <jhs@...atatu.com>,
Jiri Pirko <jiri@...nulli.us>,
David Miller <davem@...emloft.net>
Subject: Re: [PATCH] net: sched: matchall: verify that filter is not NULL in mall_walk()
On Fri, Feb 15, 2019 at 4:11 AM Vlad Buslov <vladbu@...lanox.com> wrote:
>
> Check that filter is not NULL before passing it to tcf_walker->fn()
> callback. This can happen when mall_change() failed to offload filter to
> hardware.
>
> Signed-off-by: Vlad Buslov <vladbu@...lanox.com>
> ---
> net/sched/cls_matchall.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c
> index a37137430e61..1f9d481b0fbb 100644
> --- a/net/sched/cls_matchall.c
> +++ b/net/sched/cls_matchall.c
> @@ -247,6 +247,9 @@ static void mall_walk(struct tcf_proto *tp, struct tcf_walker *arg,
>
> if (arg->count < arg->skip)
> goto skip;
> +
> + if (!head)
> + return;
So head==NULL still counts one given that you check NULL after
checking arg->count. Is this expected?
Powered by blists - more mailing lists