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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201712151052.73FWX742%fengguang.wu@intel.com>
Date:   Fri, 15 Dec 2017 11:12:44 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Alex Williamson <alex.williamson@...hat.com>
Cc:     kbuild-all@...org, iommu@...ts.linux-foundation.org,
        alex.williamson@...hat.com, linux-kernel@...r.kernel.org,
        ashok.raj@...el.com, tursulin@...ulin.net, dwmw2@...radead.org
Subject: Re: [PATCH] iommu/vt-d: Fix shift overflow in qi_flush_dev_iotlb

Hi Alex,

I love your patch! Yet something to improve:

[auto build test ERROR on v4.15-rc3]
[also build test ERROR on next-20171214]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Alex-Williamson/iommu-vt-d-Fix-shift-overflow-in-qi_flush_dev_iotlb/20171215-094227
config: x86_64-randconfig-x000-201750 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/string.h:6:0,
                    from include/uapi/linux/uuid.h:22,
                    from include/linux/uuid.h:19,
                    from include/linux/mod_devicetable.h:13,
                    from include/linux/pci.h:21,
                    from drivers//iommu/dmar.c:31:
   drivers//iommu/dmar.c: In function 'qi_flush_dev_iotlb':
>> drivers//iommu/dmar.c:1348:18: error: 'MAX_AGAW_PFN_WIDTH' undeclared (first use in this function)
      BUG_ON((mask > MAX_AGAW_PFN_WIDTH) ||
                     ^
   include/linux/compiler.h:77:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
>> drivers//iommu/dmar.c:1348:3: note: in expansion of macro 'BUG_ON'
      BUG_ON((mask > MAX_AGAW_PFN_WIDTH) ||
      ^~~~~~
   drivers//iommu/dmar.c:1348:18: note: each undeclared identifier is reported only once for each function it appears in
      BUG_ON((mask > MAX_AGAW_PFN_WIDTH) ||
                     ^
   include/linux/compiler.h:77:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
>> drivers//iommu/dmar.c:1348:3: note: in expansion of macro 'BUG_ON'
      BUG_ON((mask > MAX_AGAW_PFN_WIDTH) ||
      ^~~~~~

vim +/MAX_AGAW_PFN_WIDTH +1348 drivers//iommu/dmar.c

  1341	
  1342	void qi_flush_dev_iotlb(struct intel_iommu *iommu, u16 sid, u16 qdep,
  1343				u64 addr, unsigned mask)
  1344	{
  1345		struct qi_desc desc;
  1346	
  1347		if (mask) {
> 1348			BUG_ON((mask > MAX_AGAW_PFN_WIDTH) ||
  1349			       ((mask == MAX_AGAW_PFN_WIDTH) && addr) ||
  1350			       (addr & ((1 << (VTD_PAGE_SHIFT + mask)) - 1)));
  1351			addr |= (1ULL << (VTD_PAGE_SHIFT + mask - 1)) - 1;
  1352			desc.high = QI_DEV_IOTLB_ADDR(addr) | QI_DEV_IOTLB_SIZE;
  1353		} else
  1354			desc.high = QI_DEV_IOTLB_ADDR(addr);
  1355	
  1356		if (qdep >= QI_DEV_IOTLB_MAX_INVS)
  1357			qdep = 0;
  1358	
  1359		desc.low = QI_DEV_IOTLB_SID(sid) | QI_DEV_IOTLB_QDEP(qdep) |
  1360			   QI_DIOTLB_TYPE;
  1361	
  1362		qi_submit_sync(&desc, iommu);
  1363	}
  1364	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ