0

最近、「アドレス ffff88007eccb080 のページ テーブルが破損しています」というエラーに遭遇しました。エラー: 0009 [#1]。http://lxr.linux.no/#linux+v3.9.4/arch/x86/mm/fault.c#L29からの情報を使用

Page fault error code bits:
bit 0 ==    0: no page found       1: protection fault
bit 1 ==    0: read access         1: write access
bit 2 ==    0: kernel-mode access  1: user-mode access
bit 3 ==                           1: use of reserved bit detected
bit 4 ==                           1: fault was an instruction fetch

エラーは、保護違反と検出された予約ビットの使用によるものです。これらの原因により、アドレス ffff88007eccb080 のページ テーブルが破損することは本当にありますか?

この仮想アドレスがどのプロセスにマップされ、そのアドレスで破損するかを特定できる方法はありますか?

ありがとうございました

4

1 に答える 1

0

https://bugzilla.redhat.com/show_bug.cgi?id=859188#c43から:

「破損したページ テーブル」メッセージは、エラー コードに PF_RSVD ビットが設定されている場合に発生します。

そのため、use of reserved bit detectedビットが原因でおっと。

アドレス ffff88007eccb080 は、ユーザー プロセスのプライベート仮想アドレス空間ではなく、カーネル空間 (すべてのプロセスで共有される) に属します。

于 2013-06-10T12:24:46.077 に答える