Subaudit/update_pltbind.c contains unreachable code
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- c
- Ambito
- operating-systems
Direzione di ricerca
Inizia in src/client/subaudit/update_pltbind.c, in corrispondenza dell'assegnazione di has_spindleint intorno alla riga 213 e del controllo di spindleint_none intorno alle righe 231-232. Segui il percorso la_activity e conferma che l'assegnazione dell'enum renda raggiungibili la cache e il ramo di redirect_interceptions(). Il lavoro è completato quando la gestione dello stato corrisponde al comportamento previsto e i problemi relativi al codice irraggiungibile e alla ricerca ripetuta di LD_PRELOAD sono risolti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
https://github.com/llnl/Spindle/blob/0380a7cce78a4d654b839af9c191e671dab7ef14/src/client/subaudit/update_pltbind.c#L213
Sets has_spindleint to either spindleint_present or spindleint_unset, but
https://github.com/llnl/Spindle/blob/0380a7cce78a4d654b839af9c191e671dab7ef14/src/client/subaudit/update_pltbind.c#L231-L232
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.
- Lingua principale
- C
- Stelle
- 110
- Fork
- 35
- Merge medio
- 1g 3h
- PR unite (30g)
- 10
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di llnl/Spindle
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
llnl/Spindle#173 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
llnl/Spindle#239 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Create executable to create/validate Spindle configure scriptsForse già presa @rountree l’ha presa 11 giorni fa. Apertaenhancement
llnl/Spindle#237 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
All candidate commpaths added to localprefixForse già presa @rountree l’ha presa 11 giorni fa. Apertabug
llnl/Spindle#233 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di llnl/Spindle
Issue simili
-
ai-driven-fuzzing bug claude Minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
linagora/open-bastion#425 ·
I maintainer di solito rispondono entro 1 giorno
-
[docs] gravity.md notationsApertaquestion
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
follow-up Prio 📌
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
moonbitlang/async#713 ·
I maintainer di solito rispondono entro 1 giorno
-
examples/dnsdoctor: cleanup.sh stops at the first missing piece of a setup.sh that did not finishApertaseverity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
luainkernel/lunatik#2263 ·
I maintainer di solito rispondono entro 1 giorno