verify_area 手続き

持ってるピアソンの実習 Linux カーネルに記述あり。曰く

そのアドレスがユーザの仮想アドレス空間内で有効かどうかを確認する。

との事。なるほど verify ですか。ちなみに詳解 Linux カーネルだと 10.4.1 なあたりになるのでしょうか。ちなみに access_ok マクロがどんな事をしてるのか、な疑似コードが出てるので以下に引用。

int access_ok(const void * addr, unsigned long size)
{
  unsigned long a = (unsigned long) addr;
  if (a + size < a || a + size > current_thread_info()->addr_limit.seg)
    return 0;
  retnrn 1;
}

verify_area は基本的に上記と同様の確認をしてる、って書いてあるけど本当かなぁ。
Documentation/x86/exception-tables.txt にプロトタイプな記述があるけどこれ何だろ。あと 2.6.35 なツリーを grep してるんですが verify_area の定義が無いな。
あ、このバージョンだと完全に置き代えられちゃってるのか。

うーん

とりあえず、ピアソンの実習 Linux カーネルを 2.2.14 のカーネルと qemu でがっつり云々した方が良い気がしてきました。
0.01 みたくデバッグシンボルをナニしたカーネルを qemu に吸わせて云々みたいな事ができるのかどうか。ってか Thinpad Edge だとコンパイルとか微妙だなorz