Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aarch64: CONFIG_BPF_SYSCALL=y is missing #14674

Closed
kakkoyun opened this issue Jul 29, 2022 · 9 comments
Closed

aarch64: CONFIG_BPF_SYSCALL=y is missing #14674

kakkoyun opened this issue Jul 29, 2022 · 9 comments
Labels
arch/arm64 area/guest-vm General configuration issues with the minikube guest VM priority/backlog Higher priority than priority/awaiting-more-evidence.

Comments

@kakkoyun
Copy link
Contributor

kakkoyun commented Jul 29, 2022

What Happened?

I'm trying to run an eBPF application on Minikube on a Mac using QEMU (--drive=qemu2).

The first thing I realized when I tried to mount /sys/fs/bpf, it wasn't there.

Then when I tried to load an eBPF program, I got the following error.

libbpf: Error in bpf_object__probe_loading():Function not implemented(38). 
Couldn't load trivial BPF program. 
Make sure your kernel supports BPF (CONFIG_BPF_SYSCALL=y) and/or that RLIMIT_MEMLOCK is set to big enough value.
libbpf: failed to load object 'XXX'

This is what the config looks like:

$ cat /proc/config.gz | gunzip | grep CONFIG_BPF
CONFIG_BPF=y
# CONFIG_BPF_SYSCALL is not set
CONFIG_BPF_JIT_DEFAULT_ON=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT=y

FWIW, the same program flawlessly runs on minikube on a linux/amd64 platform.
I had assumed with #14316, this should work regardless of the driver.

I might be missing something trivial. I'd be glad if you could nudge me in the right direction.

cc @eiffel-fl

Attach the log file

log.txt

Operating System

macOS (Default)

Driver

N/A

@afbjorklund
Copy link
Collaborator

afbjorklund commented Jul 29, 2022

FWIW, the same program flawlessly runs on minikube on a linux/amd64 platform.

But that kernel config has CONFIG_BPF_SYSCALL=y set, where the linux/arm64 does not

@afbjorklund afbjorklund added area/guest-vm General configuration issues with the minikube guest VM arch/arm64 labels Jul 29, 2022
@kakkoyun
Copy link
Contributor Author

FWIW, the same program flawlessly runs on minikube on a linux/amd64 platform.

But that kernel config has CONFIG_BPF_SYSCALL=y set, where the linux/arm64 does not

Now that I checked. Yes, it is defined for x86_64

But it is not defined for aarch64
https://github.com/kubernetes/minikube/blob/master/deploy/iso/minikube-iso/board/minikube/aarch64/linux_aarch64_defconfig

I think it's overlooked. If you can confirm, I'm happy to contribute.

@kakkoyun kakkoyun changed the title arm64/darwin/qemu: aarch64: CONFIG_BPF_SYSCALL=y is missing Jul 29, 2022
kakkoyun added a commit to kakkoyun/minikube that referenced this issue Jul 29, 2022
@spowelljr spowelljr added the priority/backlog Higher priority than priority/awaiting-more-evidence. label Aug 5, 2022
brancz pushed a commit to brancz/minikube that referenced this issue Oct 18, 2022
spowelljr pushed a commit to brancz/minikube that referenced this issue Oct 21, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 3, 2022
@eiffel-fl
Copy link
Contributor

/remove-lifecycle stale

I will take a look it but I just need to find a bit of time!

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 3, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 1, 2023
@eiffel-fl
Copy link
Contributor

No, this is not stale, I still want to take a look at it but I cannot really know how to debug this and I cannot create time.

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Mar 4, 2023
@eiffel-fl
Copy link
Contributor

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Mar 6, 2023
brancz pushed a commit to brancz/minikube that referenced this issue Mar 23, 2023
@carlosonunez
Copy link

Not stale. This is preventing Calico from working on "qemu2" minikube nodes (which you'll need to use if you want VM-based nodes on Apple Silicon).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch/arm64 area/guest-vm General configuration issues with the minikube guest VM priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants