2013-07-16 25 views
6

içinde işlevsellik gibi bir Linux çekirdek modülündeyim ve vmalloc() ile bir miktar bellek ayırdım. Belleğin okuma yazmasını, yazmasını ve yürütmesini istiyorum. Bunu yapmanın temiz ve uygun yolu nedir? Temel olarak, bu genellikle mprotect() numaralı telefon numarasının karşılığıdır, ancak çekirdek alanındadır. Ben sayfa yürüyüş yaparsanızmprotect() Linux kernel

, pgd_offset(), pud_offset(), pmd_offset(), pte_offset_map() ve sonra pte_mkwrite(), ben 2.6.39 üzerinde denedim hatalara bağlayan içine çalıştırın. Ayrıca, sayfa yürüyüşü yapıyorum, bir kesmek ve daha temiz ve daha uygun bir yöntem olması gerektiği görünüyor.

Çekirdek modülüm yüklenebilir bir modül olacaktır, bu nedenle dahili semboller kullanılamıyor.

Önceden, kılavuzunuz için teşekkürler.

cevap

0

do_mprotect() [mprotect()] 'a karşılık gelen kernel işlevini doğrudan çağırmakla denediniz mi?

İlgili konular