On Tue, Jun 10, 2025 at 06:16:38AM -0400, Aaron Conole wrote:
> Adrian Moreno via dev <ovs-dev@openvswitch.org> writes:
>
> > Use the barrier trick to avoid clang from optimizing the 'size' variable
> > that can cause the verifier to think that 'size' can be negative:
> >
> > ./upcall_monitor.py
> > 119: (85) call bpf_probe_read_kernel#113
> > R2 min value is negative, either use unsigned or 'var &= const'
> > processed 131 insns (limit 1000000) max_states_per_insn 0 total_states
> > peak_states 9 mark_read 3
> > Traceback (most recent call last):
> > File "/ovs/utilities/usdt-scripts/./upcall_monitor.py", line 729, in
> > odule>
> > main()
> > File "/ovs/utilities/usdt-scripts/./upcall_monitor.py", line 697, in
> > in
> > b = BPF(text=source, usdt_contexts=usdt, debug=options.debug)
> > File "/usr/lib/python3.9/site-packages/bcc/__init__.py", line 373, in
> > init__
> > self._trace_autoload()
> > File "/usr/lib/python3.9/site-packages/bcc/__init__.py", line 1241, in
> > race_autoload
> > fn = self.load_func(func_name, BPF.KPROBE)
> > File "/usr/lib/python3.9/site-packages/bcc/__init__.py", line 412, in
> > ad_func
> > raise Exception("Failed to load BPF program %s: %s" %
> > Exception: Failed to load BPF program b'kretprobe__ovs_dp_upcall':
> > permission denied.
> >
> > Signed-off-by: Adrian Moreno <amore...@redhat.com>
> > ---
>
> Looks fine to me, but I think it would be useful to include which kernel
> version(s) you observed this issue with.  For example, was this on
> RHEL9/Centos9?  Ubuntu 22.04?  Debian?  Kernel 4.18, 5.14, latest
> upstream?
>

Good point, I missed that.
I found this in a RHEL kernel (kernel-5.14.0-427.72.1.el9_4).

Should I repost and update the commit message?

I did try to reproduce in latest upstream kernels but bcc is just
completely failing on those.
I Need to look deeper.

Thanks.
Adrián

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to