Memory 如何释放cdev_alloc分配的内存?

Memory 如何释放cdev_alloc分配的内存?,memory,linux-kernel,linux-device-driver,Memory,Linux Kernel,Linux Device Driver,“LDD3,第3章”向我们展示了我们可以在运行时分配struct cdev结构,如下所示: struct cdev *cdev_ptr = cdev_alloc(); 但我不知道如何释放这个内存,因为cdev\u del()似乎无法释放kzmaloc()中cdev\u alloc()中cdev\u del()调用cdev\u del()将自动释放cdev\u alloc()创建的cdev结构 根据,cdev\u alloc()为内部对象注册特殊回调。当对象的引用计数降至零并释放分配的内存时,将

“LDD3,第3章”向我们展示了我们可以在运行时分配
struct cdev
结构,如下所示:

struct cdev *cdev_ptr = cdev_alloc();
但我不知道如何释放这个内存,因为
cdev\u del()
似乎无法释放
kzmaloc()
cdev\u alloc()
cdev\u del()

调用
cdev\u del()
将自动释放
cdev\u alloc()
创建的
cdev
结构

根据,
cdev\u alloc()
为内部对象注册特殊回调。当对象的引用计数降至零并释放分配的内存时,将调用此回调

还有,他说:

/**
*cdev_del()-从系统中移除cdev
*@p:要删除的cdev结构
*
*cdev_del()从系统中删除@p,可能会释放结构
*本身。
*/