Linux Audio

Check our new training course

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