mbox series

[0/1] Bluetooth: ISO: Check socket flag instead of hcon

Message ID 20240618103324.15645-1-iulia.tanasescu@nxp.com (mailing list archive)
Headers show
Series Bluetooth: ISO: Check socket flag instead of hcon | expand

Message

Iulia Tanasescu June 18, 2024, 10:33 a.m. UTC
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,

Iulia Tanasescu (1):
  Bluetooth: ISO: Check socket flag instead of hcon

 net/bluetooth/iso.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)


base-commit: e3203b17771757fdcd259d6378673f1590e36694

Comments

patchwork-bot+bluetooth@kernel.org June 18, 2024, 3:30 p.m. UTC | #1
Hello:

This patch was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Tue, 18 Jun 2024 13:33:23 +0300 you wrote:
> 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
> 
> [...]

Here is the summary with links:
  - [1/1] Bluetooth: ISO: Check socket flag instead of hcon
    https://git.kernel.org/bluetooth/bluetooth-next/c/81e5a080450a

You are awesome, thank you!