]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
bpf: Fix bpf_prog_pack build HPAGE_PMD_SIZE
authorSong Liu <song@kernel.org>
Tue, 8 Feb 2022 22:05:09 +0000 (14:05 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 9 Feb 2022 02:37:10 +0000 (18:37 -0800)
Fix build with CONFIG_TRANSPARENT_HUGEPAGE=n with BPF_PROG_PACK_SIZE as
PAGE_SIZE.

Fixes: 57631054fae6 ("bpf: Introduce bpf_prog_pack allocator")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Song Liu <song@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20220208220509.4180389-3-song@kernel.org
kernel/bpf/core.c

index 306aa63fa58e63ea13e244b9def2bcb940bcce97..42d96549a8044abf0b1e533fcd01aad9cae7c32a 100644 (file)
@@ -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);