// SPDX-License-Identifier: GPL-2.0 #include #include #include "bpf_misc.h" SEC("socket") __description("scalars: find linked scalars") __failure __msg("math between fp pointer and 2147483647 is not allowed") __naked void scalars(void) { asm volatile (" \ r0 = 0; \ r1 = 0x80000001 ll; \ r1 /= 1; \ r2 = r1; \ r4 = r1; \ w2 += 0x7FFFFFFF; \ w4 += 0; \ if r2 == 0 goto l1; \ exit; \ l1: \ r4 >>= 63; \ r3 = 1; \ r3 -= r4; \ r3 *= 0x7FFFFFFF; \ r3 += r10; \ *(u8*)(r3 - 1) = r0; \ exit; \ " ::: __clobber_all); } char _license[] SEC("license") = "GPL";