FILE
test_global_func6.c
File preview with syntax highlighting.
linux-6.19.14/tools/testing/selftests/bpf/progs/test_global_func6.c
1// SPDX-License-Identifier: GPL-2.0-only 2/* Copyright (c) 2020 Facebook */ 3#include <stddef.h> 4#include <linux/bpf.h> 5#include <bpf/bpf_helpers.h> 6#include "bpf_misc.h" 7 8__attribute__ ((noinline)) 9int f1(struct __sk_buff *skb) 10{ 11 return skb->len; 12} 13 14int f3(int, struct __sk_buff *skb); 15 16__attribute__ ((noinline)) 17int f2(int val, struct __sk_buff *skb) 18{ 19 return f1(skb) + f3(val, skb + 1); /* type mismatch */ 20} 21 22__attribute__ ((noinline)) 23int f3(int val, struct __sk_buff *skb) 24{ 25 return skb->ifindex * val; 26} 27 28SEC("tc") 29__failure __msg("modified ctx ptr R2") 30int global_func6(struct __sk_buff *skb) 31{ 32 return f1(skb) + f2(2, skb) + f3(3, skb); 33}
~/
Read-only file preview.