調査対象版数 linux-4.2(mainline) システムコールエントリ関数の定義 表題が「システムコールエントリ関数の定義」としてしまったんですが、実際には、システムコールエントリ関数を定義するマクロのことを書いています。 (システムコールエントリ関数の中身については書いていません) 前に投稿した記事(システムコールエントリについて見てみた。(linuxソース解析))で書いた__SYSCALL_DEFINExマクロの定義がどのように展開されるかを調べてみた。 このマクロは、システムコールエントリ関数を定義するもので、結構難解だった。 ただ、C言語のスキルの底上げになるような実装が結構あったと思う。 まず、実際にマクロが使用されているサンプルとしてsetgidシステムコールのコードを見てみる。 kernel\sys.c(386): SYSCALL_DEFINE1(setgid, gid