[转]mmap和madvise的使用】的更多相关文章

1.    madvise的简介            madvise可以设置内存的分配方式或者说是分配的细节方式.具体参见linux man madvise. #include <sys/types.h> #include <sys/mman.h> int madvise(caddr_t addr, size_t len, int advice); madvise() 函数提供了以下标志,这些标志影响 lgroup 之间线程内存的分配方式: MADV_ACCESS_DEFAULT…
http://linux.die.net/man/2/madvise mmap && madvise的配合使用 mmap和madvise一起使用例子 mmap的作用是将硬盘文件的内容映射到内存中,采用闭链哈希建立的索引文件非常适合利用mmap的方式进行内存映射,利用mmap返回的地址指针就是索引文件在内存中的首地址,这样我们就可以放心大胆的访问这些内容了. 使用过mmap映射文件的同学会发现一个问题,search程序访问对应的内存映射时,处理query的时间会有latecny会陡升,究其原…
dirtycow漏洞,原理还没看懂,找了几个PoC实验了一下. dirtyc0w.c我在CentOS和Kali上都失败了 pokemon.c在CentOS上成功修改了只读文件,不过修改的不是很顺利,结尾总是有其他字符. dirtyc0w.c /* ####################### dirtyc0w.c ####################### $ sudo -s # echo this is not a test > foo # chmod 0404 foo $ ls -la…
一.漏洞简介 CVE-2016-5195这个漏洞是linux内核级的本地提权漏洞,原理是linux内核内存子系统在 处理私有只读存储映射的写入时复制机制发现了一个冲突条件.这个漏洞官方给出的影响范围是在 linux内核2.6.22以后的版本都受影响,同时已经在2016年10月18日进行了修复. 二.漏洞影响 1. 没有权限的本地用户可以使用此漏洞获取写访问权限,修改制度内存映射,从而提权. 2. 改漏洞允许攻击者使用本地账户修改磁盘上的二进制文件,绕过标准权限的限制,这些权限机制通常用于防止修改…
http://oenhan.com/archives,包括<KVM源代码分析1:基本工作原理>.<KVM源代码分析2:虚拟机的创建与运行>.<KVM源代码分析3:CPU虚拟化>.<KVM源代码分析4:内存虚拟化>.<KVM源代码分析5:IO虚拟化之PIO>,可以有个基本认识,以及CPU.内存.IO虚拟化(里面的一些图居然没有了,可以在转载地址找到). 这一系列文章按照基础原理.使用以及CPU/Memory/IO虚拟化分析来进行的. KVM源代码分…
使用裸设备,还是使用文件系统?   描述 pros cons 裸设备 顺序读磁盘快比随机要快10-100倍,DB比OS更懂磁盘负载,因此很多DB是直接管理数据块如何存放的. DB对裸设备的管理,比文件系统成熟得早,加上性能高,以及可忽略文件系统之间的差异,写裸设备也是推荐的. 要求DBA给DB划分整个磁盘: 同时裸设备接口随OS不同而不同,因此阻碍了商业化DB使用此方式: 最后裸设备不支持raid.san.nas.随着时间迁移,裸设备的优势已经不明显了. 文件系统 创建一个大文件,通过文件偏移量…
这个名叫Dirty COW,也就是脏牛的漏洞,存在Linux内核中已经有长达9年的时间,也就说2007年发布的Linux内核版本中就已经存在此漏洞.Linux kernel团队已经对此进行了修复. 漏洞编号: CVE-2016-5195 漏洞名称: Dirty COW 漏洞危害: 低权限用户利用该漏洞可以在众多Linux系统上实现本地提权 影响范围: Linux kernel >= 2.6.22(2007年发行,到今年10月18日才修复) 漏洞概述: 该漏洞具体为,Linux内核的内存子系统在处…
今天碰到一个大坑,差点要了老命! 之前装了ubuntu双系统,后来崩溃,想在就想装VMware虚拟机,再装ubuntu,一切进展顺利,直到在虚拟机的ubuntu中安装IDEA时出现了问题. 安装过程并没有报错,但是启动后运行一个项目,项目还没加载呢就直接退出,生成个错误日志,如下: OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000f5a9b000, 66166784, 0) failed; error='无法…
1.CH4INRULZ_v1.0.1靶场通关 ch4inrulz是vulnhub下的基于Linux的一个靶场,作为练习之用 目的:通过各种手段,获取到靶机内的flag的内容 2.环境搭建: 攻击机 Kali 192.168.31.51 靶机 Ubuntu 192.168.31.128 2.1下载CH4INRULZ_v1.0.1靶场,地址:https://download.vulnhub.com/ch4inrulz/CH4INRULZ_v1.0.1.ova 2.2将下载好的.ova扩展名的文件,直…
专题:Linux内存管理专题 关键词:文件映射.匿名映射.私有映射.共享映射 mmap/munmap是常用的一个系统调用,使用场景是:分配内存.读写大文件.连接动态库文件.多进程间共享内存. 更详细解读参考<Linux内存管理 (9)mmap(补充)>. 1. mmap/munmap介绍 mmap/munmap函数声明如下: #include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags…