test_global_func5.c (589B)
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 7__attribute__ ((noinline)) 8int f1(struct __sk_buff *skb) 9{ 10 return skb->len; 11} 12 13int f3(int, struct __sk_buff *skb); 14 15__attribute__ ((noinline)) 16int f2(int val, struct __sk_buff *skb) 17{ 18 return f1(skb) + f3(val, (void *)&val); /* type mismatch */ 19} 20 21__attribute__ ((noinline)) 22int f3(int val, struct __sk_buff *skb) 23{ 24 return skb->ifindex * val; 25} 26 27SEC("tc") 28int test_cls(struct __sk_buff *skb) 29{ 30 return f1(skb) + f2(2, skb) + f3(3, skb); 31}