Iulia Tanasescu
0456697104
Bluetooth: ISO: Check socket flag instead of hcon
...
[ Upstream commit 596b6f081336e77764ca35cfeab66d0fcdbe544e ]
This fixes the following Smatch static checker warning:
net/bluetooth/iso.c:1364 iso_sock_recvmsg()
error: we previously assumed 'pi->conn->hcon' could be null (line 1359)
net/bluetooth/iso.c
1347 static int iso_sock_recvmsg(struct socket *sock, struct msghdr *msg,
1348 size_t len, int flags)
1349 {
1350 struct sock *sk = sock->sk;
1351 struct iso_pinfo *pi = iso_pi(sk);
1352
1353 BT_DBG("sk %p", sk);
1354
1355 if (test_and_clear_bit(BT_SK_DEFER_SETUP,
&bt_sk(sk)->flags)) {
1356 lock_sock(sk);
1357 switch (sk->sk_state) {
1358 case BT_CONNECT2:
1359 if (pi->conn->hcon &&
^^^^^^^^^^^^^^ If ->hcon is NULL
1360 test_bit(HCI_CONN_PA_SYNC,
&pi->conn->hcon->flags)) {
1361 iso_conn_big_sync(sk);
1362 sk->sk_state = BT_LISTEN;
1363 } else {
--> 1364 iso_conn_defer_accept(pi->conn->hcon);
^^^^^^^^^^^^^^
then we're toast
1365 sk->sk_state = BT_CONFIG;
1366 }
1367 release_sock(sk);
1368 return 0;
1369 case BT_CONNECTED:
1370 if (test_bit(BT_SK_PA_SYNC,
Fixes: fbdc4bc47268 ("Bluetooth: ISO: Use defer setup to separate PA sync and BIG sync")
Signed-off-by: Iulia Tanasescu <iulia.tanasescu@nxp.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-11 12:49:11 +02:00
..
2024-06-16 13:47:41 +02:00
2024-05-17 12:02:07 +02:00
2023-12-20 17:01:50 +01:00
2023-12-20 17:01:48 +01:00
2024-06-21 14:38:14 +02:00
2024-07-05 09:34:04 +02:00
2024-07-11 12:49:11 +02:00
2024-06-21 14:38:16 +02:00
2023-05-31 13:06:57 +02:00
2024-06-21 14:38:36 +02:00
2023-06-24 15:50:13 -07:00
2024-07-05 09:34:01 +02:00
2024-03-01 13:34:56 +01:00
2024-07-05 09:33:47 +02:00
2023-08-01 21:07:46 -07:00
2024-07-05 09:33:48 +02:00
2024-03-26 18:20:11 -04:00
2024-01-25 15:35:41 -08:00
2023-08-09 13:08:09 -07:00
2024-05-02 16:32:46 +02:00
2024-06-21 14:38:20 +02:00
2024-02-23 09:24:50 +01:00
2024-05-17 12:02:24 +02:00
2023-08-29 17:39:15 -07:00
2024-01-01 12:42:30 +00:00
2024-07-11 12:49:11 +02:00
2024-06-27 13:49:08 +02:00
2024-07-05 09:33:51 +02:00
2024-03-26 18:19:40 -04:00
2023-08-18 12:44:56 -07:00
2024-05-17 12:02:02 +02:00
2024-02-05 20:14:36 +00:00
2024-06-21 14:38:13 +02:00
2024-07-11 12:49:10 +02:00
2024-03-26 18:19:34 -04:00
2024-04-13 13:07:41 +02:00
2024-06-21 14:38:38 +02:00
2024-06-21 14:38:14 +02:00
2024-07-05 09:33:49 +02:00
2024-01-25 15:35:14 -08:00
2024-03-06 14:48:34 +00:00
2024-06-27 13:49:06 +02:00
2024-06-12 11:12:51 +02:00
2024-05-17 12:02:02 +02:00
2024-07-05 09:33:46 +02:00
2024-06-27 13:49:01 +02:00
2024-05-17 12:02:22 +02:00
2023-12-13 18:45:10 +01:00
2024-06-12 11:12:12 +02:00
2024-04-10 16:35:49 +02:00
2024-01-01 12:42:41 +00:00
2024-01-01 12:42:31 +00:00
2024-05-17 12:02:23 +02:00
2024-06-27 13:49:15 +02:00
2024-07-11 12:49:06 +02:00
2024-06-21 14:38:16 +02:00
2024-06-21 14:38:28 +02:00
2024-03-01 13:35:06 +01:00
2024-06-27 13:49:07 +02:00
2024-06-12 11:12:50 +02:00
2024-06-21 14:38:36 +02:00
2024-04-10 16:35:50 +02:00
2024-06-21 14:38:12 +02:00
2024-03-26 18:19:41 -04:00
2024-04-17 11:19:28 +02:00
2024-06-16 13:47:44 +02:00
2023-07-19 10:07:27 -07:00
2024-01-10 17:16:51 +01:00
2023-08-15 15:26:17 -07:00