Linux Audio

Check our new training course

Loading...
v6.13.7
 1// SPDX-License-Identifier: GPL-2.0-only
 2#include <vmlinux.h>
 3#include <bpf/bpf_helpers.h>
 4#include "bpf_misc.h"
 5
 6__noinline int foo(int *p)
 7{
 8	barrier_var(p);
 9	return p ? (*p = 42) : 0;
10}
11
12const volatile int i;
13
14SEC("tc")
15__failure __msg("Caller passes invalid args into func#1")
16int global_func17(struct __sk_buff *skb)
17{
18	return foo((int *)&i);
19}
v6.2
 1// SPDX-License-Identifier: GPL-2.0-only
 2#include <vmlinux.h>
 3#include <bpf/bpf_helpers.h>
 
 4
 5__noinline int foo(int *p)
 6{
 
 7	return p ? (*p = 42) : 0;
 8}
 9
10const volatile int i;
11
12SEC("tc")
13int test_cls(struct __sk_buff *skb)
 
14{
15	return foo((int *)&i);
16}