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 --]
next 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.