mprotect を使用して特定のメモリ領域を保護したい。
そこで、保護する仮想アドレスを指定するコードを書きましたが、mprotect が機能しません。
私のコードに問題はありますか?
これが私のコードです。
int main(int argc, char *argv[]) {
size_t vaddr = strtoull(argv[1], NULL, 0); //./a.out 0xffff880446ced000
printf("addr : %p\n", vaddr);
if(mprotect(vaddr, 0x1000, PROT_READ | PROT_WRITE)==-1) {
printf("mprotect error\n");
return 0;
}
return 0;
}