[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAADnVQJ_WLMRXYV5p4Lk2+nxdC01iAaKQhYecMjx4rXdBeXjNw@mail.gmail.com>
Date: Mon, 22 Dec 2025 16:11:19 -1000
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Roman Gushchin <roman.gushchin@...ux.dev>
Cc: bpf <bpf@...r.kernel.org>, linux-mm <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>, JP Kobryn <inwardvessel@...il.com>,
Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>,
Shakeel Butt <shakeel.butt@...ux.dev>, Michal Hocko <mhocko@...nel.org>,
Johannes Weiner <hannes@...xchg.org>
Subject: Re: [PATCH bpf-next v3 4/6] mm: introduce BPF kfuncs to access memcg
statistics and events
On Mon, Dec 22, 2025 at 12:18 PM Roman Gushchin
<roman.gushchin@...ux.dev> wrote:
>
> + if (idx < 0 || idx >= MEMCG_NR_STAT || !memcg_stat_item_valid(idx))
> + return (unsigned long)-1;
memcg_stat_item_valid() and memcg_stat_item_valid()
helpers introduced specifically to be used in these kfuncs,
so I feel it's cleaner to do all idx checking within them
instead of splitting the checks like this.
Then it will be easier to see that
memcg_stat_item_valid(idx) access is in bounds when idx < MEMCG_NR_STAT
Also I'd do one check like (u32)idx >= MEMCG_NR_STAT
and drop idx < 0 part. Compiler is probably smart enough to
optimize this way itself, but I'd still do one check.
Powered by blists - more mailing lists