## RedZone 假设使用 AddressSanitizer 探测内存违规访问问题,用户需要malloc 5字节内存: ```cpp char *p = malloc(5); ``` AddressSanitizer 将实际分配的内存会大于请求的内存,假设实际分配32字节,那么前16个字节q[0~15],就是该内存堆的“left red zone”,然后是5字节用户数据区,最后11个字节数内存堆的“right red zone”。最终将 q[16] 作为malloc地址返回给用户。 ## misc misc是miscellaneous的缩写,有“杂项、混合体、大杂烩”的意思。 在linux的源码中可以看到与misc相关的文件或函数名,使用misc来命名主要是表示该文件还没归类好,不知道将它归到哪个方面或者放置在哪个地方比较好,所以暂时用misc。比如在include\linux\文件夹下,有一个miscdevice.h头文件;在代码里面也会经常碰到misc前缀的变量名或者函数。 ## etc Linux目录名之一,在很多的配置过程中我们很可能都接触过它,关于etc的字面意思,有人说是“and so on”的意思,源自法语“et cetera” (直译是“等等,用于放其它目录下不匹配的东西,什么杂七杂八的都有”),也有传言说是"Editable Text Configuration",也有人戏说是“Every Thing Config”,但是至今没有一个明确的定论。至于为什么在/etc下面存放配置文件,按照原始的UNIX的说法(Linux文件结构参考UNIX的教学实现MINIX)这下面放的都是一堆零零碎碎的东西,就叫etc,这其实是个历史遗留。 ## 参考 - [AddressSanitizer, What do these terms mean?](https://stackoverflow.com/questions/60476634/addresssanitizer-what-do-these-terms-mean)