diff --git a/loader/Loader.cpp b/loader/Loader.cpp index 5f0fb89..cba0482 100644 --- a/loader/Loader.cpp +++ b/loader/Loader.cpp @@ -631,7 +631,8 @@ static int createMaps(const char* elfPath, ifstream& elfFile, vector& .max_entries = max_entries, .map_flags = md[i].map_flags, }; - strlcpy(req.map_name, mapNames[i].c_str(), sizeof(req.map_name)); + if (isAtLeastKernelVersion(4, 14, 0)) + strlcpy(req.map_name, mapNames[i].c_str(), sizeof(req.map_name)); fd.reset(bpf(BPF_MAP_CREATE, req)); saved_errno = errno; ALOGV("bpf_create_map name %s, ret: %d", mapNames[i].c_str(), fd.get()); @@ -791,7 +792,8 @@ static int loadCodeSections(const char* elfPath, vector& cs, const .log_size = static_cast<__u32>(log_buf.size()), .expected_attach_type = cs[i].expected_attach_type, }; - strlcpy(req.prog_name, cs[i].name.c_str(), sizeof(req.prog_name)); + if (isAtLeastKernelVersion(4, 14, 0)) + strlcpy(req.prog_name, cs[i].name.c_str(), sizeof(req.prog_name)); fd.reset(bpf(BPF_PROG_LOAD, req)); if (!fd.ok()) {