2011-04-15 127 views
5

有什麼辦法可以標記一個頁面只執行沒有讀取權限? (即能夠在沒有讀取該頁面的可執行文件的權限的情況下執行該頁面上的指令)。Linux內存管理

我的最終目標是製作一個我可以執行的頁面,但其他進程不應該能夠進行任何數據訪問該頁面..

+1

出於好奇,您打算如何在不讀取頁面的情況下允許執行權限?我的意思是......你需要閱讀說明來執行它們,對嗎? – 2011-04-15 19:35:24

回答

4

這是這是內核和硬件相關的事情之一,如mprotect() manual page提到:

無論PROT_EXEC具有PROT_READ不同任何效果架構和內核版本有關。

在最近的Linux/x86的內核,這些標誌是絕對分離的,如果你的CPU支持NX-bit。在其他x86 CPU上,這取決於您的內核是否支持Exec-Shield或其他類似的NX位模擬。