CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Marcel Holtmann <[email protected]>
CC: Luiz Augusto von Dentz <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   feb9c5e19e913b53cb536a7aa7c9f20107bb51ec
commit: 6a98e3836fa2077b169f10a35c2ca9952d53f987 Bluetooth: Add helper for 
serialized HCI command execution
date:   6 months ago
:::::: branch date: 24 hours ago
:::::: commit date: 6 months ago
config: csky-randconfig-m031-20220508 
(https://download.01.org/0day-ci/archive/20220512/[email protected]/config)
compiler: csky-linux-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
net/bluetooth/hci_sync.c:170 __hci_cmd_sync_sk() error: (-2147483647) too low 
for ERR_PTR

Old smatch warnings:
net/bluetooth/hci_sync.c:226 __hci_cmd_sync_status_sk() warn: passing zero to 
'PTR_ERR'
net/bluetooth/hci_sync.c:228 __hci_cmd_sync_status_sk() warn: passing zero to 
'PTR_ERR'

vim +170 net/bluetooth/hci_sync.c

6a98e3836fa207 Marcel Holtmann 2021-10-27  118  
6a98e3836fa207 Marcel Holtmann 2021-10-27  119  /* This function requires the 
caller holds hdev->req_lock. */
6a98e3836fa207 Marcel Holtmann 2021-10-27  120  struct sk_buff 
*__hci_cmd_sync_sk(struct hci_dev *hdev, u16 opcode, u32 plen,
6a98e3836fa207 Marcel Holtmann 2021-10-27  121                                  
  const void *param, u8 event, u32 timeout,
6a98e3836fa207 Marcel Holtmann 2021-10-27  122                                  
  struct sock *sk)
6a98e3836fa207 Marcel Holtmann 2021-10-27  123  {
6a98e3836fa207 Marcel Holtmann 2021-10-27  124          struct hci_request req;
6a98e3836fa207 Marcel Holtmann 2021-10-27  125          struct sk_buff *skb;
6a98e3836fa207 Marcel Holtmann 2021-10-27  126          int err = 0;
6a98e3836fa207 Marcel Holtmann 2021-10-27  127  
6a98e3836fa207 Marcel Holtmann 2021-10-27  128          bt_dev_dbg(hdev, "");
6a98e3836fa207 Marcel Holtmann 2021-10-27  129  
6a98e3836fa207 Marcel Holtmann 2021-10-27  130          hci_req_init(&req, 
hdev);
6a98e3836fa207 Marcel Holtmann 2021-10-27  131  
6a98e3836fa207 Marcel Holtmann 2021-10-27  132          hci_cmd_sync_add(&req, 
opcode, plen, param, event, sk);
6a98e3836fa207 Marcel Holtmann 2021-10-27  133  
6a98e3836fa207 Marcel Holtmann 2021-10-27  134          hdev->req_status = 
HCI_REQ_PEND;
6a98e3836fa207 Marcel Holtmann 2021-10-27  135  
6a98e3836fa207 Marcel Holtmann 2021-10-27  136          err = 
hci_cmd_sync_run(&req);
6a98e3836fa207 Marcel Holtmann 2021-10-27  137          if (err < 0)
6a98e3836fa207 Marcel Holtmann 2021-10-27  138                  return 
ERR_PTR(err);
6a98e3836fa207 Marcel Holtmann 2021-10-27  139  
6a98e3836fa207 Marcel Holtmann 2021-10-27  140          err = 
wait_event_interruptible_timeout(hdev->req_wait_q,
6a98e3836fa207 Marcel Holtmann 2021-10-27  141                                  
               hdev->req_status != HCI_REQ_PEND,
6a98e3836fa207 Marcel Holtmann 2021-10-27  142                                  
               timeout);
6a98e3836fa207 Marcel Holtmann 2021-10-27  143  
6a98e3836fa207 Marcel Holtmann 2021-10-27  144          if (err == -ERESTARTSYS)
6a98e3836fa207 Marcel Holtmann 2021-10-27  145                  return 
ERR_PTR(-EINTR);
6a98e3836fa207 Marcel Holtmann 2021-10-27  146  
6a98e3836fa207 Marcel Holtmann 2021-10-27  147          switch 
(hdev->req_status) {
6a98e3836fa207 Marcel Holtmann 2021-10-27  148          case HCI_REQ_DONE:
6a98e3836fa207 Marcel Holtmann 2021-10-27  149                  err = 
-bt_to_errno(hdev->req_result);
6a98e3836fa207 Marcel Holtmann 2021-10-27  150                  break;
6a98e3836fa207 Marcel Holtmann 2021-10-27  151  
6a98e3836fa207 Marcel Holtmann 2021-10-27  152          case HCI_REQ_CANCELED:
6a98e3836fa207 Marcel Holtmann 2021-10-27  153                  err = 
-hdev->req_result;
6a98e3836fa207 Marcel Holtmann 2021-10-27  154                  break;
6a98e3836fa207 Marcel Holtmann 2021-10-27  155  
6a98e3836fa207 Marcel Holtmann 2021-10-27  156          default:
6a98e3836fa207 Marcel Holtmann 2021-10-27  157                  err = 
-ETIMEDOUT;
6a98e3836fa207 Marcel Holtmann 2021-10-27  158                  break;
6a98e3836fa207 Marcel Holtmann 2021-10-27  159          }
6a98e3836fa207 Marcel Holtmann 2021-10-27  160  
6a98e3836fa207 Marcel Holtmann 2021-10-27  161          hdev->req_status = 0;
6a98e3836fa207 Marcel Holtmann 2021-10-27  162          hdev->req_result = 0;
6a98e3836fa207 Marcel Holtmann 2021-10-27  163          skb = hdev->req_skb;
6a98e3836fa207 Marcel Holtmann 2021-10-27  164          hdev->req_skb = NULL;
6a98e3836fa207 Marcel Holtmann 2021-10-27  165  
6a98e3836fa207 Marcel Holtmann 2021-10-27  166          bt_dev_dbg(hdev, "end: 
err %d", err);
6a98e3836fa207 Marcel Holtmann 2021-10-27  167  
6a98e3836fa207 Marcel Holtmann 2021-10-27  168          if (err < 0) {
6a98e3836fa207 Marcel Holtmann 2021-10-27  169                  kfree_skb(skb);
6a98e3836fa207 Marcel Holtmann 2021-10-27 @170                  return 
ERR_PTR(err);
6a98e3836fa207 Marcel Holtmann 2021-10-27  171          }
6a98e3836fa207 Marcel Holtmann 2021-10-27  172  
6a98e3836fa207 Marcel Holtmann 2021-10-27  173          if (!skb)
6a98e3836fa207 Marcel Holtmann 2021-10-27  174                  return 
ERR_PTR(-ENODATA);
6a98e3836fa207 Marcel Holtmann 2021-10-27  175  
6a98e3836fa207 Marcel Holtmann 2021-10-27  176          return skb;
6a98e3836fa207 Marcel Holtmann 2021-10-27  177  }
6a98e3836fa207 Marcel Holtmann 2021-10-27  178  
EXPORT_SYMBOL(__hci_cmd_sync_sk);
6a98e3836fa207 Marcel Holtmann 2021-10-27  179  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to