greybus: interface: fix potential use-after-free at remove
Fix resources (accessible through sysfs) being released before interface is deregistered. Signed-off-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
f865734d3c
commit
eeb6a6ff59
@ -60,6 +60,9 @@ static void gb_interface_release(struct device *dev)
|
||||
{
|
||||
struct gb_interface *intf = to_gb_interface(dev);
|
||||
|
||||
kfree(intf->product_string);
|
||||
kfree(intf->vendor_string);
|
||||
|
||||
kfree(intf);
|
||||
}
|
||||
|
||||
@ -191,9 +194,6 @@ void gb_interface_remove(struct gb_interface *intf)
|
||||
list_for_each_entry_safe(bundle, next, &intf->bundles, links)
|
||||
gb_bundle_destroy(bundle);
|
||||
|
||||
kfree(intf->product_string);
|
||||
kfree(intf->vendor_string);
|
||||
|
||||
module = intf->module;
|
||||
device_unregister(&intf->dev);
|
||||
put_device(&module->dev);
|
||||
|
Loading…
x
Reference in New Issue
Block a user