From f8977e924d75df4d2ad85f47ea21b6a6089405fe Mon Sep 17 00:00:00 2001 From: Motomu Utsumi Date: Thu, 24 Jul 2025 13:57:35 +0900 Subject: [PATCH] NetBpfLoad: Extract building prog pin loc to a helper function Bug: 428792764 Flag: EXEMPT no-op Test: TH Change-Id: Ib79e90f81fcfeb7767850a49b9f8bd7b9e475647 --- bpf/loader/NetBpfLoad.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bpf/loader/NetBpfLoad.cpp b/bpf/loader/NetBpfLoad.cpp index 294df834b2..6b7a52f37c 100644 --- a/bpf/loader/NetBpfLoad.cpp +++ b/bpf/loader/NetBpfLoad.cpp @@ -1267,6 +1267,14 @@ static int validateProg(unique_fd& fd, string& progPinLoc, const unsigned int bp return 0; } +static string buildProgPinLoc(const domain pin_subdir, const char* prefix, + const string& objName, const string& name) { + // Format of pin location is + // /sys/fs/bpf/prog__ + return string(BPF_FS_PATH) + lookupPinSubdir(pin_subdir, prefix) + "prog_" + + objName + '_' + string(name); +} + static int loadCodeSections(const char* elfPath, vector& cs, const string& license, const char* prefix, const unsigned int bpfloader_ver) { unsigned kvers = kernelVersion(); @@ -1317,10 +1325,7 @@ static int loadCodeSections(const char* elfPath, vector& cs, const name = name.substr(0, name.find_last_of('$')); bool reuse = false; - // Format of pin location is - // /sys/fs/bpf/prog__ - string progPinLoc = string(BPF_FS_PATH) + lookupPinSubdir(pin_subdir, prefix) + "prog_" + - objName + '_' + string(name); + string progPinLoc = buildProgPinLoc(pin_subdir, prefix, objName, name); if (access(progPinLoc.c_str(), F_OK) == 0) { fd.reset(retrieveProgram(progPinLoc.c_str())); ALOGD("New bpf prog load reusing prog %s, ret: %d (%s)", progPinLoc.c_str(), fd.get(),