[Bug 219226] New: Invalid BPF_MAP_TYPE_PERCPU_ARRAY value size limits

From: bugzilla-daemon@kernel.org
Date: 2024-09-03 15:37:36

https://bugzilla.kernel.org/show_bug.cgi?id=219226

            Bug ID: 219226
           Summary: Invalid BPF_MAP_TYPE_PERCPU_ARRAY value size limits
           Product: Documentation
           Version: unspecified
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: man-pages
          Assignee: documentation_man-pages@kernel-bugs.osdl.org
          Reporter: kernel@dimka.rocks
        Regression: No

Not a man page but I'm not sure where else to submit, it's part of the docs.

In Documentation/bpf/map_array.rst in the end of the first paragraph
The value stored can be of any size, however, all array elements are aligned
to 8 bytes.
should be changed to:
The value stored can be of any size for BPF_MAP_TYPE_ARRAY and not more than
PCPU_MIN_UNIT_SIZE (currently 32 kB) for BPF_MAP_TYPE_PERCPU_ARRAY. All array
elements are aligned to 8 bytes.


The limitation is in linux/mm/percpu.c

        if (unlikely(!size || size > PCPU_MIN_UNIT_SIZE || align > PAGE_SIZE ||
                     !is_power_of_2(align))) {
                WARN(do_warn, "illegal size (%zu) or align (%zu) for percpu
allocation\n",
                     size, align);
                return NULL;
        }


PCPU_MIN_UNIT_SIZE defined in include/linux/percpu.h as "PFN_ALIGN(32 << 10)"

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help