bpfloader: remove duplicate code am: 301a12f54d
Original change: https://android-review.googlesource.com/c/platform/system/bpf/+/2983911 Change-Id: I32941c7b03e107b3f06fb1274129a195b8affb0e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
6456428d38
1 changed files with 0 additions and 26 deletions
|
@ -191,25 +191,6 @@ int main(int argc, char** argv) {
|
|||
(void)argc;
|
||||
android::base::InitLogging(argv, &android::base::KernelLogger);
|
||||
|
||||
// Linux 5.16-rc1 changed the default to 2 (disabled but changeable), but we need 0 (enabled)
|
||||
// (this writeFile is known to fail on at least 4.19, but always defaults to 0 on pre-5.13,
|
||||
// on 5.13+ it depends on CONFIG_BPF_UNPRIV_DEFAULT_OFF)
|
||||
if (writeProcSysFile("/proc/sys/kernel/unprivileged_bpf_disabled", "0\n") &&
|
||||
android::bpf::isAtLeastKernelVersion(5, 13, 0)) return 1;
|
||||
|
||||
// Enable the eBPF JIT -- but do note that on 64-bit kernels it is likely
|
||||
// already force enabled by the kernel config option BPF_JIT_ALWAYS_ON.
|
||||
// (Note: this (open) will fail with ENOENT 'No such file or directory' if
|
||||
// kernel does not have CONFIG_BPF_JIT=y)
|
||||
// BPF_JIT is required by R VINTF (which means 4.14/4.19/5.4 kernels),
|
||||
// but 4.14/4.19 were released with P & Q, and only 5.4 is new in R+.
|
||||
if (writeProcSysFile("/proc/sys/net/core/bpf_jit_enable", "1\n")) return 1;
|
||||
|
||||
// Enable JIT kallsyms export for privileged users only
|
||||
// (Note: this (open) will fail with ENOENT 'No such file or directory' if
|
||||
// kernel does not have CONFIG_HAVE_EBPF_JIT=y)
|
||||
if (writeProcSysFile("/proc/sys/net/core/bpf_jit_kallsyms", "1\n")) return 1;
|
||||
|
||||
// Create all the pin subdirectories
|
||||
// (this must be done first to allow selinux_context and pin_subdir functionality,
|
||||
// which could otherwise fail with ENOENT during object pinning or renaming,
|
||||
|
@ -218,13 +199,6 @@ int main(int argc, char** argv) {
|
|||
if (createSysFsBpfSubDir(location.prefix)) return 1;
|
||||
}
|
||||
|
||||
// Note: there's no actual src dir for fs_bpf_loader .o's,
|
||||
// so it is not listed in 'locations[].prefix'.
|
||||
// This is because this is primarily meant for triggering genfscon rules,
|
||||
// and as such this will likely always be the case.
|
||||
// Thus we need to manually create the /sys/fs/bpf/loader subdirectory.
|
||||
if (createSysFsBpfSubDir("loader")) return 1;
|
||||
|
||||
// Load all ELF objects, create programs and maps, and pin them
|
||||
for (const auto& location : locations) {
|
||||
if (loadAllElfObjects(location) != 0) {
|
||||
|
|
Loading…
Reference in a new issue