2013-07-16 8 views
6

私はLinuxカーネルモジュールを使用しています。私はvmalloc()のようなメモリを割り当てます。私はメモリに読み取り、書き込み、および実行の許可を与えます。それを行うためのきれいで適切な方法は何ですか?基本的には、これは一般にmprotect()を呼び出すのと同じですが、カーネル空間にあります。Linuxカーネル内のmprotect()のような機能

私はページの散歩、pgd_offset()pud_offset()pmd_offset()pte_offset_map()、その後、pte_mkwrite()をすれば、私は2.6.39でそれをしようとしたとき、私はリンクエラーに遭遇。また、私がページウォークをしている場合は、ハックであり、よりクリーンで適切な方法であるべきであると思われます。

私のカーネルモジュールはロード可能なモジュールになるため、内部シンボルは使用できません。

ありがとうございます、事前に、あなたの指導のために。

答えて

0

do_mprotect()[mprotect()に対応するカーネル関数]を直接呼び出してみましたか?

関連する問題