0xAX / 0xAX/linux-insides

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

オープン
#855 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
area:syscalls todo
主要言語
Python
スター
33.5k
フォーク
3.6k
平均マージ
8時間 41分
マージ済み PR(30日)
11

説明

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

この issue は、syscall シリーズのパート 1 にある特定の図と、Linux カーネルソース (arch/x86/entry/entry_64.S) 内の参照を指しています。ドキュメントを修正するには、本のソースファイル (おそらく syscall パート 1 の Markdown または AsciiDoc ファイル内) にある誤解を招く図またはテキストを特定します。パート 2 で説明されている正しいレジスタの使用法と、リンクされているアセンブリコードと比較してください。修正は、syscall が異なる引数レジスタを使用することを反映するように、テキストまたは画像を更新することです (例: ECX は引数としてではなく、RIP に使用されます)。

索引モデルが issue の本文から書いたものです。

評価

領域
documentation
issue の種類
ドキュメント
難易度
1/5
見積もり時間
1時間未満
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
40/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。