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 for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20200602104315.GA30374@kadam>
Date:   Tue, 2 Jun 2020 13:43:15 +0300
From:   Dan Carpenter <dan.carpenter@...cle.com>
To:     kbuild@...ts.01.org, "Kan, Liang," <kan.liang@...ux.intel.com>
Cc:     lkp@...el.com, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org, Peter Zijlstra <peterz@...radead.org>
Subject: arch/x86/events/intel/uncore_snbep.c:4394
 __snr_uncore_mmio_init_box() warn: should '(pci_dword & 536870911) << 23' be
 a 64 bit type?

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162
commit: 3442a9ecb8e72a33c28a2b969b766c659830e410 perf/x86/intel/uncore: Factor out __snr_uncore_mmio_init_box
date:   2 months ago
config: x86_64-randconfig-m001-20200601 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@...el.com>
Reported-by: Dan Carpenter <dan.carpenter@...cle.com>

smatch warnings:
arch/x86/events/intel/uncore_snbep.c:4394 __snr_uncore_mmio_init_box() warn: should '(pci_dword & 536870911) << 23' be a 64 bit type?

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3442a9ecb8e72a33c28a2b969b766c659830e410
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 3442a9ecb8e72a33c28a2b969b766c659830e410
vim +4394 arch/x86/events/intel/uncore_snbep.c

3442a9ecb8e72a Kan Liang 2020-03-17  4383  static void __snr_uncore_mmio_init_box(struct intel_uncore_box *box,
3442a9ecb8e72a Kan Liang 2020-03-17  4384  				       unsigned int box_ctl, int mem_offset)
ee49532b38dd08 Kan Liang 2019-04-30  4385  {
ee49532b38dd08 Kan Liang 2019-04-30  4386  	struct pci_dev *pdev = snr_uncore_get_mc_dev(box->dieid);
ee49532b38dd08 Kan Liang 2019-04-30  4387  	resource_size_t addr;
ee49532b38dd08 Kan Liang 2019-04-30  4388  	u32 pci_dword;
ee49532b38dd08 Kan Liang 2019-04-30  4389  
ee49532b38dd08 Kan Liang 2019-04-30  4390  	if (!pdev)
ee49532b38dd08 Kan Liang 2019-04-30  4391  		return;
ee49532b38dd08 Kan Liang 2019-04-30  4392  
ee49532b38dd08 Kan Liang 2019-04-30  4393  	pci_read_config_dword(pdev, SNR_IMC_MMIO_BASE_OFFSET, &pci_dword);
ee49532b38dd08 Kan Liang 2019-04-30 @4394  	addr = (pci_dword & SNR_IMC_MMIO_BASE_MASK) << 23;
                                                                    ^^^^^^^^^^^^^^^^^^^^^^
This check has a pretty high false positive rate because "pci_dword"
is unknowable but obviously SNR_IMC_MMIO_BASE_MASK << 23 is undefined.

ee49532b38dd08 Kan Liang 2019-04-30  4395  
3442a9ecb8e72a Kan Liang 2020-03-17  4396  	pci_read_config_dword(pdev, mem_offset, &pci_dword);
ee49532b38dd08 Kan Liang 2019-04-30  4397  	addr |= (pci_dword & SNR_IMC_MMIO_MEM0_MASK) << 12;
ee49532b38dd08 Kan Liang 2019-04-30  4398  
ee49532b38dd08 Kan Liang 2019-04-30  4399  	addr += box_ctl;
ee49532b38dd08 Kan Liang 2019-04-30  4400  
ee49532b38dd08 Kan Liang 2019-04-30  4401  	box->io_addr = ioremap(addr, SNR_IMC_MMIO_SIZE);
ee49532b38dd08 Kan Liang 2019-04-30  4402  	if (!box->io_addr)
ee49532b38dd08 Kan Liang 2019-04-30  4403  		return;
ee49532b38dd08 Kan Liang 2019-04-30  4404  
ee49532b38dd08 Kan Liang 2019-04-30  4405  	writel(IVBEP_PMON_BOX_CTL_INT, box->io_addr);
ee49532b38dd08 Kan Liang 2019-04-30  4406  }

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

Download attachment ".config.gz" of type "application/gzip" (37713 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ