In the Linux kernel, the following vulnerability has been resolved: drivers: dio: fix possible memory leak in dioinit() If deviceregister() returns error, the 'dev' and name needs be freed. Add a release function, and then call putdevice() in the error path, so the name is freed in kobjectcleanup() and to the 'dev' is freed in release function.