mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Add a test that loads an XDP program with a global subprogram using a BPF token from a user namespace, then verifies that both the main program and the subprogram appear in /proc/kallsyms. This exercises the bpf_prog_kallsyms_add() path for subprograms and would have caught the missing aux->token copy in bpf_jit_subprogs(). load_kallsyms_local() filters out kallsyms with zero addresses. For a process with limited capabilities to read kallsym addresses the following sysctl variables have to be set to zero: - /proc/sys/kernel/perf_event_paranoid - /proc/sys/kernel/kptr_restrict Set these variables using sysctl_set() utility function extracted from unpriv_bpf_disabled.c to a separate c/header. Since the test modifies global system state, mark it as serial. Signed-off-by: Eduard Zingerman <eddyz87@gmail.com> Link: https://lore.kernel.org/r/20260415-subprog-token-fix-v4-2-9bd000e8b068@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
9 lines
264 B
C
9 lines
264 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __SYSCTL_HELPERS_H
|
|
#define __SYSCTL_HELPERS_H
|
|
|
|
int sysctl_set(const char *sysctl_path, char *old_val, const char *new_val);
|
|
int sysctl_set_or_fail(const char *sysctl_path, char *old_val, const char *new_val);
|
|
|
|
#endif
|