Chinaunix

标题: mmap内存的释放问题 [打印本页]

作者: drangon    时间: 2016-11-01 15:44
标题: mmap内存的释放问题
在驱动里面通过 vmalloc 申请了一块内存,然后通过 remap_vmalloc_range 映射给用户态,
那么释放的时候,能否内核先 vfree 再通知用户态去 munmap,在此中间用户态继续访问这块内存是否可以?
还是必须先通知用户态 munmap 完成后,再反过来通知内核态去 vfree ?


作者: nswcfd    时间: 2016-11-05 15:24
vfree会调用__vunmap,进而把vmalloc对应的page归还给buddy system。
不过这之间有个检查page引用计数的操作,如果 remap_vmalloc_range 拿了page的引用计数似乎又没有问题?
楼主有没有做实验试一下?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2