* [linux-next:master 11257/12819] net/smc/af_smc.c:1719:10-11: WARNING: opportunity for kzfree/kvfree_sensitive
@ 2020-10-01 23:54 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-10-01 23:54 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 9774 bytes --]
CC: kbuild-all(a)lists.01.org
TO: Ursula Braun <ubraun@linux.ibm.com>
CC: Karsten Graul <kgraul@linux.ibm.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: d39294091fee6b89d9c4a683bb19441b25098330
commit: a7c9c5f4af7f6098da68705fc5d86565d0728ef7 [11257/12819] net/smc: CLC accept / confirm V2
:::::: branch date: 13 hours ago
:::::: commit date: 3 days ago
config: i386-randconfig-c001-20200930 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
echo
echo "coccinelle warnings: (new ones prefixed by >>)"
echo
>> net/smc/af_smc.c:1719:10-11: WARNING: opportunity for kzfree/kvfree_sensitive
vim +1719 net/smc/af_smc.c
e6727f39004bd95 Ursula Braun 2017-01-09 1607
7affc809822a4e1 Ursula Braun 2020-09-26 1608 /* setup for connection of server */
3b2dec2603d5b06 Hans Wippel 2018-05-18 1609 static void smc_listen_work(struct work_struct *work)
3b2dec2603d5b06 Hans Wippel 2018-05-18 1610 {
3b2dec2603d5b06 Hans Wippel 2018-05-18 1611 struct smc_sock *new_smc = container_of(work, struct smc_sock,
3b2dec2603d5b06 Hans Wippel 2018-05-18 1612 smc_listen_work);
3b2dec2603d5b06 Hans Wippel 2018-05-18 1613 struct socket *newclcsock = new_smc->clcsock;
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1614 struct smc_clc_msg_accept_confirm_v2 *cclc2;
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1615 struct smc_clc_msg_accept_confirm *cclc;
6bb14e48ee8d8ec Ursula Braun 2020-09-10 1616 struct smc_clc_msg_proposal_area *buf;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1617 struct smc_clc_msg_proposal *pclc;
3fc6493761372c5 Ursula Braun 2020-09-26 1618 struct smc_init_info *ini = NULL;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1619 int rc = 0;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1620
fd57770dd198f5b Karsten Graul 2019-04-11 1621 if (new_smc->listen_smc->sk.sk_state != SMC_LISTEN)
fd57770dd198f5b Karsten Graul 2019-04-11 1622 return smc_listen_out_err(new_smc);
fd57770dd198f5b Karsten Graul 2019-04-11 1623
3b2dec2603d5b06 Hans Wippel 2018-05-18 1624 if (new_smc->use_fallback) {
3b2dec2603d5b06 Hans Wippel 2018-05-18 1625 smc_listen_out_connected(new_smc);
3b2dec2603d5b06 Hans Wippel 2018-05-18 1626 return;
a046d57da19f812 Ursula Braun 2017-01-09 1627 }
a046d57da19f812 Ursula Braun 2017-01-09 1628
3b2dec2603d5b06 Hans Wippel 2018-05-18 1629 /* check if peer is smc capable */
3b2dec2603d5b06 Hans Wippel 2018-05-18 1630 if (!tcp_sk(newclcsock->sk)->syn_smc) {
07603b230895a74 Ursula Braun 2019-04-11 1631 smc_switch_to_fallback(new_smc);
603cc1498455cf5 Karsten Graul 2018-07-25 1632 new_smc->fallback_rsn = SMC_CLC_DECL_PEERNOSMC;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1633 smc_listen_out_connected(new_smc);
a046d57da19f812 Ursula Braun 2017-01-09 1634 return;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1635 }
a046d57da19f812 Ursula Braun 2017-01-09 1636
3b2dec2603d5b06 Hans Wippel 2018-05-18 1637 /* do inband token exchange -
3b2dec2603d5b06 Hans Wippel 2018-05-18 1638 * wait for and receive SMC Proposal CLC message
3b2dec2603d5b06 Hans Wippel 2018-05-18 1639 */
6bb14e48ee8d8ec Ursula Braun 2020-09-10 1640 buf = kzalloc(sizeof(*buf), GFP_KERNEL);
6bb14e48ee8d8ec Ursula Braun 2020-09-10 1641 if (!buf) {
6bb14e48ee8d8ec Ursula Braun 2020-09-10 1642 rc = SMC_CLC_DECL_MEM;
6bb14e48ee8d8ec Ursula Braun 2020-09-10 1643 goto out_decl;
6bb14e48ee8d8ec Ursula Braun 2020-09-10 1644 }
6bb14e48ee8d8ec Ursula Braun 2020-09-10 1645 pclc = (struct smc_clc_msg_proposal *)buf;
6bb14e48ee8d8ec Ursula Braun 2020-09-10 1646 rc = smc_clc_wait_msg(new_smc, pclc, sizeof(*buf),
2b59f58e34e78ab Ursula Braun 2018-11-22 1647 SMC_CLC_PROPOSAL, CLC_WAIT_TIME);
9aa68d298c80d11 Karsten Graul 2019-04-12 1648 if (rc)
9aa68d298c80d11 Karsten Graul 2019-04-12 1649 goto out_decl;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1650
3b2dec2603d5b06 Hans Wippel 2018-05-18 1651 /* IPSec connections opt out of SMC-R optimizations */
3b2dec2603d5b06 Hans Wippel 2018-05-18 1652 if (using_ipsec(new_smc)) {
9aa68d298c80d11 Karsten Graul 2019-04-12 1653 rc = SMC_CLC_DECL_IPSEC;
9aa68d298c80d11 Karsten Graul 2019-04-12 1654 goto out_decl;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1655 }
3b2dec2603d5b06 Hans Wippel 2018-05-18 1656
3fc6493761372c5 Ursula Braun 2020-09-26 1657 ini = kzalloc(sizeof(*ini), GFP_KERNEL);
3fc6493761372c5 Ursula Braun 2020-09-26 1658 if (!ini) {
3fc6493761372c5 Ursula Braun 2020-09-26 1659 rc = SMC_CLC_DECL_MEM;
3fc6493761372c5 Ursula Braun 2020-09-26 1660 goto out_decl;
3fc6493761372c5 Ursula Braun 2020-09-26 1661 }
3fc6493761372c5 Ursula Braun 2020-09-26 1662
5c21c4ccafe8590 Ursula Braun 2020-09-26 1663 /* initial version checking */
5c21c4ccafe8590 Ursula Braun 2020-09-26 1664 rc = smc_listen_v2_check(new_smc, pclc, ini);
5c21c4ccafe8590 Ursula Braun 2020-09-26 1665 if (rc)
9aa68d298c80d11 Karsten Graul 2019-04-12 1666 goto out_decl;
fba7e8ef513ce73 Karsten Graul 2019-04-12 1667
72a36a8aecb520f Hans Wippel 2019-02-07 1668 mutex_lock(&smc_server_lgr_pending);
3b2dec2603d5b06 Hans Wippel 2018-05-18 1669 smc_close_init(new_smc);
3b2dec2603d5b06 Hans Wippel 2018-05-18 1670 smc_rx_init(new_smc);
3b2dec2603d5b06 Hans Wippel 2018-05-18 1671 smc_tx_init(new_smc);
3b2dec2603d5b06 Hans Wippel 2018-05-18 1672
7affc809822a4e1 Ursula Braun 2020-09-26 1673 /* determine ISM or RoCE device used for connection */
3fc6493761372c5 Ursula Braun 2020-09-26 1674 rc = smc_listen_find_device(new_smc, pclc, ini);
9aa68d298c80d11 Karsten Graul 2019-04-12 1675 if (rc)
9aa68d298c80d11 Karsten Graul 2019-04-12 1676 goto out_unlock;
a046d57da19f812 Ursula Braun 2017-01-09 1677
3b2dec2603d5b06 Hans Wippel 2018-05-18 1678 /* send SMC Accept CLC message */
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1679 rc = smc_clc_send_accept(new_smc, ini->first_contact_local,
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1680 ini->smcd_version == SMC_V2 ? SMC_V2 : SMC_V1);
9aa68d298c80d11 Karsten Graul 2019-04-12 1681 if (rc)
9aa68d298c80d11 Karsten Graul 2019-04-12 1682 goto out_unlock;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1683
62c7139f3ed0113 Hans Wippel 2019-02-07 1684 /* SMC-D does not need this lock any more */
3fc6493761372c5 Ursula Braun 2020-09-26 1685 if (ini->is_smcd)
72a36a8aecb520f Hans Wippel 2019-02-07 1686 mutex_unlock(&smc_server_lgr_pending);
62c7139f3ed0113 Hans Wippel 2019-02-07 1687
3b2dec2603d5b06 Hans Wippel 2018-05-18 1688 /* receive SMC Confirm CLC message */
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1689 cclc2 = (struct smc_clc_msg_accept_confirm_v2 *)buf;
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1690 cclc = (struct smc_clc_msg_accept_confirm *)cclc2;
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1691 memset(buf, 0, sizeof(struct smc_clc_msg_proposal_area));
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1692 rc = smc_clc_wait_msg(new_smc, cclc2,
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1693 sizeof(struct smc_clc_msg_proposal_area),
2b59f58e34e78ab Ursula Braun 2018-11-22 1694 SMC_CLC_CONFIRM, CLC_WAIT_TIME);
228bae05be32804 Karsten Graul 2019-04-12 1695 if (rc) {
3fc6493761372c5 Ursula Braun 2020-09-26 1696 if (!ini->is_smcd)
9aa68d298c80d11 Karsten Graul 2019-04-12 1697 goto out_unlock;
9aa68d298c80d11 Karsten Graul 2019-04-12 1698 goto out_decl;
3b2dec2603d5b06 Hans Wippel 2018-05-18 1699 }
3b2dec2603d5b06 Hans Wippel 2018-05-18 1700
3b2dec2603d5b06 Hans Wippel 2018-05-18 1701 /* finish worker */
3fc6493761372c5 Ursula Braun 2020-09-26 1702 if (!ini->is_smcd) {
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1703 rc = smc_listen_rdma_finish(new_smc, cclc,
3fc6493761372c5 Ursula Braun 2020-09-26 1704 ini->first_contact_local);
62c7139f3ed0113 Hans Wippel 2019-02-07 1705 if (rc)
0c881ada3d1e7f5 Ursula Braun 2020-09-10 1706 goto out_unlock;
0c881ada3d1e7f5 Ursula Braun 2020-09-10 1707 mutex_unlock(&smc_server_lgr_pending);
1ca52fcfaca4366 Ursula Braun 2018-09-18 1708 }
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1709 smc_conn_save_peer_info(new_smc, cclc);
3b2dec2603d5b06 Hans Wippel 2018-05-18 1710 smc_listen_out_connected(new_smc);
ac679364b98edb4 Ursula Braun 2020-09-17 1711 goto out_free;
9aa68d298c80d11 Karsten Graul 2019-04-12 1712
9aa68d298c80d11 Karsten Graul 2019-04-12 1713 out_unlock:
9aa68d298c80d11 Karsten Graul 2019-04-12 1714 mutex_unlock(&smc_server_lgr_pending);
9aa68d298c80d11 Karsten Graul 2019-04-12 1715 out_decl:
a7c9c5f4af7f609 Ursula Braun 2020-09-26 1716 smc_listen_decline(new_smc, rc, ini);
ac679364b98edb4 Ursula Braun 2020-09-17 1717 out_free:
3fc6493761372c5 Ursula Braun 2020-09-26 1718 kfree(ini);
6bb14e48ee8d8ec Ursula Braun 2020-09-10 @1719 kfree(buf);
a046d57da19f812 Ursula Braun 2017-01-09 1720 }
a046d57da19f812 Ursula Braun 2017-01-09 1721
:::::: The code at line 1719 was first introduced by commit
:::::: 6bb14e48ee8d8ec23d191fd91de33f09da1ecce4 net/smc: dynamic allocation of CLC proposal buffer
:::::: TO: Ursula Braun <ubraun@linux.ibm.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34109 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-10-01 23:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-01 23:54 [linux-next:master 11257/12819] net/smc/af_smc.c:1719:10-11: WARNING: opportunity for kzfree/kvfree_sensitive kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.