+1
−1
Loading
This fixes the condition checking so mgmt_pending_valid is executed whenever status != -ECANCELED otherwise calling mgmt_pending_free(cmd) would kfree(cmd) without unlinking it from the list first, leaving a dangling pointer. Any subsequent list traversal (e.g., mgmt_pending_foreach during __mgmt_power_off, or another mgmt_pending_valid call) would dereference freed memory. Link: https://lore.kernel.org/linux-bluetooth/20260315132013.75ab40c5@kernel.org/T/#m1418f9c82eeff8510c1beaa21cf53af20db96c06 Fixes: 302a1f67 ("Bluetooth: MGMT: Fix possible UAFs") Signed-off-by:Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Reviewed-by:
Paul Menzel <pmenzel@molgen.mpg.de>