CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Brian Gix <[email protected]>
CC: Marcel Holtmann <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   ea922272cbe547bdf58da2aaf240d59782c6a009
commit: 177e77a30e469af96e301658facf6a12a6e9e200 [483/6579] Bluetooth: 
hci_sync: Convert MGMT_OP_READ_LOCAL_OOB_EXT_DATA
:::::: branch date: 8 hours ago
:::::: commit date: 6 weeks ago
compiler: sparc-linux-gcc (GCC) 11.2.0

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> net/bluetooth/mgmt.c:7476:2: warning: Assignment of function parameter has 
>> no effect outside the function. [uselessAssignmentArg]
    err = mgmt_limited_event(MGMT_EV_LOCAL_OOB_DATA_UPDATED, hdev,
    ^
   net/bluetooth/mgmt.c:7865:45: warning: Opposite expression on both sides of 
'&'. [oppositeExpression]
        ((phy_flags && (phy_flags ^ (phy_flags & -phy_flags)))))
                                               ^

vim +7476 net/bluetooth/mgmt.c

9713c17b086c1e Marcel Holtmann 2014-07-06  7366  
177e77a30e469a Brian Gix       2021-10-27  7367  static void 
read_local_oob_ext_data_complete(struct hci_dev *hdev, void *data,
177e77a30e469a Brian Gix       2021-10-27  7368                                 
             int err)
40f66c05c36077 Johan Hedberg   2015-04-07  7369  {
40f66c05c36077 Johan Hedberg   2015-04-07  7370         const struct 
mgmt_cp_read_local_oob_ext_data *mgmt_cp;
40f66c05c36077 Johan Hedberg   2015-04-07  7371         struct 
mgmt_rp_read_local_oob_ext_data *mgmt_rp;
40f66c05c36077 Johan Hedberg   2015-04-07  7372         u8 *h192, *r192, *h256, 
*r256;
177e77a30e469a Brian Gix       2021-10-27  7373         struct mgmt_pending_cmd 
*cmd = data;
177e77a30e469a Brian Gix       2021-10-27  7374         struct sk_buff *skb = 
cmd->skb;
177e77a30e469a Brian Gix       2021-10-27  7375         u8 status = 
mgmt_status(err);
40f66c05c36077 Johan Hedberg   2015-04-07  7376         u16 eir_len;
40f66c05c36077 Johan Hedberg   2015-04-07  7377  
177e77a30e469a Brian Gix       2021-10-27  7378         if (!status) {
177e77a30e469a Brian Gix       2021-10-27  7379                 if (!skb)
177e77a30e469a Brian Gix       2021-10-27  7380                         status 
= MGMT_STATUS_FAILED;
177e77a30e469a Brian Gix       2021-10-27  7381                 else if 
(IS_ERR(skb))
177e77a30e469a Brian Gix       2021-10-27  7382                         status 
= mgmt_status(PTR_ERR(skb));
177e77a30e469a Brian Gix       2021-10-27  7383                 else
177e77a30e469a Brian Gix       2021-10-27  7384                         status 
= mgmt_status(skb->data[0]);
177e77a30e469a Brian Gix       2021-10-27  7385         }
40f66c05c36077 Johan Hedberg   2015-04-07  7386  
177e77a30e469a Brian Gix       2021-10-27  7387         bt_dev_dbg(hdev, 
"status %u", status);
40f66c05c36077 Johan Hedberg   2015-04-07  7388  
40f66c05c36077 Johan Hedberg   2015-04-07  7389         mgmt_cp = cmd->param;
40f66c05c36077 Johan Hedberg   2015-04-07  7390  
40f66c05c36077 Johan Hedberg   2015-04-07  7391         if (status) {
40f66c05c36077 Johan Hedberg   2015-04-07  7392                 status = 
mgmt_status(status);
40f66c05c36077 Johan Hedberg   2015-04-07  7393                 eir_len = 0;
40f66c05c36077 Johan Hedberg   2015-04-07  7394  
40f66c05c36077 Johan Hedberg   2015-04-07  7395                 h192 = NULL;
40f66c05c36077 Johan Hedberg   2015-04-07  7396                 r192 = NULL;
40f66c05c36077 Johan Hedberg   2015-04-07  7397                 h256 = NULL;
40f66c05c36077 Johan Hedberg   2015-04-07  7398                 r256 = NULL;
177e77a30e469a Brian Gix       2021-10-27  7399         } else if 
(!bredr_sc_enabled(hdev)) {
40f66c05c36077 Johan Hedberg   2015-04-07  7400                 struct 
hci_rp_read_local_oob_data *rp;
40f66c05c36077 Johan Hedberg   2015-04-07  7401  
40f66c05c36077 Johan Hedberg   2015-04-07  7402                 if (skb->len != 
sizeof(*rp)) {
40f66c05c36077 Johan Hedberg   2015-04-07  7403                         status 
= MGMT_STATUS_FAILED;
40f66c05c36077 Johan Hedberg   2015-04-07  7404                         eir_len 
= 0;
40f66c05c36077 Johan Hedberg   2015-04-07  7405                 } else {
40f66c05c36077 Johan Hedberg   2015-04-07  7406                         status 
= MGMT_STATUS_SUCCESS;
40f66c05c36077 Johan Hedberg   2015-04-07  7407                         rp = 
(void *)skb->data;
40f66c05c36077 Johan Hedberg   2015-04-07  7408  
40f66c05c36077 Johan Hedberg   2015-04-07  7409                         eir_len 
= 5 + 18 + 18;
40f66c05c36077 Johan Hedberg   2015-04-07  7410                         h192 = 
rp->hash;
40f66c05c36077 Johan Hedberg   2015-04-07  7411                         r192 = 
rp->rand;
40f66c05c36077 Johan Hedberg   2015-04-07  7412                         h256 = 
NULL;
40f66c05c36077 Johan Hedberg   2015-04-07  7413                         r256 = 
NULL;
40f66c05c36077 Johan Hedberg   2015-04-07  7414                 }
40f66c05c36077 Johan Hedberg   2015-04-07  7415         } else {
40f66c05c36077 Johan Hedberg   2015-04-07  7416                 struct 
hci_rp_read_local_oob_ext_data *rp;
40f66c05c36077 Johan Hedberg   2015-04-07  7417  
40f66c05c36077 Johan Hedberg   2015-04-07  7418                 if (skb->len != 
sizeof(*rp)) {
40f66c05c36077 Johan Hedberg   2015-04-07  7419                         status 
= MGMT_STATUS_FAILED;
40f66c05c36077 Johan Hedberg   2015-04-07  7420                         eir_len 
= 0;
40f66c05c36077 Johan Hedberg   2015-04-07  7421                 } else {
40f66c05c36077 Johan Hedberg   2015-04-07  7422                         status 
= MGMT_STATUS_SUCCESS;
40f66c05c36077 Johan Hedberg   2015-04-07  7423                         rp = 
(void *)skb->data;
40f66c05c36077 Johan Hedberg   2015-04-07  7424  
40f66c05c36077 Johan Hedberg   2015-04-07  7425                         if 
(hci_dev_test_flag(hdev, HCI_SC_ONLY)) {
40f66c05c36077 Johan Hedberg   2015-04-07  7426                                 
eir_len = 5 + 18 + 18;
40f66c05c36077 Johan Hedberg   2015-04-07  7427                                 
h192 = NULL;
40f66c05c36077 Johan Hedberg   2015-04-07  7428                                 
r192 = NULL;
40f66c05c36077 Johan Hedberg   2015-04-07  7429                         } else {
40f66c05c36077 Johan Hedberg   2015-04-07  7430                                 
eir_len = 5 + 18 + 18 + 18 + 18;
40f66c05c36077 Johan Hedberg   2015-04-07  7431                                 
h192 = rp->hash192;
40f66c05c36077 Johan Hedberg   2015-04-07  7432                                 
r192 = rp->rand192;
40f66c05c36077 Johan Hedberg   2015-04-07  7433                         }
40f66c05c36077 Johan Hedberg   2015-04-07  7434  
40f66c05c36077 Johan Hedberg   2015-04-07  7435                         h256 = 
rp->hash256;
40f66c05c36077 Johan Hedberg   2015-04-07  7436                         r256 = 
rp->rand256;
40f66c05c36077 Johan Hedberg   2015-04-07  7437                 }
40f66c05c36077 Johan Hedberg   2015-04-07  7438         }
40f66c05c36077 Johan Hedberg   2015-04-07  7439  
40f66c05c36077 Johan Hedberg   2015-04-07  7440         mgmt_rp = 
kmalloc(sizeof(*mgmt_rp) + eir_len, GFP_KERNEL);
40f66c05c36077 Johan Hedberg   2015-04-07  7441         if (!mgmt_rp)
40f66c05c36077 Johan Hedberg   2015-04-07  7442                 goto done;
40f66c05c36077 Johan Hedberg   2015-04-07  7443  
a31e5a4158d035 Kees Cook       2021-08-17  7444         if (eir_len == 0)
40f66c05c36077 Johan Hedberg   2015-04-07  7445                 goto send_rsp;
40f66c05c36077 Johan Hedberg   2015-04-07  7446  
40f66c05c36077 Johan Hedberg   2015-04-07  7447         eir_len = 
eir_append_data(mgmt_rp->eir, 0, EIR_CLASS_OF_DEV,
40f66c05c36077 Johan Hedberg   2015-04-07  7448                                 
  hdev->dev_class, 3);
40f66c05c36077 Johan Hedberg   2015-04-07  7449  
40f66c05c36077 Johan Hedberg   2015-04-07  7450         if (h192 && r192) {
40f66c05c36077 Johan Hedberg   2015-04-07  7451                 eir_len = 
eir_append_data(mgmt_rp->eir, eir_len,
40f66c05c36077 Johan Hedberg   2015-04-07  7452                                 
          EIR_SSP_HASH_C192, h192, 16);
40f66c05c36077 Johan Hedberg   2015-04-07  7453                 eir_len = 
eir_append_data(mgmt_rp->eir, eir_len,
40f66c05c36077 Johan Hedberg   2015-04-07  7454                                 
          EIR_SSP_RAND_R192, r192, 16);
40f66c05c36077 Johan Hedberg   2015-04-07  7455         }
40f66c05c36077 Johan Hedberg   2015-04-07  7456  
40f66c05c36077 Johan Hedberg   2015-04-07  7457         if (h256 && r256) {
40f66c05c36077 Johan Hedberg   2015-04-07  7458                 eir_len = 
eir_append_data(mgmt_rp->eir, eir_len,
40f66c05c36077 Johan Hedberg   2015-04-07  7459                                 
          EIR_SSP_HASH_C256, h256, 16);
40f66c05c36077 Johan Hedberg   2015-04-07  7460                 eir_len = 
eir_append_data(mgmt_rp->eir, eir_len,
40f66c05c36077 Johan Hedberg   2015-04-07  7461                                 
          EIR_SSP_RAND_R256, r256, 16);
40f66c05c36077 Johan Hedberg   2015-04-07  7462         }
40f66c05c36077 Johan Hedberg   2015-04-07  7463  
40f66c05c36077 Johan Hedberg   2015-04-07  7464  send_rsp:
40f66c05c36077 Johan Hedberg   2015-04-07  7465         mgmt_rp->type = 
mgmt_cp->type;
40f66c05c36077 Johan Hedberg   2015-04-07  7466         mgmt_rp->eir_len = 
cpu_to_le16(eir_len);
40f66c05c36077 Johan Hedberg   2015-04-07  7467  
40f66c05c36077 Johan Hedberg   2015-04-07  7468         err = 
mgmt_cmd_complete(cmd->sk, hdev->id,
40f66c05c36077 Johan Hedberg   2015-04-07  7469                                 
MGMT_OP_READ_LOCAL_OOB_EXT_DATA, status,
40f66c05c36077 Johan Hedberg   2015-04-07  7470                                 
mgmt_rp, sizeof(*mgmt_rp) + eir_len);
40f66c05c36077 Johan Hedberg   2015-04-07  7471         if (err < 0 || status)
40f66c05c36077 Johan Hedberg   2015-04-07  7472                 goto done;
40f66c05c36077 Johan Hedberg   2015-04-07  7473  
40f66c05c36077 Johan Hedberg   2015-04-07  7474         
hci_sock_set_flag(cmd->sk, HCI_MGMT_OOB_DATA_EVENTS);
40f66c05c36077 Johan Hedberg   2015-04-07  7475  
40f66c05c36077 Johan Hedberg   2015-04-07 @7476         err = 
mgmt_limited_event(MGMT_EV_LOCAL_OOB_DATA_UPDATED, hdev,
40f66c05c36077 Johan Hedberg   2015-04-07  7477                                 
 mgmt_rp, sizeof(*mgmt_rp) + eir_len,
40f66c05c36077 Johan Hedberg   2015-04-07  7478                                 
 HCI_MGMT_OOB_DATA_EVENTS, cmd->sk);
40f66c05c36077 Johan Hedberg   2015-04-07  7479  done:
177e77a30e469a Brian Gix       2021-10-27  7480         if (skb && !IS_ERR(skb))
177e77a30e469a Brian Gix       2021-10-27  7481                 kfree_skb(skb);
177e77a30e469a Brian Gix       2021-10-27  7482  
40f66c05c36077 Johan Hedberg   2015-04-07  7483         kfree(mgmt_rp);
40f66c05c36077 Johan Hedberg   2015-04-07  7484         
mgmt_pending_remove(cmd);
40f66c05c36077 Johan Hedberg   2015-04-07  7485  }
40f66c05c36077 Johan Hedberg   2015-04-07  7486  

:::::: The code at line 7476 was first introduced by commit
:::::: 40f66c05c360777e847033ddbe076d88123719d1 Bluetooth: Add local SSP OOB 
data to OOB ext data mgmt command

:::::: TO: Johan Hedberg <[email protected]>
:::::: CC: Marcel Holtmann <[email protected]>

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

Reply via email to