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: <202011162350.aO1ZjJHe-lkp@intel.com>
Date:   Mon, 16 Nov 2020 23:14:34 +0800
From:   kernel test robot <lkp@...el.com>
To:     Eric Auger <eric.auger@...hat.com>, eric.auger.pro@...il.com,
        iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org,
        kvm@...r.kernel.org, kvmarm@...ts.cs.columbia.edu, will@...nel.org,
        joro@...tes.org, maz@...nel.org, robin.murphy@....com
Cc:     kbuild-all@...ts.01.org, clang-built-linux@...glegroups.com
Subject: Re: [PATCH v12 01/15] iommu: Introduce attach/detach_pasid_table API

Hi Eric,

I love your patch! Perhaps something to improve:

[auto build test WARNING on iommu/next]
[also build test WARNING on linus/master v5.10-rc4 next-20201116]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Eric-Auger/SMMUv3-Nested-Stage-Setup-IOMMU-part/20201116-185039
base:   https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: arm64-randconfig-r034-20201115 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c044709b8fbea2a9a375e4173a6bd735f6866c0c)
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 arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/54be9a9e014a566f9c7640da201c24cfb1eda06e
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Eric-Auger/SMMUv3-Nested-Stage-Setup-IOMMU-part/20201116-185039
        git checkout 54be9a9e014a566f9c7640da201c24cfb1eda06e
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

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/iommu/iommu.c:2225:34: warning: overlapping comparisons always evaluate to false [-Wtautological-overlap-compare]
           if (pasid_table_data.config < 1 && pasid_table_data.config > 3)
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.

vim +2225 drivers/iommu/iommu.c

  2182	
  2183	int iommu_uapi_attach_pasid_table(struct iommu_domain *domain,
  2184					  void __user *uinfo)
  2185	{
  2186		struct iommu_pasid_table_config pasid_table_data = { 0 };
  2187		u32 minsz;
  2188	
  2189		if (unlikely(!domain->ops->attach_pasid_table))
  2190			return -ENODEV;
  2191	
  2192		/*
  2193		 * No new spaces can be added before the variable sized union, the
  2194		 * minimum size is the offset to the union.
  2195		 */
  2196		minsz = offsetof(struct iommu_pasid_table_config, vendor_data);
  2197	
  2198		/* Copy minsz from user to get flags and argsz */
  2199		if (copy_from_user(&pasid_table_data, uinfo, minsz))
  2200			return -EFAULT;
  2201	
  2202		/* Fields before the variable size union are mandatory */
  2203		if (pasid_table_data.argsz < minsz)
  2204			return -EINVAL;
  2205	
  2206		/* PASID and address granu require additional info beyond minsz */
  2207		if (pasid_table_data.version != PASID_TABLE_CFG_VERSION_1)
  2208			return -EINVAL;
  2209		if (pasid_table_data.format == IOMMU_PASID_FORMAT_SMMUV3 &&
  2210		    pasid_table_data.argsz <
  2211			offsetofend(struct iommu_pasid_table_config, vendor_data.smmuv3))
  2212			return -EINVAL;
  2213	
  2214		/*
  2215		 * User might be using a newer UAPI header which has a larger data
  2216		 * size, we shall support the existing flags within the current
  2217		 * size. Copy the remaining user data _after_ minsz but not more
  2218		 * than the current kernel supported size.
  2219		 */
  2220		if (copy_from_user((void *)&pasid_table_data + minsz, uinfo + minsz,
  2221				   min_t(u32, pasid_table_data.argsz, sizeof(pasid_table_data)) - minsz))
  2222			return -EFAULT;
  2223	
  2224		/* Now the argsz is validated, check the content */
> 2225		if (pasid_table_data.config < 1 && pasid_table_data.config > 3)
  2226			return -EINVAL;
  2227	
  2228		return domain->ops->attach_pasid_table(domain, &pasid_table_data);
  2229	}
  2230	EXPORT_SYMBOL_GPL(iommu_uapi_attach_pasid_table);
  2231	

---
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" (39466 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ