Skip to content

Commit c5ed1fe

Browse files
Yang Yingliangtsbogend
authored andcommitted
MIPS: vpe-cmp: fix possible memory leak while module exiting
dev_set_name() allocates memory for name, it need be freed when module exiting, call put_device() to give up reference, so that it can be freed in kobject_cleanup() when the refcount hit to 0. The vpe_device is static, so remove kfree() from vpe_device_release(). Fixes: 17a1d52 ("MIPS: APRP: Add VPE loader support for CMP platforms.") Signed-off-by: Yang Yingliang <[email protected]> Signed-off-by: Thomas Bogendoerfer <[email protected]>
1 parent 5822e8c commit c5ed1fe

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

arch/mips/kernel/vpe-cmp.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ ATTRIBUTE_GROUPS(vpe);
7575

7676
static void vpe_device_release(struct device *cd)
7777
{
78-
kfree(cd);
7978
}
8079

8180
static struct class vpe_class = {
@@ -157,6 +156,7 @@ int __init vpe_module_init(void)
157156
device_del(&vpe_device);
158157

159158
out_class:
159+
put_device(&vpe_device);
160160
class_unregister(&vpe_class);
161161

162162
out_chrdev:
@@ -169,7 +169,7 @@ void __exit vpe_module_exit(void)
169169
{
170170
struct vpe *v, *n;
171171

172-
device_del(&vpe_device);
172+
device_unregister(&vpe_device);
173173
class_unregister(&vpe_class);
174174
unregister_chrdev(major, VPE_MODULE_NAME);
175175

0 commit comments

Comments
 (0)