Skip to content

[CROSS-COMPILE] BPF JIT verifier return -EACESS in arm 32-bit #359

@LinuxZrc

Description

@LinuxZrc

Hello, I'm trying to debug scheduling latency on an ARM 32-bit system. I've tried porting runqlat in 32-bit system, but haven't found any issues. When I tried running bootstrap.bpf.c transpoint, accessing sask_struct.pid via BPF_CORE_READ, the JIT verifier returned error code -EACCES. I suspect this might be a problem with 64-bit register access.
I'm not sure if my understanding is correct, but I suspect that BPF register access is 64-bit, while ARM32 uses 32-bit access, leading to incompatibility. Below are my operating environment and error messages. How can I troubleshoot this type of problem using bpftool? Or is there a way to correct the clang compilation parameters or my BPF program? Thank you very much.

Kernel: linux-5.4.61(BTF)
CLANG-18, -bpf ARM
arm-linux-gnueabihf 7.3

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions