跳转至

Misc

__ro_after_init

介紹

Linux 內核中有很多數據都只會在 __init 階段被初始化,而且之後不會被改變。使用 __ro_after_init 標記的內存,在 init 階段結束後,不能夠被再次修改。

攻擊

我們可以使用 set_memory_rw(unsigned long addr, int numpages) 來修改對應頁的權限。

mmap_min_addr

mmap_min_addr 是用來對抗 NULL Pointer Dereference 的,指定用戶進程通過 mmap 可以使用的最低的虛擬內存地址。

參考