Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.17-rc2 31 lines 650 B view raw
1// SPDX-License-Identifier: GPL-2.0 2 3#include <linux/bpf.h> 4#include <bpf/bpf_helpers.h> 5#include "bpf_misc.h" 6 7struct { 8 __uint(type, BPF_MAP_TYPE_ARRAY); 9 __uint(max_entries, 1); 10 __type(key, __u32); 11 __type(value, __u32); 12} map_array SEC(".maps"); 13 14SEC("socket") 15__description("invalid map type for tail call") 16__failure __msg("expected prog array map for tail call") 17__failure_unpriv 18__naked void invalid_map_for_tail_call(void) 19{ 20 asm volatile (" \ 21 r2 = %[map_array] ll; \ 22 r3 = 0; \ 23 call %[bpf_tail_call]; \ 24 exit; \ 25" : 26 : __imm(bpf_tail_call), 27 __imm_addr(map_array) 28 : __clobber_all); 29} 30 31char _license[] SEC("license") = "GPL";