ANDROID: Revert "bpf: program: Refuse non-O_RDWR flags in BPF_OBJ_GET"
This reverts commitd37300ed18. This breaks Android userspace which expects to be able to fetch programs with just read permissions. See: https://cs.android.com/android/platform/superproject/+/master:frameworks/libs/net/common/native/bpf_syscall_wrappers/include/BpfSyscallWrappers.h;drc=7005c764be23d31fa1d69e826b4a2f6689a8c81e;l=124 Cc: Alexei Starovoitov <ast@kernel.org> Cc: Andrii Nakryiko <andrii@kernel.org> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: Greg Kroah-Hartman <gregkh@google.com> Cc: Lorenz Bauer <lmb@cloudflare.com> Fixes:d37300ed18("bpf: program: Refuse non-O_RDWR flags in BPF_OBJ_GET") Signed-off-by: Maciej Żenczykowski <maze@google.com> Reason for revert: This reverts commit9f16040d22which breaks Android userspace. See: https://patchwork.kernel.org/project/netdevbpf/patch/20210618105526.265003-1-zenczykowski@gmail.com/ Test: TreeHugger manual inspection of netd's traffic controller startup suceeding Change-Id: I1b8f0d7f8b6fbad69b51503ebe18cec2ac14aef0 Signed-off-by: Maciej Żenczykowski <maze@google.com>
This commit is contained in:
+1
-1
@@ -543,7 +543,7 @@ int bpf_obj_get_user(const char __user *pathname, int flags)
|
||||
return PTR_ERR(raw);
|
||||
|
||||
if (type == BPF_TYPE_PROG)
|
||||
ret = (f_flags != O_RDWR) ? -EINVAL : bpf_prog_new_fd(raw);
|
||||
ret = bpf_prog_new_fd(raw);
|
||||
else if (type == BPF_TYPE_MAP)
|
||||
ret = bpf_map_new_fd(raw, f_flags);
|
||||
else if (type == BPF_TYPE_LINK)
|
||||
|
||||
Reference in New Issue
Block a user