Luiz Augusto von Dentz
0c108cf3ad
Bluetooth: L2CAP: Fix user-after-free
[ Upstream commit 35fcbc4243 ]
This uses l2cap_chan_hold_unless_zero() after calling
__l2cap_get_chan_blah() to prevent the following trace:
Bluetooth: l2cap_core.c:static void l2cap_chan_destroy(struct kref
*kref)
Bluetooth: chan 0000000023c4974d
Bluetooth: parent 00000000ae861c08
==================================================================
BUG: KASAN: use-after-free in __mutex_waiter_is_first
kernel/locking/mutex.c:191 [inline]
BUG: KASAN: use-after-free in __mutex_lock_common
kernel/locking/mutex.c:671 [inline]
BUG: KASAN: use-after-free in __mutex_lock+0x278/0x400
kernel/locking/mutex.c:729
Read of size 8 at addr ffff888006a49b08 by task kworker/u3:2/389
Link: https://lore.kernel.org/lkml/20220622082716.478486-1-lee.jones@linaro.org
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sungwoo Kim <iam@sung-woo.kim>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-26 13:25:47 +02:00
..
2021-09-15 09:50:34 +02:00
2022-08-21 15:16:26 +02:00
2021-07-31 08:16:11 +02:00
2022-07-29 17:19:07 +02:00
2021-04-07 15:00:08 +02:00
2020-10-31 12:26:30 -07:00
2022-06-22 14:13:17 +02:00
2022-05-18 10:23:42 +02:00
2022-10-26 13:25:47 +02:00
2022-09-05 10:28:56 +02:00
2021-07-14 16:56:29 +02:00
2022-09-28 11:10:36 +02:00
2021-09-22 12:27:56 +02:00
2022-10-26 13:25:47 +02:00
2022-05-25 09:17:56 +02:00
2022-10-26 13:25:47 +02:00
2022-03-08 19:09:37 +01:00
2022-08-21 15:15:52 +02:00
2022-08-31 17:15:19 +02:00
2020-04-28 14:39:46 -07:00
2022-05-09 09:05:02 +02:00
2020-05-23 16:56:17 -07:00
2021-12-17 10:14:41 +01:00
2021-06-03 09:00:50 +02:00
2022-10-26 13:25:23 +02:00
2019-09-26 08:56:17 +02:00
2022-10-26 13:25:45 +02:00
2022-10-26 13:25:22 +02:00
2021-03-07 12:34:05 +01:00
2022-09-08 11:11:37 +02:00
2022-08-31 17:15:15 +02:00
2022-06-22 14:13:15 +02:00
2022-04-27 13:53:50 +02:00
2021-02-10 09:29:14 +01:00
2022-03-28 09:57:10 +02:00
2022-10-26 13:25:19 +02:00
2022-09-08 11:11:40 +02:00
2022-09-08 11:11:40 +02:00
2022-08-31 17:15:19 +02:00
2022-01-05 12:40:32 +01:00
2022-09-28 11:10:35 +02:00
2022-04-13 21:01:00 +02:00
2022-08-25 11:38:07 +02:00
2022-01-27 10:54:03 +01:00
2022-06-09 10:21:01 +02:00
2020-06-14 01:57:21 +09:00
2022-10-26 13:25:45 +02:00
2022-09-05 10:28:59 +02:00
2022-01-11 15:25:01 +01:00
2021-03-07 12:34:07 +01:00
2022-08-25 11:38:23 +02:00
2022-10-26 13:25:23 +02:00
2020-11-12 09:18:06 +01:00
2022-08-31 17:15:16 +02:00
2022-09-23 14:16:59 +02:00
2022-10-05 10:38:42 +02:00
2022-10-26 13:25:23 +02:00
2022-09-28 11:10:36 +02:00
2021-11-18 14:04:27 +01:00
2022-08-31 17:15:15 +02:00
2021-02-07 15:37:12 +01:00
2022-09-15 11:32:05 +02:00
2022-08-03 12:00:46 +02:00
2022-06-14 18:32:40 +02:00
2022-10-26 13:25:22 +02:00
2020-10-02 19:11:11 -07:00
2022-10-15 07:55:56 +02:00
2022-04-08 14:40:30 +02:00
2022-10-15 07:55:51 +02:00
2022-10-26 13:25:46 +02:00
2021-06-18 10:00:06 +02:00
2020-06-30 15:57:34 -07:00
2020-09-30 18:01:26 -07:00
2020-05-23 16:56:17 -07:00
2022-08-31 17:15:21 +02:00
2019-05-21 10:50:45 +02:00