Hi Hou Tao, Thanks for the patch. > Subject: [PATCH bpf] bpf: Skip unit_size checking for global per-cpu > allocator > > From: Hou Tao <houtao1@xxxxxxxxxx> > > For global per-cpu allocator, the size of free object in free list doesn't > match with unit_size and now there is no way to get the size of per-cpu > pointer saved in free object, so just skip the checking. > > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Closes: > Signed-off-by: Hou Tao <houtao1@xxxxxxxxxx> Tested-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> Cheers, Biju > --- > kernel/bpf/memalloc.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/kernel/bpf/memalloc.c b/kernel/bpf/memalloc.c index > aad558cdc70f..0ad175277f89 100644 > --- a/kernel/bpf/memalloc.c > +++ b/kernel/bpf/memalloc.c > @@ -491,6 +491,13 @@ static int check_obj_size(struct bpf_mem_cache *c, > unsigned int idx) > struct llist_node *first; > unsigned int obj_size; > > + /* For per-cpu allocator, the size of free objects in free list > doesn't > + * match with unit_size and now there is no way to get the size of > + * per-cpu pointer saved in free object, so just skip the checking. > + */ > + if (c->percpu_size) > + return 0; > + > first = c->free_llist.first; > if (!first) > return 0; > -- > 2.29.2