-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Description
Priority: Low
Spindle has two interception paths: the standard LD_AUDIT path (used on x86_64 and aarch64) and the SubAudit path (OPT_SUBAUDIT) which has only remaining use case of ppc64le.
Bug: spindleint_none is an unreachable enum state.
Spindle/src/client/subaudit/update_pltbind.c
Line 213 in 0380a7c
| has_spindleint = ld_preload && strstr(ld_preload, "libspindleint.so") ? spindleint_present : spindleint_unset; |
Sets
has_spindleint to either spindleint_present or spindleint_unset, butSpindle/src/client/subaudit/update_pltbind.c
Lines 231 to 232 in 0380a7c
| if (has_spindleint == spindleint_none) | |
| redirect_interceptions(update_list[i]); |
checks for
spindleint_none.
Because has_spindleint is never set to spindleint_none, two things follow:
- getenv("LD_PRELOAD") + strstr is called on every la_activity event for the lifetime of the process, rather than being cached after the first check.
- The redirect_interceptions() call at line 231 is unreachable dead code — spindleint_none is defined in the enum and has a consumer, but is never assigned.
Fix:
has_spindleint = ld_preload && strstr(ld_preload, "libspindleint.so") ? spindleint_present : spindleint_none;
Potential follow-up:
- Confirm whether redirect_interceptions() / spindleint_none represents intentional design or can be removed.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels