一、背景这篇博客里,我们针对缺页异常做实验,场景是用户态进行malloc,但是是在内核态的逻辑里进行使用,触发了缺页异常,来分析调用栈及分配标志位。在下面第二章里,我们给出例子的源码及实验步骤,在第三章里,我们针对实验结果进行分析。二、内核态里触发缺页异常的调用链及内存分配flags的实验2.1 实验用的源码2.1.1 实验用的ko源码#include linux/module.h #include linux/capability.h #include linux/sched.h #include linux/uaccess.h #include linux/proc_fs.h #include linux/ctype.h #include linux/seq_file.h #include linux/poll.h #include linux/types.h #include linux/ioctl.h #include linux/errno.h #include linux/stddef.h #include linux/lockdep.h #include linux/kthread.h #in
缺页异常基于malloc()来进行分析调用栈及分配标志位
一、背景这篇博客里,我们针对缺页异常做实验,场景是用户态进行malloc,但是是在内核态的逻辑里进行使用,触发了缺页异常,来分析调用栈及分配标志位。在下面第二章里,我们给出例子的源码及实验步骤,在第三章里,我们针对实验结果进行分析。二、内核态里触发缺页异常的调用链及内存分配flags的实验2.1 实验用的源码2.1.1 实验用的ko源码#include linux/module.h #include linux/capability.h #include linux/sched.h #include linux/uaccess.h #include linux/proc_fs.h #include linux/ctype.h #include linux/seq_file.h #include linux/poll.h #include linux/types.h #include linux/ioctl.h #include linux/errno.h #include linux/stddef.h #include linux/lockdep.h #include linux/kthread.h #in