RE: [PATCH bpf] bpf: Skip unit_size checking for global per-cpu allocator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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






[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux