0xAX / 0xAX/linux-insides

[BUG] The syscall argument registers are misleading in syscalls part one

Offen
#855 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:syscalls todo
Vorherrschende Sprache
Python
Sterne
33.5k
Forks
3.6k
Ø Merge
8 Std. 41 Min.
Gemergte PRs (30 T.)
11

Beschreibung

In part two (https://0xax.gitbooks.io/linux-insides/content/SysCall/linux-syscall-2.html section "Preparation before system call handler will be called") its clear that for example ECX is not used as an argument register since RIP is stored in it. However in part 1 of the syscall series:
![image](https://github.com/user-attachments/assets/7ed318b3-2eb9-44d3-8dd6-d75b23bf4476)
This is the order used when calling functions yes, but not when calling syscalls. Also I think syscalls don't take arguments from the stack. This is a useful reference: https://elixir.bootlin.com/linux/v6.10.10/source/arch/x86/entry/entry_64.S#L69

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

The issue points to a specific figure in part one of the syscall series and a reference in the Linux kernel source (arch/x86/entry/entry_64.S). To correct the documentation, locate the misleading diagram or text in the book's source files (likely in a Markdown or AsciiDoc file for the syscall part one). Compare with the correct register usage described in part two and the linked assembly code. The fix is to update the text or image to reflect that syscalls use different argument registers (e.g., ECX is used for RIP, not as an argument).

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
40/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.