1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| // SPDX-License-Identifier: GPL-2.0
| // Copyright (c) 2019 Facebook
| #include <linux/bpf.h>
| #include <bpf/bpf_helpers.h>
| #define barrier() __asm__ __volatile__("": : :"memory")
|
| char _license[] SEC("license") = "GPL";
|
| SEC("socket")
| int while_true(volatile struct __sk_buff* skb)
| {
| int i = 0;
|
| while (1) {
| if (skb->len)
| i += 3;
| else
| i += 7;
| if (i == 9)
| break;
| barrier();
| if (i == 10)
| break;
| barrier();
| if (i == 13)
| break;
| barrier();
| if (i == 14)
| break;
| }
| return i;
| }
|
|