[General]: SYSCALL leaves the new code segment's internal role fields uninitialized
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- xml
- Área
- operating-systems
Línea de trabajo
La definición de SYSCALL se encuentra en data/instruction/SYSCALL.xml; inspecciona primero la construcción de new_cs y los campos de rol CS existentes. Reproduce el caso de 64 bits 0F 05 con el destino IA32_LSTAR asignado y, después, realiza el fetch de 48 0F 07. Está hecho cuando el fetch y la instrucción de retorno ya no provocan uninitializedRead, mientras las asignaciones arquitectónicas permanecen sin cambios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- HTML
- Estrellas
- 61
- Forks
- 4
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de intel/SDM
-
SDM PDF issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 72/100
-
SDM PDF issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
SDM PDF issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
SDM PDF issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
[Bug]: SDM 092 CPUID typoAbiertoSDM PDF issue SDM Volume 1
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
grumpycoders/pcsx-redux#2530 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
InukaAsith/TwinDesk#84 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
PowerShell/PowerShell#28283 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
tests topic-profiling type-bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
python/cpython#160881 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100