brintos

brintos / linux-shallow public Read only

0
0
Text · 855 B · 1733d87 Raw
56 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2/* 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 14__attribute__ ((noinline))15int f2(int val, struct __sk_buff *skb)16{17	return f1(skb) + val;18}19 20__attribute__ ((noinline))21int f3(int val, struct __sk_buff *skb, int var)22{23	return f2(var, skb) + val;24}25 26__attribute__ ((noinline))27int f4(struct __sk_buff *skb)28{29	return f3(1, skb, 2);30}31 32__attribute__ ((noinline))33int f5(struct __sk_buff *skb)34{35	return f4(skb);36}37 38__attribute__ ((noinline))39int f6(struct __sk_buff *skb)40{41	return f5(skb);42}43 44__attribute__ ((noinline))45int f7(struct __sk_buff *skb)46{47	return f6(skb);48}49 50SEC("tc")51__success52int global_func4(struct __sk_buff *skb)53{54	return f7(skb);55}56