mirror of https://github.com/torvalds/linux.git
Simplify the build ID reading code by removing the non-blocking option. Having to pass the correct option to this function was fragile and a mistake would result in a hang, see the linked fix. Furthermore, compressed files are always opened blocking anyway, ignoring the non-blocking option. We also don't expect to read build IDs from non-regular files. The only hits to this function that are non-regular are devices that won't be elf files with build IDs, for example "/dev/dri/renderD129". Now instead of opening these as non-blocking and failing to read, we skip them. Even if something like a pipe or character device did have a build ID, I don't think it would have worked because you need to call read() in a loop, check for -EAGAIN and handle timeouts to make non-blocking reads work. Link: https://lore.kernel.org/linux-perf-users/20251022-james-perf-fix-dso-block-v1-1-c4faab150546@linaro.org/ Signed-off-by: James Clark <james.clark@linaro.org> Signed-off-by: Namhyung Kim <namhyung@kernel.org> |
||
|---|---|---|
| .. | ||
| Build | ||
| bench.h | ||
| breakpoint.c | ||
| epoll-ctl.c | ||
| epoll-wait.c | ||
| evlist-open-close.c | ||
| find-bit-bench.c | ||
| futex-hash.c | ||
| futex-lock-pi.c | ||
| futex-requeue.c | ||
| futex-wake-parallel.c | ||
| futex-wake.c | ||
| futex.c | ||
| futex.h | ||
| inject-buildid.c | ||
| kallsyms-parse.c | ||
| mem-functions.c | ||
| mem-memcpy-arch.h | ||
| mem-memcpy-x86-64-asm-def.h | ||
| mem-memcpy-x86-64-asm.S | ||
| mem-memset-arch.h | ||
| mem-memset-x86-64-asm-def.h | ||
| mem-memset-x86-64-asm.S | ||
| numa.c | ||
| pmu-scan.c | ||
| sched-messaging.c | ||
| sched-pipe.c | ||
| sched-seccomp-notify.c | ||
| synthesize.c | ||
| syscall.c | ||
| uprobe.c | ||