driver core: class: fix slab-use-after-free Read in class_register()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Apr 2023 10:09:26 +0000 (12:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Apr 2023 10:20:54 +0000 (12:20 +0200)
commitf326ea63ecc683b3dc88d8ee4f598598d4ed3b39
treeed540e1bd38da4ac3cd7952fdcd991070e7858fa
parent980c05616e5d554c46176fe08b5601801f2f8192
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>
drivers/base/class.c