Subject: Re: [PATCH net-next] net: sched: sch: Fix off by one in htb_activate_prios()

From: Kees Cook <[email-masked]>
Date: Mon, 6 Feb 2023 10:39:11 -0800

On Mon, Feb 06, 2023 at 04:18:32PM +0300, Dan Carpenter wrote:
> The > needs be >= to prevent an out of bounds access.
> 
> Fixes: de5ca4c3852f ("net: sched: sch: Bounds check priority")
> Signed-off-by: Dan Carpenter <[email-masked]>
> ---
>  net/sched/sch_htb.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
> index cc28e41fb745..92f2975b6a82 100644
> --- a/net/sched/sch_htb.c
> +++ b/net/sched/sch_htb.c
> @@ -433,7 +433,7 @@ static void htb_activate_prios(struct htb_sched *q, struct htb_class *cl)
>  		while (m) {
>  			unsigned int prio = ffz(~m);
>  
> -			if (WARN_ON_ONCE(prio > ARRAY_SIZE(p->inner.clprio)))
> +			if (WARN_ON_ONCE(prio >= ARRAY_SIZE(p->inner.clprio)))

Argh, whoops. Thanks Dan!

Reviewed-by: Kees Cook <[email-masked]>

-- 
Kees Cook