]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Bluetooth: qca: fix NULL-deref on non-serdev suspend
authorJohan Hovold <johan+linaro@kernel.org>
Mon, 22 Apr 2024 13:57:47 +0000 (15:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 May 2024 14:32:43 +0000 (16:32 +0200)
commit6b47cdeb786c38e4174319218db3fa6d7b4bba88
treebe40151068d57af2df45da113d617a2a36048447
parente0813f22c30b685942a46cb544e4c776b83dea3c
Bluetooth: qca: fix NULL-deref on non-serdev suspend

commit 73e87c0a49fda31d7b589edccf4c72e924411371 upstream.

Qualcomm ROME controllers can be registered from the Bluetooth line
discipline and in this case the HCI UART serdev pointer is NULL.

Add the missing sanity check to prevent a NULL-pointer dereference when
wakeup() is called for a non-serdev controller during suspend.

Just return true for now to restore the original behaviour and address
the crash with pre-6.2 kernels, which do not have commit e9b3e5b8c657
("Bluetooth: hci_qca: only assign wakeup with serial port support") that
causes the crash to happen already at setup() time.

Fixes: c1a74160eaf1 ("Bluetooth: hci_qca: Add device_may_wakeup support")
Cc: stable@vger.kernel.org # 5.13
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/bluetooth/hci_qca.c