In the Linux kernel, the following vulnerability has been resolved: bpf: Don't predict JMP32 pointer vs zero comparisons Consider the following program: r1 = map_value; /* low 32 bits are zero at runtime */ r6 = 0xdead000000000000; if w1 != 0 goto l1; l0: r1 += r6; r2 = *(u64 *)(r1 + 0); exit; l1: r6 = 0; goto l0; At the moment is_branch_taken() reports the jump as always taken, because it does not distinguish between BPF_JMP and BPF_JMP32 comparisons when processing 'if w1 != 0 ...'.
https://git.kernel.org/stable/c/e51179a4e09846f8fd0f26a05068520de2b301bf
https://git.kernel.org/stable/c/e2ae33247e8b2dbe9d116d3e61cadf6d548339c6
https://git.kernel.org/stable/c/d16f0eafcaa62e677a2b5b0dabc1f8d31dfe3d4d
https://git.kernel.org/stable/c/a4d7f94c1ca914469ced665ec2f98be669aef462