All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/iommu/intel/irq_remapping.c:455:15: sparse: sparse: memcpy with byte count of 1048576
Date: Mon, 01 Feb 2021 02:29:33 +0800	[thread overview]
Message-ID: <202102010227.yV0DhdbH-lkp@intel.com> (raw)

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Joerg Roedel <jroedel@suse.de>
CC: Jerry Snitselaar <jsnitsel@redhat.com>
CC: Lu Baolu <baolu.lu@linux.intel.com>

Hi Joerg,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   6642d600b541b81931fb1ab0c041b0d68f77be7e
commit: 672cf6df9b8a3a6d70a6a5c30397f76fa40d3178 iommu/vt-d: Move Intel IOMMU driver into subdirectory
date:   8 months ago
:::::: branch date: 17 hours ago
:::::: commit date: 8 months ago
config: x86_64-randconfig-s022-20210201 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-215-g0fb77bb6-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=672cf6df9b8a3a6d70a6a5c30397f76fa40d3178
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 672cf6df9b8a3a6d70a6a5c30397f76fa40d3178
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

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


"sparse warnings: (new ones prefixed by >>)"
>> drivers/iommu/intel/irq_remapping.c:455:15: sparse: sparse: memcpy with byte count of 1048576

vim +455 drivers/iommu/intel/irq_remapping.c

f007e99c8e2e32 drivers/pci/intr_remapping.c        Weidong Han  2009-05-23  431  
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  432  static int iommu_load_old_irte(struct intel_iommu *iommu)
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  433  {
dfddb969edf021 drivers/iommu/intel_irq_remapping.c Dan Williams 2015-10-09  434  	struct irte *old_ir_table;
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  435  	phys_addr_t irt_phys;
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  436  	unsigned int i;
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  437  	size_t size;
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  438  	u64 irta;
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  439  
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  440  	/* Check whether the old ir-table has the same size as ours */
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  441  	irta = dmar_readq(iommu->reg + DMAR_IRTA_REG);
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  442  	if ((irta & INTR_REMAP_TABLE_REG_SIZE_MASK)
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  443  	     != INTR_REMAP_TABLE_REG_SIZE)
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  444  		return -EINVAL;
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  445  
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  446  	irt_phys = irta & VTD_PAGE_MASK;
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  447  	size     = INTR_REMAP_TABLE_ENTRIES*sizeof(struct irte);
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  448  
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  449  	/* Map the old IR table */
dfddb969edf021 drivers/iommu/intel_irq_remapping.c Dan Williams 2015-10-09  450  	old_ir_table = memremap(irt_phys, size, MEMREMAP_WB);
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  451  	if (!old_ir_table)
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  452  		return -ENOMEM;
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  453  
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  454  	/* Copy data over */
dfddb969edf021 drivers/iommu/intel_irq_remapping.c Dan Williams 2015-10-09 @455  	memcpy(iommu->ir_table->base, old_ir_table, size);
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  456  
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  457  	__iommu_flush_cache(iommu, iommu->ir_table->base, size);
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  458  
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  459  	/*
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  460  	 * Now check the table for used entries and mark those as
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  461  	 * allocated in the bitmap
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  462  	 */
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  463  	for (i = 0; i < INTR_REMAP_TABLE_ENTRIES; i++) {
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  464  		if (iommu->ir_table->base[i].present)
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  465  			bitmap_set(iommu->ir_table->bitmap, i, 1);
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  466  	}
7c3c9876d98a76 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  467  
dfddb969edf021 drivers/iommu/intel_irq_remapping.c Dan Williams 2015-10-09  468  	memunmap(old_ir_table);
50690762cfe32a drivers/iommu/intel_irq_remapping.c Dan Williams 2015-07-30  469  
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  470  	return 0;
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  471  }
af3b358e481155 drivers/iommu/intel_irq_remapping.c Joerg Roedel 2015-06-12  472  

:::::: The code at line 455 was first introduced by commit
:::::: dfddb969edf021f21a45fc6fd019db4f99d12308 iommu/vt-d: Switch from ioremap_cache to memremap

:::::: TO: Dan Williams <dan.j.williams@intel.com>
:::::: CC: Joerg Roedel <jroedel@suse.de>

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

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

             reply	other threads:[~2021-01-31 18:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-31 18:29 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-12-27  6:26 drivers/iommu/intel/irq_remapping.c:455:15: sparse: sparse: memcpy with byte count of 1048576 kernel test robot
2020-09-02 18:15 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202102010227.yV0DhdbH-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.