mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-10 07:10:27 +00:00
driver core: class: fix slab-use-after-free Read in class_register()
Syzbot found that we had forgotten to unregister the lock_class_key when using it in commit dcfbb67e48a2 ("driver core: class: use lock_class_key already present in struct subsys_private") so fix that up and correctly release it when done. Cc: "Rafael J. Wysocki" <rafael@kernel.org> Reported-and-tested-by: <syzbot+41d665317c811d4d88aa@syzkaller.appspotmail.com> Fixes: dcfbb67e48a2 ("driver core: class: use lock_class_key already present in struct subsys_private") Link: https://lore.kernel.org/r/2023040126-blandness-duckling-bd55@gregkh Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
980c05616e
commit
f326ea63ec
@ -103,6 +103,7 @@ static void class_release(struct kobject *kobj)
|
||||
pr_debug("class '%s' does not have a release() function, "
|
||||
"be careful\n", class->name);
|
||||
|
||||
lockdep_unregister_key(&cp->lock_key);
|
||||
kfree(cp);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user