Linux中常用的函数

1.devm_kzalloc()

函数 devm_kzalloc() 和kzalloc()一样都是内核内存分配函数,但是devm_kzalloc()是跟设备(device)有关的,当设备(device)被detached或者驱动(driver)卸载(unloaded)时,内存会被自动释放。另外,当内存不在使用时,可以使用函数devm_kfree()释放。
而kzalloc()则需要手动释放(使用kfree()),但如果工程师检查不仔细,则有可能造成内存泄漏。
下面是devm_kzalloc()的实现:
/* managed devm_k.alloc/kfree for device drivers */  
extern void *devm_kmalloc(struct device *dev, size_t size, gfp_t gfp);  
static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp)  
{  
    return devm_kmalloc(dev, size, gfp | __GFP_ZERO);  
}  

参考:http://blog.csdn.net/jgw2008/article/details/52691568

原文地址:https://www.cnblogs.com/hellokitty2/p/7493160.html