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:   Thu, 10 Dec 2020 11:37:35 +0300
From:   Dan Carpenter <dan.carpenter@...cle.com>
To:     kbuild@...ts.01.org, Elliot Berman <eberman@...eaurora.org>
Cc:     lkp@...el.com, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org,
        Bjorn Andersson <bjorn.andersson@...aro.org>
Subject: [kbuild] drivers/firmware/qcom_scm.c:181:12: warning: Redundant
 condition: cpus. '!cpus || (cpus && cpumask_empty(cpus))' is equivalent to
 '!cpus || cpumask_empty(cpus)'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git  master
head:   a2f5ea9e314ba6778f885c805c921e9362ec0420
commit: 57d3b816718c1cf832e2929a754da3564c6127cc firmware: qcom_scm: Remove thin wrappers
compiler: aarch64-linux-gcc (GCC) 9.3.0

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

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

>> drivers/firmware/qcom_scm.c:181:12: warning: Redundant condition: cpus. '!cpus || (cpus && cpumask_empty(cpus))' is equivalent to '!cpus || cpumask_empty(cpus)' [redundantCondition]
    if (!cpus || (cpus && cpumask_empty(cpus)))
              ^

vim +181 drivers/firmware/qcom_scm.c

65f0c90b7d4685 Elliot Berman 2020-01-07  164  int qcom_scm_set_cold_boot_addr(void *entry, const cpumask_t *cpus)
2ce76a6ad32fa0 Lina Iyer     2015-03-02  165  {
57d3b816718c1c Elliot Berman 2020-01-07  166  	int flags = 0;
57d3b816718c1c Elliot Berman 2020-01-07  167  	int cpu;
57d3b816718c1c Elliot Berman 2020-01-07  168  	int scm_cb_flags[] = {
57d3b816718c1c Elliot Berman 2020-01-07  169  		QCOM_SCM_FLAG_COLDBOOT_CPU0,
57d3b816718c1c Elliot Berman 2020-01-07  170  		QCOM_SCM_FLAG_COLDBOOT_CPU1,
57d3b816718c1c Elliot Berman 2020-01-07  171  		QCOM_SCM_FLAG_COLDBOOT_CPU2,
57d3b816718c1c Elliot Berman 2020-01-07  172  		QCOM_SCM_FLAG_COLDBOOT_CPU3,
57d3b816718c1c Elliot Berman 2020-01-07  173  	};
57d3b816718c1c Elliot Berman 2020-01-07  174  	struct qcom_scm_desc desc = {
57d3b816718c1c Elliot Berman 2020-01-07  175  		.svc = QCOM_SCM_SVC_BOOT,
57d3b816718c1c Elliot Berman 2020-01-07  176  		.cmd = QCOM_SCM_BOOT_SET_ADDR,
57d3b816718c1c Elliot Berman 2020-01-07  177  		.arginfo = QCOM_SCM_ARGS(2),
57d3b816718c1c Elliot Berman 2020-01-07  178  		.owner = ARM_SMCCC_OWNER_SIP,
57d3b816718c1c Elliot Berman 2020-01-07  179  	};
57d3b816718c1c Elliot Berman 2020-01-07  180  
57d3b816718c1c Elliot Berman 2020-01-07 @181  	if (!cpus || (cpus && cpumask_empty(cpus)))
                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This could be written as:  if (!cpus || cpumask_empty(cpus))

57d3b816718c1c Elliot Berman 2020-01-07  182  		return -EINVAL;
57d3b816718c1c Elliot Berman 2020-01-07  183  
57d3b816718c1c Elliot Berman 2020-01-07  184  	for_each_cpu(cpu, cpus) {
57d3b816718c1c Elliot Berman 2020-01-07  185  		if (cpu < ARRAY_SIZE(scm_cb_flags))
57d3b816718c1c Elliot Berman 2020-01-07  186  			flags |= scm_cb_flags[cpu];
57d3b816718c1c Elliot Berman 2020-01-07  187  		else
57d3b816718c1c Elliot Berman 2020-01-07  188  			set_cpu_present(cpu, false);
57d3b816718c1c Elliot Berman 2020-01-07  189  	}
57d3b816718c1c Elliot Berman 2020-01-07  190  
57d3b816718c1c Elliot Berman 2020-01-07  191  	desc.args[0] = flags;
57d3b816718c1c Elliot Berman 2020-01-07  192  	desc.args[1] = virt_to_phys(entry);
57d3b816718c1c Elliot Berman 2020-01-07  193  
57d3b816718c1c Elliot Berman 2020-01-07  194  	return qcom_scm_call_atomic(__scm ? __scm->dev : NULL, &desc, NULL);
2ce76a6ad32fa0 Lina Iyer     2015-03-02  195  }

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ