1*e7215f57SStanislav Fomichev // SPDX-License-Identifier: GPL-2.0-only
2*e7215f57SStanislav Fomichev 
3*e7215f57SStanislav Fomichev #include <linux/bpf.h>
4*e7215f57SStanislav Fomichev #include <bpf/bpf_helpers.h>
5*e7215f57SStanislav Fomichev 
6*e7215f57SStanislav Fomichev #define BPF_RETVAL_HOOK(name, section, ctx, expected_err) \
7*e7215f57SStanislav Fomichev 	__attribute__((__section__("?" section))) \
8*e7215f57SStanislav Fomichev 	int name(struct ctx *_ctx) \
9*e7215f57SStanislav Fomichev 	{ \
10*e7215f57SStanislav Fomichev 		bpf_set_retval(bpf_get_retval()); \
11*e7215f57SStanislav Fomichev 		return 1; \
12*e7215f57SStanislav Fomichev 	}
13*e7215f57SStanislav Fomichev 
14*e7215f57SStanislav Fomichev #include "cgroup_getset_retval_hooks.h"
15*e7215f57SStanislav Fomichev 
16*e7215f57SStanislav Fomichev #undef BPF_RETVAL_HOOK
17