lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Tue, 21 Dec 2021 14:59:11 +0800
From:   kernel test robot <lkp@...el.com>
To:     Cristian Marussi <cristian.marussi@....com>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org, Sudeep Holla <sudeep.holla@....com>
Subject: [sudeep-holla:for-next/scmi 19/27]
 drivers/firmware/arm_scmi/driver.c:869:6: warning: variable 'i_' is
 uninitialized when used within its own initialization

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git for-next/scmi
head:   b18b2e9bcbdfbec337f88267758b60450ba4f652
commit: e1f2ef036d0fd69a1c6482f80ca8a827d3dfc5a8 [19/27] firmware: arm_scmi: Add sync_cmds_completed_on_ret transport flag
config: arm-randconfig-r031-20211220 (https://download.01.org/0day-ci/archive/20211221/202112211457.TlWRYcoq-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 555eacf75f21cd1dfc6363d73ad187b730349543)
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
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git/commit/?id=e1f2ef036d0fd69a1c6482f80ca8a827d3dfc5a8
        git remote add sudeep-holla https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git
        git fetch --no-tags sudeep-holla for-next/scmi
        git checkout e1f2ef036d0fd69a1c6482f80ca8a827d3dfc5a8
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/firmware/arm_scmi/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

>> drivers/firmware/arm_scmi/driver.c:869:6: warning: variable 'i_' is uninitialized when used within its own initialization [-Wuninitialized]
           if (IS_POLLING_ENABLED(cinfo, info))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/firmware/arm_scmi/driver.c:59:33: note: expanded from macro 'IS_POLLING_ENABLED'
                           IS_TRANSPORT_POLLING_CAPABLE(i_));              \
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   drivers/firmware/arm_scmi/driver.c:45:19: note: expanded from macro 'IS_TRANSPORT_POLLING_CAPABLE'
           typeof(__i) i_ = __i;                                           \
                       ~~   ^~~
   1 warning generated.


vim +/i_ +869 drivers/firmware/arm_scmi/driver.c

5a731aebd31bf8 Cristian Marussi 2021-11-29  837  
aa4f886f3893f8 Sudeep Holla     2017-03-28  838  /**
a4a20b0975dc7b Cristian Marussi 2021-03-16  839   * do_xfer() - Do one transfer
aa4f886f3893f8 Sudeep Holla     2017-03-28  840   *
a4a20b0975dc7b Cristian Marussi 2021-03-16  841   * @ph: Pointer to SCMI protocol handle
aa4f886f3893f8 Sudeep Holla     2017-03-28  842   * @xfer: Transfer to initiate and wait for response
aa4f886f3893f8 Sudeep Holla     2017-03-28  843   *
aa4f886f3893f8 Sudeep Holla     2017-03-28  844   * Return: -ETIMEDOUT in case of no response, if transmit error,
aa4f886f3893f8 Sudeep Holla     2017-03-28  845   *	return corresponding error, else if all goes well,
aa4f886f3893f8 Sudeep Holla     2017-03-28  846   *	return 0.
aa4f886f3893f8 Sudeep Holla     2017-03-28  847   */
a4a20b0975dc7b Cristian Marussi 2021-03-16  848  static int do_xfer(const struct scmi_protocol_handle *ph,
a4a20b0975dc7b Cristian Marussi 2021-03-16  849  		   struct scmi_xfer *xfer)
aa4f886f3893f8 Sudeep Holla     2017-03-28  850  {
aa4f886f3893f8 Sudeep Holla     2017-03-28  851  	int ret;
a4a20b0975dc7b Cristian Marussi 2021-03-16  852  	const struct scmi_protocol_instance *pi = ph_to_pi(ph);
a4a20b0975dc7b Cristian Marussi 2021-03-16  853  	struct scmi_info *info = handle_to_scmi_info(pi->handle);
aa4f886f3893f8 Sudeep Holla     2017-03-28  854  	struct device *dev = info->dev;
907b6d14911db0 Sudeep Holla     2017-07-31  855  	struct scmi_chan_info *cinfo;
907b6d14911db0 Sudeep Holla     2017-07-31  856  
a287126c31ab68 Cristian Marussi 2021-12-20  857  	/* Check for polling request on custom command xfers at first */
e1f2ef036d0fd6 Cristian Marussi 2021-12-20  858  	if (xfer->hdr.poll_completion && !IS_TRANSPORT_POLLING_CAPABLE(info)) {
2930abcffd9f0b Cristian Marussi 2021-08-03  859  		dev_warn_once(dev,
2930abcffd9f0b Cristian Marussi 2021-08-03  860  			      "Polling mode is not supported by transport.\n");
2930abcffd9f0b Cristian Marussi 2021-08-03  861  		return -EINVAL;
2930abcffd9f0b Cristian Marussi 2021-08-03  862  	}
2930abcffd9f0b Cristian Marussi 2021-08-03  863  
d211ddeb511af5 Cristian Marussi 2021-11-29  864  	cinfo = idr_find(&info->tx_idr, pi->proto->id);
d211ddeb511af5 Cristian Marussi 2021-11-29  865  	if (unlikely(!cinfo))
d211ddeb511af5 Cristian Marussi 2021-11-29  866  		return -EINVAL;
d211ddeb511af5 Cristian Marussi 2021-11-29  867  
a287126c31ab68 Cristian Marussi 2021-12-20  868  	/* True ONLY if also supported by transport. */
a287126c31ab68 Cristian Marussi 2021-12-20 @869  	if (IS_POLLING_ENABLED(cinfo, info))
a287126c31ab68 Cristian Marussi 2021-12-20  870  		xfer->hdr.poll_completion = true;
a287126c31ab68 Cristian Marussi 2021-12-20  871  
a4a20b0975dc7b Cristian Marussi 2021-03-16  872  	/*
61832b35b4d953 Sudeep Holla     2021-06-08  873  	 * Initialise protocol id now from protocol handle to avoid it being
a4a20b0975dc7b Cristian Marussi 2021-03-16  874  	 * overridden by mistake (or malice) by the protocol code mangling with
61832b35b4d953 Sudeep Holla     2021-06-08  875  	 * the scmi_xfer structure prior to this.
a4a20b0975dc7b Cristian Marussi 2021-03-16  876  	 */
a4a20b0975dc7b Cristian Marussi 2021-03-16  877  	xfer->hdr.protocol_id = pi->proto->id;
e30d91d4ffda0b Cristian Marussi 2021-06-06  878  	reinit_completion(&xfer->done);
a4a20b0975dc7b Cristian Marussi 2021-03-16  879  
729d3530a50417 Lukasz Luba      2019-12-17  880  	trace_scmi_xfer_begin(xfer->transfer_id, xfer->hdr.id,
729d3530a50417 Lukasz Luba      2019-12-17  881  			      xfer->hdr.protocol_id, xfer->hdr.seq,
729d3530a50417 Lukasz Luba      2019-12-17  882  			      xfer->hdr.poll_completion);
729d3530a50417 Lukasz Luba      2019-12-17  883  
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  884  	xfer->state = SCMI_XFER_SENT_OK;
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  885  	/*
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  886  	 * Even though spinlocking is not needed here since no race is possible
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  887  	 * on xfer->state due to the monotonically increasing tokens allocation,
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  888  	 * we must anyway ensure xfer->state initialization is not re-ordered
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  889  	 * after the .send_message() to be sure that on the RX path an early
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  890  	 * ISR calling scmi_rx_callback() cannot see an old stale xfer->state.
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  891  	 */
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  892  	smp_mb();
ed7c04c1fea3b0 Cristian Marussi 2021-08-03  893  
5c8a47a5a91d4d Viresh Kumar     2020-01-31  894  	ret = info->desc->ops->send_message(cinfo, xfer);
aa4f886f3893f8 Sudeep Holla     2017-03-28  895  	if (ret < 0) {
5c8a47a5a91d4d Viresh Kumar     2020-01-31  896  		dev_dbg(dev, "Failed to send message %d\n", ret);
aa4f886f3893f8 Sudeep Holla     2017-03-28  897  		return ret;
aa4f886f3893f8 Sudeep Holla     2017-03-28  898  	}
aa4f886f3893f8 Sudeep Holla     2017-03-28  899  
5a731aebd31bf8 Cristian Marussi 2021-11-29  900  	ret = scmi_wait_for_message_response(cinfo, xfer);
d4c3751a8de2de Sudeep Holla     2017-07-20  901  	if (!ret && xfer->hdr.status)
d4c3751a8de2de Sudeep Holla     2017-07-20  902  		ret = scmi_to_linux_errno(xfer->hdr.status);
d4c3751a8de2de Sudeep Holla     2017-07-20  903  
5c8a47a5a91d4d Viresh Kumar     2020-01-31  904  	if (info->desc->ops->mark_txdone)
5c8a47a5a91d4d Viresh Kumar     2020-01-31  905  		info->desc->ops->mark_txdone(cinfo, ret);
aa4f886f3893f8 Sudeep Holla     2017-03-28  906  
729d3530a50417 Lukasz Luba      2019-12-17  907  	trace_scmi_xfer_end(xfer->transfer_id, xfer->hdr.id,
bad0d73b657412 Sudeep Holla     2020-06-09  908  			    xfer->hdr.protocol_id, xfer->hdr.seq, ret);
729d3530a50417 Lukasz Luba      2019-12-17  909  
aa4f886f3893f8 Sudeep Holla     2017-03-28  910  	return ret;
aa4f886f3893f8 Sudeep Holla     2017-03-28  911  }
aa4f886f3893f8 Sudeep Holla     2017-03-28  912  

:::::: The code at line 869 was first introduced by commit
:::::: a287126c31ab68315ff9e785cc70ed7880b53a77 firmware: arm_scmi: Add configurable polling mode for transports

:::::: TO: Cristian Marussi <cristian.marussi@....com>
:::::: CC: Sudeep Holla <sudeep.holla@....com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ