CC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Luiz Augusto von Dentz <[email protected]>
CC: 0day robot <[email protected]>

tree:   
https://github.com/0day-ci/linux/commits/Luiz-Augusto-von-Dentz/Bluetooth-eir-Move-EIR-Adv-Data-functions-to-its-own-file/20210922-113507
head:   cda1eaab813d24fd5a24abcae5c22e15191ee466
commit: cda1eaab813d24fd5a24abcae5c22e15191ee466 Bluetooth: eir: Move EIR/Adv 
Data functions to its own file
date:   9 weeks ago
:::::: branch date: 9 weeks ago
:::::: commit date: 9 weeks ago
config: i386-randconfig-c001-20210927 
(https://download.01.org/0day-ci/archive/20211125/[email protected]/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 
dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # 
https://github.com/0day-ci/linux/commit/cda1eaab813d24fd5a24abcae5c22e15191ee466
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Luiz-Augusto-von-Dentz/Bluetooth-eir-Move-EIR-Adv-Data-functions-to-its-own-file/20210922-113507
        git checkout cda1eaab813d24fd5a24abcae5c22e15191ee466
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 
clang-analyzer 

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


clang-analyzer warnings: (new ones prefixed by >>)
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   Suppressed 14 warnings (14 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   15 warnings generated.
   net/mac80211/cfg.c:951:3: warning: Value stored to 'pos' is never read 
[clang-analyzer-deadcode.DeadStores]
                   pos += civicloc_len;
                   ^      ~~~~~~~~~~~~
   net/mac80211/cfg.c:951:3: note: Value stored to 'pos' is never read
                   pos += civicloc_len;
                   ^      ~~~~~~~~~~~~
   net/mac80211/cfg.c:3144:3: warning: Value stored to 'pos' is never read 
[clang-analyzer-deadcode.DeadStores]
                   pos += beacon->civicloc_len;
                   ^      ~~~~~~~~~~~~~~~~~~~~
   net/mac80211/cfg.c:3144:3: note: Value stored to 'pos' is never read
                   pos += beacon->civicloc_len;
                   ^      ~~~~~~~~~~~~~~~~~~~~
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   16 warnings generated.
   drivers/net/ethernet/intel/i40e/i40e_debugfs.c:1041:5: warning: Value stored 
to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                                   ret = -ENOMEM;
                                   ^     ~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_debugfs.c:1041:5: note: Value stored to 
'ret' is never read
                                   ret = -ENOMEM;
                                   ^     ~~~~~~~
   Suppressed 15 warnings (15 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   18 warnings generated.
   drivers/net/ethernet/intel/i40e/i40e_txrx.c:2971:3: warning: Value stored to 
'protocol' is never read [clang-analyzer-deadcode.DeadStores]
                   protocol = vhdr->h_vlan_encapsulated_proto;
                   ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_txrx.c:2971:3: note: Value stored to 
'protocol' is never read
                   protocol = vhdr->h_vlan_encapsulated_proto;
                   ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_txrx.c:3507:2: warning: Value stored to 
'tx_bi' is never read [clang-analyzer-deadcode.DeadStores]
           tx_bi = first;
           ^       ~~~~~
   drivers/net/ethernet/intel/i40e/i40e_txrx.c:3507:2: note: Value stored to 
'tx_bi' is never read
           tx_bi = first;
           ^       ~~~~~
   drivers/net/ethernet/intel/i40e/i40e_txrx.c:3565:3: warning: Value stored to 
'tx_bi' is never read [clang-analyzer-deadcode.DeadStores]
                   tx_bi = &tx_ring->tx_bi[i];
                   ^       ~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_txrx.c:3565:3: note: Value stored to 
'tx_bi' is never read
                   tx_bi = &tx_ring->tx_bi[i];
                   ^       ~~~~~~~~~~~~~~~~~~
   Suppressed 15 warnings (15 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   15 warnings generated.
   Suppressed 15 warnings (15 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   Suppressed 14 warnings (14 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   Suppressed 14 warnings (14 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   Suppressed 14 warnings (14 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   16 warnings generated.
>> net/bluetooth/eir.c:212:2: warning: Value stored to 'ptr' is never read 
>> [clang-analyzer-deadcode.DeadStores]
           ptr = create_uuid128_list(hdev, ptr, HCI_MAX_EIR_LENGTH - (ptr - 
data));
           ^     
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/bluetooth/eir.c:212:2: note: Value stored to 'ptr' is never read
           ptr = create_uuid128_list(hdev, ptr, HCI_MAX_EIR_LENGTH - (ptr - 
data));
           ^     
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/bluetooth/eir.c:295:4: warning: Value stored to 'ptr' is never read 
[clang-analyzer-deadcode.DeadStores]
                           ptr += 3;
                           ^      ~
   net/bluetooth/eir.c:295:4: note: Value stored to 'ptr' is never read
                           ptr += 3;
                           ^      ~
   Suppressed 14 warnings (14 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   15 warnings generated.
   net/bluetooth/hci_core.c:2192:2: warning: Call to function 'strcpy' is 
insecure as it does not provide bounding of the memory buffer. Replace 
unbounded copy functions with analogous functions that support length arguments 
such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
           strcpy(di.name, hdev->name);
           ^~~~~~
   net/bluetooth/hci_core.c:2192:2: note: Call to function 'strcpy' is insecure 
as it does not provide bounding of the memory buffer. Replace unbounded copy 
functions with analogous functions that support length arguments such as 
'strlcpy'. CWE-119
           strcpy(di.name, hdev->name);
           ^~~~~~
   Suppressed 14 warnings (14 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   Suppressed 14 warnings (14 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (12 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (13 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   16 warnings generated.
   net/ipv4/ipconfig.c:366:2: warning: Call to function 'strcpy' is insecure as 
it does not provide bounding of the memory buffer. Replace unbounded copy 
functions with analogous functions that support length arguments such as 
'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
           strcpy(ir.ifr_ifrn.ifrn_name, ic_dev->dev->name);

vim +/ptr +212 net/bluetooth/eir.c

cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  165  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  166  void eir_create(struct 
hci_dev *hdev, u8 *data)
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  167  {
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  168   u8 *ptr = data;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  169   size_t name_len;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  170  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  171   name_len = 
strlen(hdev->dev_name);
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  172  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  173   if (name_len > 0) {
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  174           /* EIR Data 
type */
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  175           if (name_len > 
48) {
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  176                   
name_len = 48;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  177                   ptr[1] 
= EIR_NAME_SHORT;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  178           } else {
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  179                   ptr[1] 
= EIR_NAME_COMPLETE;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  180           }
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  181  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  182           /* EIR Data 
length */
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  183           ptr[0] = 
name_len + 1;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  184  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  185           memcpy(ptr + 2, 
hdev->dev_name, name_len);
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  186  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  187           ptr += 
(name_len + 2);
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  188   }
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  189  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  190   if (hdev->inq_tx_power 
!= HCI_TX_POWER_INVALID) {
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  191           ptr[0] = 2;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  192           ptr[1] = 
EIR_TX_POWER;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  193           ptr[2] = 
(u8)hdev->inq_tx_power;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  194  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  195           ptr += 3;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  196   }
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  197  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  198   if (hdev->devid_source 
> 0) {
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  199           ptr[0] = 9;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  200           ptr[1] = 
EIR_DEVICE_ID;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  201  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  202           
put_unaligned_le16(hdev->devid_source, ptr + 2);
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  203           
put_unaligned_le16(hdev->devid_vendor, ptr + 4);
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  204           
put_unaligned_le16(hdev->devid_product, ptr + 6);
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  205           
put_unaligned_le16(hdev->devid_version, ptr + 8);
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  206  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  207           ptr += 10;
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  208   }
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  209  
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  210   ptr = 
create_uuid16_list(hdev, ptr, HCI_MAX_EIR_LENGTH - (ptr - data));
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  211   ptr = 
create_uuid32_list(hdev, ptr, HCI_MAX_EIR_LENGTH - (ptr - data));
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20 @212   ptr = 
create_uuid128_list(hdev, ptr, HCI_MAX_EIR_LENGTH - (ptr - data));
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  213  }
cda1eaab813d24 Luiz Augusto von Dentz 2021-09-20  214  

---
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