Linux内核态设置某片虚拟地址为只读的方法
2010-09-20 10:20
267 查看
下面这段代码主要用在虚拟地址映射比较固定的情况。该代码的作用主要是便于调试“内存被别的代码踩”,把被怀疑的内存设置为只读后,如果有别的程序写到该区域就会打印出Stack,很容易找出是谁踩了你的内存了,呵呵。。。
RT_STATUS mmap_SetAddrRDONLY (unsigned long virt_addr, unsigned long size /* KB */) { int i; pte_t *p_pte; uint32 level; int ret = RT_OK; ASSERT(size < MEM_SIZE_256M); for (i = 0; i < (size/4); i++) { p_pte = lookup_address(virt_addr, &level); if(level != PG_LEVEL_4K){ ret = RT_FAIL; ASSERT(FALSE); break; } if (pte_present(*p_pte)){ set_pte(p_pte, pte_wrprotect(*p_pte)); virt_addr += MEM_SIZE_4K; } else { ASSERT(FALSE); ret = RT_FAIL; break; } } return ret; }
相关文章推荐
- linux配置虚拟IP地址方法
- JBoss中配置虚拟目录以及设置浏览器地址输入框支持中文的方法
- Linux下获取虚拟地址对应的物理地址的方法
- linux配置虚拟IP地址方法
- Linux下vsftpd基本配置和虚拟用户设置的安全方法
- Linux下获取虚拟地址对应的物理地址的方法
- Linux新加硬盘分区并设置系统启动自动挂载的方法
- Linux IP 设置方法
- [ecshop 资料]ecshop商品自定义销量(虚拟销量)实现方法 后台可以自由设置
- VMWare中Linux虚拟机设置静态IP上网的设置方法
- 在linux下设置开机自动启动程序的方法
- Linux里设置环境变量的方法
- Linux 中环境变量的设置方法详细介绍
- Linux里设置环境变量的方法(export PATH)
- LINUX的DNS设置方法
- linux设置受限制shell 方法
- Linux下常用安全策略设置的六个方法
- linux下生成core dump文件方法及设置
- Linux设置动态IP方法
- Linux操作系统下实现FTP虚拟主机的方法