我正在编写一个设备驱动程序,除其他外,它使用kmalloc
. 当用户程序关闭文件时,该内存被释放。在我的一项实验中,用户程序在没有关闭文件的情况下崩溃了。
有什么东西可以释放这段记忆吗?
在另一个实验中,我将函数kfree()
从close()
函数移到module_exit()
函数。当我连续两次运行用户程序时,我kmalloc
再次使用与以前相同的指针再次调用,而没有先释放它。因此,我丢失了指向该内存的指针,并且无法释放它。
在我重新启动之前,这个内存是否会丢失给系统,或者当我卸载驱动程序时它会被释放?