Commit c1b13a94 authored by Song Liu's avatar Song Liu Committed by Alexei Starovoitov
Browse files

bpf: Fix bpf_prog_pack build HPAGE_PMD_SIZE



Fix build with CONFIG_TRANSPARENT_HUGEPAGE=n with BPF_PROG_PACK_SIZE as
PAGE_SIZE.

Fixes: 57631054 ("bpf: Introduce bpf_prog_pack allocator")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Signed-off-by: default avatarSong Liu <song@kernel.org>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20220208220509.4180389-3-song@kernel.org
parent 0f350231
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -814,7 +814,11 @@ int bpf_jit_add_poke_descriptor(struct bpf_prog *prog,
 * allocator. The prog_pack allocator uses HPAGE_PMD_SIZE page (2MB on x86)
 * to host BPF programs.
 */
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
#define BPF_PROG_PACK_SIZE	HPAGE_PMD_SIZE
#else
#define BPF_PROG_PACK_SIZE	PAGE_SIZE
#endif
#define BPF_PROG_CHUNK_SHIFT	6
#define BPF_PROG_CHUNK_SIZE	(1 << BPF_PROG_CHUNK_SHIFT)
#define BPF_PROG_CHUNK_MASK	(~(BPF_PROG_CHUNK_SIZE - 1))
@@ -826,7 +830,7 @@ struct bpf_prog_pack {
	unsigned long bitmap[BITS_TO_LONGS(BPF_PROG_CHUNK_COUNT)];
};

#define BPF_PROG_MAX_PACK_PROG_SIZE	HPAGE_PMD_SIZE
#define BPF_PROG_MAX_PACK_PROG_SIZE	BPF_PROG_PACK_SIZE
#define BPF_PROG_SIZE_TO_NBITS(size)	(round_up(size, BPF_PROG_CHUNK_SIZE) / BPF_PROG_CHUNK_SIZE)

static DEFINE_MUTEX(pack_mutex);