mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
libbpf: Search /lib64 and /lib in resolve_full_path()
attach_probe/uprobe-lib and uprobe_autoattach selftests fail with "failed
to resolve full path for libc.so.6" on older non-usrmerged distros, where
libc.so.6 lives under a top-level /lib64 or /lib rather than /usr/lib64 or
/usr/lib. Add /lib64:/lib to the search paths, alongside the existing
/usr/lib64:/usr/lib and Debian multiarch entries.
Fixes: 1ce3a60e3c ("libbpf: auto-resolve programs/libraries when necessary for uprobes")
Signed-off-by: Ricardo B. Marlière <rbm@suse.com>
Acked-by: Ihor Solodrai <ihor.solodrai@linux.dev>
Link: https://lore.kernel.org/bpf/20260720-selftests-bpf_fixes-v2-3-b450eda93dfe@suse.com
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
This commit is contained in:
@@ -12969,13 +12969,14 @@ static const char *arch_specific_lib_paths(void)
|
||||
/* Get full path to program/shared library. */
|
||||
static int resolve_full_path(const char *file, char *result, size_t result_sz)
|
||||
{
|
||||
const char *search_paths[3] = {};
|
||||
const char *search_paths[4] = {};
|
||||
int i, perm;
|
||||
|
||||
if (str_has_sfx(file, ".so") || strstr(file, ".so.")) {
|
||||
search_paths[0] = getenv("LD_LIBRARY_PATH");
|
||||
search_paths[1] = "/usr/lib64:/usr/lib";
|
||||
search_paths[2] = arch_specific_lib_paths();
|
||||
search_paths[3] = "/lib64:/lib";
|
||||
perm = R_OK;
|
||||
} else {
|
||||
search_paths[0] = getenv("PATH");
|
||||
|
||||
Reference in New Issue
Block a user