c - 在 kmem_cache_free 释放其包含结构之前,必须解锁互斥体吗?

标签 c linux kernel mutex linux-device-driver

在 linux 内核驱动程序中,互斥量必须在释放并返回到缓存之前解锁吗?我假设它一定是,不提供任何底层 kmem_cache 本身!?

最佳答案

是的,它必须。

代码here (如果使用 slab 分配器)甚至会尝试弄清楚你释放的对象中是否有一些锁,并且 tell you如果它们仍然处于锁定状态,则说明您遇到了错误。

关于c - 在 kmem_cache_free 释放其包含结构之前,必须解锁互斥体吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20613405/

相关文章:

c - 为什么这个普通的 C 程序被检测为病毒?

c - objdump:无法使用提供的机器 MIPS

在结构中调用字符数组

移动到不同的头文件后无法发送指向结构的指针

c++ - 为 ARM 交叉编译 ActiveMQ

c++ - 在Linux中这里有 “CreatePipe”和 “CreateProcessW”函数吗?

linux - 如何在 bash 脚本中格式化输出字符串以供另一个脚本输入?

java - JDK问题: interrupt another thread blocked on an IO operation with signal may fail

c++ - 是否有像 : is the memory readonly or accesible by current process? 这样的运行时断言

c - libc.so 在一个进程中映射了四个段,为什么?