linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [linux-stable-rc:linux-4.9.y 1986/2294] drivers/iommu/amd_iommu.c:1335:6: warning: variable 'flags' is used uninitialized whenever 'if' condition is true
@ 2021-07-03  5:37 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-07-03  5:37 UTC (permalink / raw)
  To: Andrey Ryabinin
  Cc: clang-built-linux, kbuild-all, linux-kernel, Greg Kroah-Hartman,
	Joerg Roedel

[-- Attachment #1: Type: text/plain, Size: 3796 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
head:   f44373a3e7a37999a7506c79891abbb8f1318471
commit: 1d648460d7c513b1f500b7887c9af98285340432 [1986/2294] iommu/amd: Fix sleeping in atomic in increase_address_space()
config: x86_64-randconfig-a014-20210703 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project cb5de7c813f976dd458bd2a7f40702ba648bf650)
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 x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=1d648460d7c513b1f500b7887c9af98285340432
        git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
        git fetch --no-tags linux-stable-rc linux-4.9.y
        git checkout 1d648460d7c513b1f500b7887c9af98285340432
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

>> drivers/iommu/amd_iommu.c:1335:6: warning: variable 'flags' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (!pte)
               ^~~~
   drivers/iommu/amd_iommu.c:1352:40: note: uninitialized use occurs here
           spin_unlock_irqrestore(&domain->lock, flags);
                                                 ^~~~~
   drivers/iommu/amd_iommu.c:1335:2: note: remove the 'if' if its condition is always false
           if (!pte)
           ^~~~~~~~~
   drivers/iommu/amd_iommu.c:1331:21: note: initialize the variable 'flags' to silence this warning
           unsigned long flags;
                              ^
                               = 0
   drivers/iommu/amd_iommu.c:2474:13: warning: variable 'flush_addr' set but not used [-Wunused-but-set-variable]
           dma_addr_t flush_addr;
                      ^
   2 warnings generated.


vim +1335 drivers/iommu/amd_iommu.c

  1315	
  1316	/****************************************************************************
  1317	 *
  1318	 * The functions below are used the create the page table mappings for
  1319	 * unity mapped regions.
  1320	 *
  1321	 ****************************************************************************/
  1322	
  1323	/*
  1324	 * This function is used to add another level to an IO page table. Adding
  1325	 * another level increases the size of the address space by 9 bits to a size up
  1326	 * to 64 bits.
  1327	 */
  1328	static void increase_address_space(struct protection_domain *domain,
  1329					   gfp_t gfp)
  1330	{
  1331		unsigned long flags;
  1332		u64 *pte;
  1333	
  1334		pte = (void *)get_zeroed_page(gfp);
> 1335		if (!pte)
  1336			goto out;
  1337	
  1338		spin_lock_irqsave(&domain->lock, flags);
  1339	
  1340		if (WARN_ON_ONCE(domain->mode == PAGE_MODE_6_LEVEL))
  1341			/* address space already 64 bit large */
  1342			goto out;
  1343	
  1344		*pte             = PM_LEVEL_PDE(domain->mode,
  1345						virt_to_phys(domain->pt_root));
  1346		domain->pt_root  = pte;
  1347		domain->mode    += 1;
  1348		domain->updated  = true;
  1349		pte              = NULL;
  1350	
  1351	out:
  1352		spin_unlock_irqrestore(&domain->lock, flags);
  1353		free_page((unsigned long)pte);
  1354	
  1355		return;
  1356	}
  1357	

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32450 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-07-03  5:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-03  5:37 [linux-stable-rc:linux-4.9.y 1986/2294] drivers/iommu/amd_iommu.c:1335:6: warning: variable 'flags' is used uninitialized whenever 'if' condition is true kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).