Thread (3 messages) 3 messages, 2 authors, 2021-10-29

Re: err: math between fp pointer and register with unbounded min value is not allowed

From: Shuyi Cheng <hidden>
Date: 2021-10-29 01:29:52


On 10/28/21 10:56 PM, Yonghong Song wrote:
quoted
251: (7b) *(u64 *)(r10 -80) = r1
252: (85) call bpf_get_current_pid_tgid#14
253: (77) r0 >>= 32
254: (63) *(u32 *)(r10 -324) = r0
255: (bf) r1 = r10
256: (07) r1 += -320
257: (b7) r2 = 16
258: (85) call bpf_get_current_comm#16
259: (79) r1 = *(u64 *)(r10 -80)
260: (07) r1 += 20
261: (7b) *(u64 *)(r10 -80) = r1
262: (bf) r7 = r10
263: (07) r7 += -344
264: (0f) r7 += r1
math between fp pointer and register with unbounded min value is not 
allowed
You probably used an old kernel.
The value "r1" is restored from stack location r10 - 80 which
stores a constant. The verifier needs to transfer the "const" state
from spill to register.
Thank you very much for your answers. The root cause is that when the 
value is restored from the stack to the register, the verifier of the 
old kernel loses its state. So, which patch of the higher version of the 
kernel solves this problem?

Thank you very much!
quoted

Thank you very much!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help