[General]: SYSCALL leaves the new code segment's internal role fields uninitialized
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- xml
- Ambito
- operating-systems
Direzione di ricerca
La definizione di SYSCALL si trova in data/instruction/SYSCALL.xml; esamina prima la costruzione di new_cs e i campi di ruolo CS esistenti. Riproduci il caso a 64 bit 0F 05 con la destinazione IA32_LSTAR mappata, quindi esegui il fetch di 48 0F 07. È completato quando il fetch e l'istruzione di ritorno non generano più uninitializedRead, mentre le assegnazioni architetturali rimangono invariate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
SYSCALL builds a fresh Segment record and assigns its architectural CS fields, but omits the internal is_code, is_stack and is_64bit_mode_segment fields. Later executable-model helpers read those fields. This creates an uninitialized model value after an otherwise valid control transfer.
Concrete case
Execute a valid 64-bit SYSCALL with FRED and shadow-stack handling disabled and a canonical mapped IA32_LSTAR target. Then fetch an instruction at that target. The new CS has the expected architectural descriptor bits but lacks the internal role fields used by the fetch/address helpers. Executing SYSCALL and then fetching at the new entry point raises uninitializedRead in the executable model.
Expected behavior and references
References use Intel SDM 325462-093, checked on 2026-10-01. PDF page numbers below refer to the combined manual.
Source
Source checked at Intel SDM repository commit b5218b0f1cf512304d4b3cb364433a08fcee47cb.
The helper links are the readable current pages. Their reviewed definitions are in the compressed definition database at the pinned commit.
Suggested correction
When constructing new_cs, copy is_code, is_stack and is_64bit_mode_segment from the existing CS. Preserve the existing assignments to architectural descriptor fields and leave intentionally unspecified fields unspecified.
Evidence
Model execution of SYSCALL (0F 05) followed by an instruction fetch of 48 0F 07 at the configured kernel entry fails with uninitializedRead because the new CS lacks its role fields. Preserving is_code, is_stack and is_64bit_mode_segment allows the subsequent fetch and return instruction to execute.
AI disclosure
Assisted by Codex
- Lingua principale
- HTML
- Stelle
- 50
- Fork
- 4
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 intel/SDM
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
-
SDM PDF issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
SDM PDF issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
SDM PDF issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
[Bug]: SDM 092 CPUID typoApertaSDM PDF issue SDM Volume 1
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Issue simili
-
Keyboard backlight stays off after unlock: a second 'off' saves 0 as the restore levelForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
bot-found bug priority: P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
madenvel/KalinkaPlayer#367 ·
-
[Feature]: Windows 语音输入默认关闭Apertaenhancement source/qq
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
metasequoiaime/msime-windows#1054 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno