因此内核使用了slab分配器进行小内存的分配。在执行write模块时会将用户空间的数据拷贝到内核堆空间中,由于没有做长度的限制,因此存在着内核堆溢出的漏洞。2.利用堆溢出将ops指针修改为可控的内核堆地址并在该地址中填充函数地址通过read模块泄露堆地址
因此内核使用了slab分配器进行小内存的分配。在执行write模块时会将用户空间的数据拷贝到内核堆空间中,由于没有做长度的限制,因此存在着内核堆溢出的漏洞。2.利用堆溢出将ops指针修改为可控的内核堆地址并在该地址中填充函数地址通过read模块泄露堆地址
*new_device);//向核心注册USB转串口设备*device);//向核心注销USB转串口设备。当USB设备插入插槽的时候,会引起一个电信号的变化,主机控制器捕获这个电信号,并命令USB核心处理对设备的加载工作。USB核心读取到USB设备固件中相关的信息,并与挂接到USB总线上的驱动程序相比较,如果找到合适的驱动程序usb_driver,就会调用驱动程序的probe()函数。