mirror of
https://github.com/sysprog21/lkmpg.git
synced 2024-11-22 09:27:58 +08:00
Fix potential reference count leak in vinput
In the export_store function, when vinput_register_vdevice fails, the current error handling process calls device_unregister followed by vinput_destroy_vdevice. However, the device_unregister here triggers its release function, which already includes a call to vinput_destroy_vdevice. As a result, vinput_destroy_vdevice is called twice. Since vinput_destroy_vdevice contains module_put, this double call must be avoided to prevent potential reference count issues.
This commit is contained in:
parent
ac1894673d
commit
3ec01e2cf1
|
@ -284,6 +284,8 @@ static ssize_t export_store(struct class *class, struct class_attribute *attr,
|
||||||
|
|
||||||
fail_register_vinput:
|
fail_register_vinput:
|
||||||
device_unregister(&vinput->dev);
|
device_unregister(&vinput->dev);
|
||||||
|
/* avoid calling vinput_destroy_vdevice() twice */
|
||||||
|
return err;
|
||||||
fail_register:
|
fail_register:
|
||||||
vinput_destroy_vdevice(vinput);
|
vinput_destroy_vdevice(vinput);
|
||||||
fail:
|
fail:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user