[luxis1999-iommufd:iommufd-v5.16-rc3 23/25] drivers/iommu/iommufd/io_pagetable.c:1535:6: warning: comparison of distinct pointer types ('typeof (iova) *' (aka 'unsigned long *') and 'typeof (length - 1) *' (aka 'unsigned int *'))
by kernel test robot
tree: https://github.com/luxis1999/iommufd iommufd-v5.16-rc3
head: 21c1bb93447d6cced2f486cdb68b92d11f2e664d
commit: 4aa75d972a71aafba6e3b57ca91f6a04bdd37611 [23/25] vfio/pci: Add bind_iommufd() support
config: i386-randconfig-r013-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170238.6pX2L0DT-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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
# https://github.com/luxis1999/iommufd/commit/4aa75d972a71aafba6e3b57ca91f6...
git remote add luxis1999-iommufd https://github.com/luxis1999/iommufd
git fetch --no-tags luxis1999-iommufd iommufd-v5.16-rc3
git checkout 4aa75d972a71aafba6e3b57ca91f6a04bdd37611
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/iommu/iommufd/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/iommu/iommufd/io_pagetable.c:1535:6: warning: comparison of distinct pointer types ('typeof (iova) *' (aka 'unsigned long *') and 'typeof (length - 1) *' (aka 'unsigned int *')) [-Wcompare-distinct-pointer-types]
if (check_add_overflow(iova, length - 1, &last_iova))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/overflow.h:66:15: note: expanded from macro 'check_add_overflow'
(void) (&__a == &__b); \
~~~~ ^ ~~~~
drivers/iommu/iommufd/io_pagetable.c:1595:14: warning: comparison of distinct pointer types ('typeof (iova) *' (aka 'unsigned long *') and 'typeof (length - 1) *' (aka 'unsigned int *')) [-Wcompare-distinct-pointer-types]
WARN_ON(check_add_overflow(iova, length - 1, &last_iova)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/overflow.h:66:15: note: expanded from macro 'check_add_overflow'
(void) (&__a == &__b); \
~~~~ ^ ~~~~
include/asm-generic/bug.h:121:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
2 warnings generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for IOMMUFD
Depends on IOMMU_SUPPORT
Selected by
- VFIO_PCI_CORE && VFIO && PCI && MMU
vim +1535 drivers/iommu/iommufd/io_pagetable.c
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1509
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1510 /**
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1511 * iopt_access_pages - Return a list of pages under the iova
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1512 *
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1513 * Reads @npages starting at iova and returns the struct page * pointers. These
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1514 * can be kmap'd by the caller for CPU access.
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1515 *
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1516 * The caller must perform iopt_unaccess_pages() when done to balance this.
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1517 *
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1518 * iova can be unaligned from PAGE_SIZE. The first returned byte starts at
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1519 * page_to_phys(out_pages[0]) + (iova % PAGE_SIZE). The caller promises not
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1520 * to touch memory outside the requested iova subslice.
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1521 *
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1522 * FIXME: callers that need a DMA mapping via a sgl should create another
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1523 * interface to build the SGL efficiently
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1524 */
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1525 int iopt_access_pages(struct io_pagetable *iopt, unsigned long iova,
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1526 size_t length, struct page **out_pages, bool write)
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1527 {
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1528 unsigned long cur_iova = iova;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1529 unsigned long last_iova;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1530 struct iopt_area *area;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1531 int rc;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1532
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1533 if (!length)
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1534 return -EINVAL;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 @1535 if (check_add_overflow(iova, length - 1, &last_iova))
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1536 return -EOVERFLOW;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1537
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1538 down_read(&iopt->rwsem);
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1539 for (area = iopt_area_iter_first(iopt, iova, last_iova); area;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1540 area = iopt_area_iter_next(area, iova, last_iova)) {
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1541 unsigned long last = min(last_iova, iopt_area_last_iova(area));
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1542 unsigned long last_index;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1543 unsigned long index;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1544
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1545 /* Need contiguous areas in the access */
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1546 if (iopt_area_iova(area) < cur_iova) {
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1547 rc = -EINVAL;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1548 goto out_remove;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1549 }
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1550
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1551 index = iopt_iova_to_index(area, cur_iova);
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1552 last_index = iopt_iova_to_index(area, last);
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1553 rc = iopt_pages_add_user(area->pages, index, last_index,
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1554 out_pages, write);
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1555 if (rc)
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1556 goto out_remove;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1557 if (last == last_iova)
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1558 break;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1559 /*
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1560 * Can't cross areas that are not aligned to the system page
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1561 * size with this API.
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1562 */
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1563 if (cur_iova % PAGE_SIZE) {
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1564 rc = -EINVAL;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1565 goto out_remove;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1566 }
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1567 cur_iova = last + 1;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1568 out_pages += last_index - index;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1569 atomic_inc(&area->num_users);
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1570 }
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1571
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1572 up_read(&iopt->rwsem);
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1573 return 0;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1574
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1575 out_remove:
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1576 if (cur_iova != iova)
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1577 iopt_unaccess_pages(iopt, iova, cur_iova - iova);
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1578 return rc;
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1579 }
b1baa437fe5478 Jason Gunthorpe 2021-11-11 1580
:::::: The code at line 1535 was first introduced by commit
:::::: b1baa437fe5478bf8f79e53f49409b2f413ea27e iommufd: Data structure to provide IOVA to PFN mapping
:::::: TO: Jason Gunthorpe <jgg(a)nvidia.com>
:::::: CC: Jason Gunthorpe <jgg(a)nvidia.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH v6 20/28] spi: spi-mem: Fill the spi-mem controller capabilities of all the drivers
by kernel test robot
Hi Miquel,
I love your patch! Yet something to improve:
[auto build test ERROR on broonie-spi/for-next]
[also build test ERROR on mtd/nand/next mtd/mtd/next mtd/mtd/fixes v5.16-rc5 next-20211215]
[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/Miquel-Raynal/External-ECC-engin...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
config: hexagon-randconfig-r045-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170259.JPoGT6na-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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
# https://github.com/0day-ci/linux/commit/bf16b56f7a0cc5aa237129a6b8bd216dc...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Miquel-Raynal/External-ECC-engines-Macronix-support/20211216-191821
git checkout bf16b56f7a0cc5aa237129a6b8bd216dc2632c8b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at gigadevice.c
>>> mtd/nand/spi/gigadevice.o:(.rodata+0x35C) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at macronix.c
>>> mtd/nand/spi/macronix.o:(.rodata+0x83C) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at sysfs.c
>>> mtd/spi-nor/sysfs.o:(.rodata+0x14) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at atmel.c
>>> mtd/spi-nor/atmel.o:(.rodata+0x370) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at catalyst.c
>>> mtd/spi-nor/catalyst.o:(.rodata+0x178) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at eon.c
>>> mtd/spi-nor/eon.o:(.rodata+0x370) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at esmt.c
>>> mtd/spi-nor/esmt.o:(.rodata+0xE8) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at everspin.c
>>> mtd/spi-nor/everspin.o:(.rodata+0x130) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at fujitsu.c
>>> mtd/spi-nor/fujitsu.o:(.rodata+0x58) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at gigadevice.c
>>> mtd/spi-nor/gigadevice.o:(.rodata+0x250) in archive drivers/built-in.a
--
>> ld.lld: error: duplicate symbol: spi_mem_no_caps
>>> defined at core.c
>>> mtd/nand/spi/core.o:(spi_mem_no_caps) in archive drivers/built-in.a
>>> defined at intel.c
>>> mtd/spi-nor/intel.o:(.rodata+0xE8) in archive drivers/built-in.a
..
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[intel-tdx:kvm-upstream 79/152] arch/x86/kvm/vmx/tdx_stubs.c:11:5: warning: no previous prototype for function 'tdx_vm_ioctl'
by kernel test robot
tree: https://github.com/intel/tdx.git kvm-upstream
head: bdfe06c17daab60c196ff80c1d98467a1d3734fa
commit: aa43996cce77132edb090ca84f3f6a72e359b55c [79/152] KVM: TDX: initialize VM with TDX specific parameters
config: x86_64-randconfig-a013-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170255.KUhEZLw2-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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
# https://github.com/intel/tdx/commit/aa43996cce77132edb090ca84f3f6a72e359b55c
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx kvm-upstream
git checkout aa43996cce77132edb090ca84f3f6a72e359b55c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kvm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
arch/x86/kvm/vmx/tdx_stubs.c:4:13: warning: no previous prototype for function 'tdx_pre_kvm_init' [-Wmissing-prototypes]
void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
^
arch/x86/kvm/vmx/tdx_stubs.c:4:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
^
static
arch/x86/kvm/vmx/tdx_stubs.c:6:12: warning: no previous prototype for function 'tdx_hardware_setup' [-Wmissing-prototypes]
int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:6:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
^
static
arch/x86/kvm/vmx/tdx_stubs.c:7:6: warning: no previous prototype for function 'tdx_hardware_enable' [-Wmissing-prototypes]
void tdx_hardware_enable(void) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:7:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_hardware_enable(void) {}
^
static
arch/x86/kvm/vmx/tdx_stubs.c:8:6: warning: no previous prototype for function 'tdx_hardware_disable' [-Wmissing-prototypes]
void tdx_hardware_disable(void) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:8:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_hardware_disable(void) {}
^
static
arch/x86/kvm/vmx/tdx_stubs.c:10:5: warning: no previous prototype for function 'tdx_dev_ioctl' [-Wmissing-prototypes]
int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:10:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
^
static
>> arch/x86/kvm/vmx/tdx_stubs.c:11:5: warning: no previous prototype for function 'tdx_vm_ioctl' [-Wmissing-prototypes]
int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:11:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
^
static
6 warnings generated.
vim +/tdx_vm_ioctl +11 arch/x86/kvm/vmx/tdx_stubs.c
9
10 int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
> 11 int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH v6 20/28] spi: spi-mem: Fill the spi-mem controller capabilities of all the drivers
by kernel test robot
Hi Miquel,
I love your patch! Yet something to improve:
[auto build test ERROR on broonie-spi/for-next]
[also build test ERROR on mtd/nand/next mtd/mtd/next mtd/mtd/fixes v5.16-rc5 next-20211215]
[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/Miquel-Raynal/External-ECC-engin...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
config: arm-buildonly-randconfig-r006-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170120.4tAlxDnn-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
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
# https://github.com/0day-ci/linux/commit/bf16b56f7a0cc5aa237129a6b8bd216dc...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Miquel-Raynal/External-ECC-engines-Macronix-support/20211216-191821
git checkout bf16b56f7a0cc5aa237129a6b8bd216dc2632c8b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arm-linux-gnueabi-ld: drivers/mtd/nand/spi/gigadevice.o: in function `.LANCHOR0':
>> gigadevice.c:(.rodata+0x464): multiple definition of `spi_mem_no_caps'; drivers/mtd/nand/spi/core.o:core.c:(.rodata+0x2e8): first defined here
arm-linux-gnueabi-ld: drivers/mtd/nand/spi/macronix.o: in function `.LANCHOR0':
macronix.c:(.rodata+0x8d4): multiple definition of `spi_mem_no_caps'; drivers/mtd/nand/spi/core.o:core.c:(.rodata+0x2e8): first defined here
arm-linux-gnueabi-ld: drivers/mtd/nand/spi/micron.o: in function `.LANCHOR0':
micron.c:(.rodata+0x4cc): multiple definition of `spi_mem_no_caps'; drivers/mtd/nand/spi/core.o:core.c:(.rodata+0x2e8): first defined here
arm-linux-gnueabi-ld: drivers/mtd/nand/spi/paragon.o: in function `.LANCHOR0':
paragon.c:(.rodata+0x144): multiple definition of `spi_mem_no_caps'; drivers/mtd/nand/spi/core.o:core.c:(.rodata+0x2e8): first defined here
arm-linux-gnueabi-ld: drivers/mtd/nand/spi/toshiba.o: in function `.LANCHOR0':
toshiba.c:(.rodata+0x664): multiple definition of `spi_mem_no_caps'; drivers/mtd/nand/spi/core.o:core.c:(.rodata+0x2e8): first defined here
arm-linux-gnueabi-ld: drivers/mtd/nand/spi/winbond.o:(.rodata+0x114): multiple definition of `spi_mem_no_caps'; drivers/mtd/nand/spi/core.o:core.c:(.rodata+0x2e8): first defined here
--
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/sfdp.o: in function `.LANCHOR0':
>> sfdp.c:(.rodata+0x278): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/swp.o: in function `.LANCHOR0':
swp.c:(.rodata+0x24): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/otp.o: in function `.LANCHOR0':
otp.c:(.rodata+0xc): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/sysfs.o:(.rodata+0x14): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/atmel.o: in function `.LANCHOR0':
atmel.c:(.rodata+0x3d0): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/catalyst.o:(.rodata+0x178): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/eon.o:(.rodata+0x370): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/esmt.o:(.rodata+0xe8): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/everspin.o:(.rodata+0x130): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/fujitsu.o:(.rodata+0x58): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/gigadevice.o:(.rodata+0x250): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/intel.o:(.rodata+0xe8): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/issi.o:(.rodata+0x458): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/macronix.o:(.rodata+0x800): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/micron-st.o:(.rodata+0xe88): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/spansion.o:(.rodata+0x9b0): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/sst.o: in function `.LANCHOR0':
sst.c:(.rodata+0x48c): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/winbond.o: in function `.LANCHOR0':
winbond.c:(.rodata+0x978): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/xilinx.o:(.rodata+0x188): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/xmc.o:(.rodata+0xa0): multiple definition of `spi_mem_no_caps'; drivers/mtd/spi-nor/core.o:core.c:(.rodata+0xfbc): first defined here
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[intel-tdx:kvm-upstream 99/152] arch/x86/kvm/vmx/tdx_stubs.c:18:6: error: no previous prototype for 'tdx_load_mmu_pgd'
by kernel test robot
tree: https://github.com/intel/tdx.git kvm-upstream
head: bdfe06c17daab60c196ff80c1d98467a1d3734fa
commit: f1849f253c0fb86f0b08b979afc907b445858372 [99/152] KVM: TDX: Add load_mmu_pgd method for TDX
config: i386-randconfig-m021-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170142.ENwsI9A2-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/intel/tdx/commit/f1849f253c0fb86f0b08b979afc907b445858372
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx kvm-upstream
git checkout f1849f253c0fb86f0b08b979afc907b445858372
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/x86/kvm/vmx/tdx_stubs.c:4:13: error: no previous prototype for 'tdx_pre_kvm_init' [-Werror=missing-prototypes]
4 | void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:6:12: error: no previous prototype for 'tdx_hardware_setup' [-Werror=missing-prototypes]
6 | int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:7:6: error: no previous prototype for 'tdx_hardware_enable' [-Werror=missing-prototypes]
7 | void tdx_hardware_enable(void) {}
| ^~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:8:6: error: no previous prototype for 'tdx_hardware_disable' [-Werror=missing-prototypes]
8 | void tdx_hardware_disable(void) {}
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:10:5: error: no previous prototype for 'tdx_vcpu_create' [-Werror=missing-prototypes]
10 | int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:11:6: error: no previous prototype for 'tdx_vcpu_free' [-Werror=missing-prototypes]
11 | void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:12:6: error: no previous prototype for 'tdx_vcpu_reset' [-Werror=missing-prototypes]
12 | void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
| ^~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:14:5: error: no previous prototype for 'tdx_dev_ioctl' [-Werror=missing-prototypes]
14 | int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:15:5: error: no previous prototype for 'tdx_vm_ioctl' [-Werror=missing-prototypes]
15 | int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:16:5: error: no previous prototype for 'tdx_vcpu_ioctl' [-Werror=missing-prototypes]
16 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c: In function 'tdx_vcpu_ioctl':
arch/x86/kvm/vmx/tdx_stubs.c:16:72: error: 'ENOPNOTSUPP' undeclared (first use in this function); did you mean 'EOPNOTSUPP'?
16 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^~~~~~~~~~~
| EOPNOTSUPP
arch/x86/kvm/vmx/tdx_stubs.c:16:72: note: each undeclared identifier is reported only once for each function it appears in
arch/x86/kvm/vmx/tdx_stubs.c: At top level:
>> arch/x86/kvm/vmx/tdx_stubs.c:18:6: error: no previous prototype for 'tdx_load_mmu_pgd' [-Werror=missing-prototypes]
18 | void tdx_load_mmu_pgd(struct kvm_vcpu *vcpu, hpa_t root_hpa, int root_level) {}
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c: In function 'tdx_vcpu_ioctl':
arch/x86/kvm/vmx/tdx_stubs.c:16:85: error: control reaches end of non-void function [-Werror=return-type]
16 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^
cc1: all warnings being treated as errors
vim +/tdx_load_mmu_pgd +18 arch/x86/kvm/vmx/tdx_stubs.c
13
14 int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
15 int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
> 16 int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
17
> 18 void tdx_load_mmu_pgd(struct kvm_vcpu *vcpu, hpa_t root_hpa, int root_level) {}
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[bluetooth-next:master 73/178] tsnep_main.c:undefined reference to `devm_ioremap_resource'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
head: a33d805b322583a3505e95f3e57eada81cac34bd
commit: 403f69bbdbadb2e601f725be2d00b4ccc7b61c9d [73/178] tsnep: Add TSN endpoint Ethernet MAC driver
config: s390-randconfig-r035-20211216 (https://download.01.org/0day-ci/archive/20211216/202112162324.xLL408eY-lk...)
compiler: s390-linux-gcc (GCC) 11.2.0
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
# https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next....
git remote add bluetooth-next https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git
git fetch --no-tags bluetooth-next master
git checkout 403f69bbdbadb2e601f725be2d00b4ccc7b61c9d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
s390-linux-ld: kernel/dma/coherent.o: in function `dma_init_coherent_memory':
coherent.c:(.text+0xf8): undefined reference to `memremap'
s390-linux-ld: coherent.c:(.text+0x236): undefined reference to `memunmap'
s390-linux-ld: kernel/dma/coherent.o: in function `dma_declare_coherent_memory':
coherent.c:(.text+0x974): undefined reference to `memunmap'
s390-linux-ld: drivers/dma/fsl-edma.o: in function `fsl_edma_probe':
fsl-edma.c:(.text+0x1b3c): undefined reference to `devm_ioremap_resource'
s390-linux-ld: fsl-edma.c:(.text+0x1d30): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/dma/idma64.o: in function `idma64_platform_probe':
idma64.c:(.text+0x3374): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/tty/ipwireless/main.o: in function `ipwireless_detach':
main.c:(.text+0x128): undefined reference to `iounmap'
s390-linux-ld: main.c:(.text+0x1c4): undefined reference to `iounmap'
s390-linux-ld: drivers/tty/ipwireless/main.o: in function `ipwireless_probe':
main.c:(.text+0x614): undefined reference to `ioremap'
s390-linux-ld: main.c:(.text+0x7fa): undefined reference to `ioremap'
s390-linux-ld: main.c:(.text+0x8ac): undefined reference to `iounmap'
s390-linux-ld: main.c:(.text+0x92e): undefined reference to `iounmap'
s390-linux-ld: drivers/tty/ipwireless/main.o: in function `config_ipwireless':
main.c:(.text+0xe56): undefined reference to `iounmap'
s390-linux-ld: main.c:(.text+0xede): undefined reference to `iounmap'
s390-linux-ld: drivers/net/arcnet/com90xx.o: in function `com90xx_exit':
com90xx.c:(.exit.text+0xa6): undefined reference to `iounmap'
s390-linux-ld: drivers/net/arcnet/com90xx.o: in function `check_mirror':
com90xx.c:(.init.text+0x68): undefined reference to `ioremap'
s390-linux-ld: com90xx.c:(.init.text+0xb0): undefined reference to `iounmap'
s390-linux-ld: drivers/net/arcnet/com90xx.o: in function `com90xx_found':
com90xx.c:(.init.text+0x1ba): undefined reference to `iounmap'
s390-linux-ld: com90xx.c:(.init.text+0x356): undefined reference to `iounmap'
s390-linux-ld: com90xx.c:(.init.text+0x578): undefined reference to `ioremap'
s390-linux-ld: com90xx.c:(.init.text+0x782): undefined reference to `iounmap'
s390-linux-ld: drivers/net/arcnet/com90xx.o: in function `com90xx_probe':
com90xx.c:(.init.text+0x17c4): undefined reference to `ioremap'
s390-linux-ld: com90xx.c:(.init.text+0x1bbe): undefined reference to `iounmap'
s390-linux-ld: com90xx.c:(.init.text+0x299c): undefined reference to `iounmap'
s390-linux-ld: drivers/net/ethernet/altera/altera_tse_main.o: in function `request_and_map':
altera_tse_main.c:(.text+0x136a): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/net/ethernet/engleder/tsnep_main.o: in function `tsnep_probe':
>> tsnep_main.c:(.text+0x1de6): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/net/ethernet/fujitsu/fmvj18x_cs.o: in function `fmvj18x_get_hwinfo':
fmvj18x_cs.c:(.text+0x1974): undefined reference to `ioremap'
s390-linux-ld: fmvj18x_cs.c:(.text+0x1b4a): undefined reference to `iounmap'
s390-linux-ld: fmvj18x_cs.c:(.text+0x1ba0): undefined reference to `iounmap'
s390-linux-ld: drivers/net/ethernet/fujitsu/fmvj18x_cs.o: in function `fmvj18x_config':
fmvj18x_cs.c:(.text+0x2620): undefined reference to `ioremap'
s390-linux-ld: fmvj18x_cs.c:(.text+0x26ae): undefined reference to `iounmap'
s390-linux-ld: fmvj18x_cs.c:(.text+0x2d50): undefined reference to `iounmap'
s390-linux-ld: drivers/net/ethernet/fujitsu/fmvj18x_cs.o: in function `fmvj18x_detach':
fmvj18x_cs.c:(.text+0x3012): undefined reference to `iounmap'
s390-linux-ld: drivers/net/ethernet/smsc/smc91c92_cs.o: in function `smc91c92_config':
smc91c92_cs.c:(.text+0x35da): undefined reference to `ioremap'
s390-linux-ld: smc91c92_cs.c:(.text+0x464c): undefined reference to `iounmap'
s390-linux-ld: drivers/net/ethernet/smsc/smc91c92_cs.o: in function `smc91c92_detach':
smc91c92_cs.c:(.text+0x4ca4): undefined reference to `iounmap'
s390-linux-ld: drivers/pcmcia/cistpl.o: in function `set_cis_map':
cistpl.c:(.text+0x5aa): undefined reference to `ioremap'
s390-linux-ld: cistpl.c:(.text+0x642): undefined reference to `iounmap'
s390-linux-ld: cistpl.c:(.text+0x6b4): undefined reference to `iounmap'
s390-linux-ld: cistpl.c:(.text+0x6e4): undefined reference to `ioremap'
s390-linux-ld: drivers/pcmcia/cistpl.o: in function `release_cis_mem':
cistpl.c:(.text+0x22a2): undefined reference to `iounmap'
s390-linux-ld: drivers/media/rc/ir-hix5hd2.o: in function `hix5hd2_ir_probe':
ir-hix5hd2.c:(.text+0x6cc): undefined reference to `devm_platform_ioremap_resource'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
arch/mips/mm/tlbex.c:2173 build_r4000_tlb_load_handler() warn: inconsistent indenting
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2b14864acbaaf03d9c01982e243a84632524c3ac
commit: bc431d2153cc290573531601b5004babe7011568 MIPS: Fix fall-through warnings for Clang
date: 5 months ago
config: mips-randconfig-m031-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170029.Rfb3VzGK-lk...)
compiler: mips64-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
arch/mips/mm/tlbex.c:2173 build_r4000_tlb_load_handler() warn: inconsistent indenting
Old smatch warnings:
arch/mips/mm/tlbex.c:2603 check_pabits() warn: always true condition '(fillbits >= ((__builtin_constant_p(0)) ?(((0) < 2) ?0:63 - __builtin_clzll(0)):((4 <= 4)) ?__ilog2_u32(0):__ilog2_u64(0))) => (0-u32max >= 0)'
vim +2173 arch/mips/mm/tlbex.c
2114
2115 static void build_r4000_tlb_load_handler(void)
2116 {
2117 u32 *p = (u32 *)msk_isa16_mode((ulong)handle_tlbl);
2118 struct uasm_label *l = labels;
2119 struct uasm_reloc *r = relocs;
2120 struct work_registers wr;
2121
2122 memset(p, 0, handle_tlbl_end - (char *)p);
2123 memset(labels, 0, sizeof(labels));
2124 memset(relocs, 0, sizeof(relocs));
2125
2126 if (bcm1250_m3_war()) {
2127 unsigned int segbits = 44;
2128
2129 uasm_i_dmfc0(&p, K0, C0_BADVADDR);
2130 uasm_i_dmfc0(&p, K1, C0_ENTRYHI);
2131 uasm_i_xor(&p, K0, K0, K1);
2132 uasm_i_dsrl_safe(&p, K1, K0, 62);
2133 uasm_i_dsrl_safe(&p, K0, K0, 12 + 1);
2134 uasm_i_dsll_safe(&p, K0, K0, 64 + 12 + 1 - segbits);
2135 uasm_i_or(&p, K0, K0, K1);
2136 uasm_il_bnez(&p, &r, K0, label_leave);
2137 /* No need for uasm_i_nop */
2138 }
2139
2140 wr = build_r4000_tlbchange_handler_head(&p, &l, &r);
2141 build_pte_present(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbl);
2142 if (m4kc_tlbp_war())
2143 build_tlb_probe_entry(&p);
2144
2145 if (cpu_has_rixi && !cpu_has_rixiex) {
2146 /*
2147 * If the page is not _PAGE_VALID, RI or XI could not
2148 * have triggered it. Skip the expensive test..
2149 */
2150 if (use_bbit_insns()) {
2151 uasm_il_bbit0(&p, &r, wr.r1, ilog2(_PAGE_VALID),
2152 label_tlbl_goaround1);
2153 } else {
2154 uasm_i_andi(&p, wr.r3, wr.r1, _PAGE_VALID);
2155 uasm_il_beqz(&p, &r, wr.r3, label_tlbl_goaround1);
2156 }
2157 uasm_i_nop(&p);
2158
2159 /*
2160 * Warn if something may race with us & replace the TLB entry
2161 * before we read it here. Everything with such races should
2162 * also have dedicated RiXi exception handlers, so this
2163 * shouldn't be hit.
2164 */
2165 WARN(cpu_has_tlbex_tlbp_race(), "Unhandled race in RiXi path");
2166
2167 uasm_i_tlbr(&p);
2168
2169 switch (current_cpu_type()) {
2170 default:
2171 if (cpu_has_mips_r2_exec_hazard) {
2172 uasm_i_ehb(&p);
> 2173 fallthrough;
2174
2175 case CPU_CAVIUM_OCTEON:
2176 case CPU_CAVIUM_OCTEON_PLUS:
2177 case CPU_CAVIUM_OCTEON2:
2178 break;
2179 }
2180 }
2181
2182 /* Examine entrylo 0 or 1 based on ptr. */
2183 if (use_bbit_insns()) {
2184 uasm_i_bbit0(&p, wr.r2, ilog2(sizeof(pte_t)), 8);
2185 } else {
2186 uasm_i_andi(&p, wr.r3, wr.r2, sizeof(pte_t));
2187 uasm_i_beqz(&p, wr.r3, 8);
2188 }
2189 /* load it in the delay slot*/
2190 UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO0);
2191 /* load it if ptr is odd */
2192 UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO1);
2193 /*
2194 * If the entryLo (now in wr.r3) is valid (bit 1), RI or
2195 * XI must have triggered it.
2196 */
2197 if (use_bbit_insns()) {
2198 uasm_il_bbit1(&p, &r, wr.r3, 1, label_nopage_tlbl);
2199 uasm_i_nop(&p);
2200 uasm_l_tlbl_goaround1(&l, p);
2201 } else {
2202 uasm_i_andi(&p, wr.r3, wr.r3, 2);
2203 uasm_il_bnez(&p, &r, wr.r3, label_nopage_tlbl);
2204 uasm_i_nop(&p);
2205 }
2206 uasm_l_tlbl_goaround1(&l, p);
2207 }
2208 build_make_valid(&p, &r, wr.r1, wr.r2, wr.r3);
2209 build_r4000_tlbchange_handler_tail(&p, &l, &r, wr.r1, wr.r2);
2210
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[intel-tdx:kvm-upstream 81/152] arch/x86/kvm/vmx/tdx_stubs.c:16:5: error: no previous prototype for 'tdx_vcpu_ioctl'
by kernel test robot
tree: https://github.com/intel/tdx.git kvm-upstream
head: bdfe06c17daab60c196ff80c1d98467a1d3734fa
commit: 2a1d7e9bae19b842ad5ac81f5e0b549066b58ff7 [81/152] KVM: TDX: Do TDX specific vcpu initialization
config: i386-randconfig-m021-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170038.Fw2cty1d-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/intel/tdx/commit/2a1d7e9bae19b842ad5ac81f5e0b549066b58ff7
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx kvm-upstream
git checkout 2a1d7e9bae19b842ad5ac81f5e0b549066b58ff7
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/x86/kvm/vmx/tdx_stubs.c:4:13: error: no previous prototype for 'tdx_pre_kvm_init' [-Werror=missing-prototypes]
4 | void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:6:12: error: no previous prototype for 'tdx_hardware_setup' [-Werror=missing-prototypes]
6 | int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:7:6: error: no previous prototype for 'tdx_hardware_enable' [-Werror=missing-prototypes]
7 | void tdx_hardware_enable(void) {}
| ^~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:8:6: error: no previous prototype for 'tdx_hardware_disable' [-Werror=missing-prototypes]
8 | void tdx_hardware_disable(void) {}
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:10:5: error: no previous prototype for 'tdx_vcpu_create' [-Werror=missing-prototypes]
10 | int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:11:6: error: no previous prototype for 'tdx_vcpu_free' [-Werror=missing-prototypes]
11 | void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:12:6: error: no previous prototype for 'tdx_vcpu_reset' [-Werror=missing-prototypes]
12 | void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
| ^~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:14:5: error: no previous prototype for 'tdx_dev_ioctl' [-Werror=missing-prototypes]
14 | int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:15:5: error: no previous prototype for 'tdx_vm_ioctl' [-Werror=missing-prototypes]
15 | int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~
>> arch/x86/kvm/vmx/tdx_stubs.c:16:5: error: no previous prototype for 'tdx_vcpu_ioctl' [-Werror=missing-prototypes]
16 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c: In function 'tdx_vcpu_ioctl':
>> arch/x86/kvm/vmx/tdx_stubs.c:16:72: error: 'ENOPNOTSUPP' undeclared (first use in this function); did you mean 'EOPNOTSUPP'?
16 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^~~~~~~~~~~
| EOPNOTSUPP
arch/x86/kvm/vmx/tdx_stubs.c:16:72: note: each undeclared identifier is reported only once for each function it appears in
arch/x86/kvm/vmx/tdx_stubs.c:16:85: error: control reaches end of non-void function [-Werror=return-type]
16 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^
cc1: all warnings being treated as errors
vim +/tdx_vcpu_ioctl +16 arch/x86/kvm/vmx/tdx_stubs.c
9
10 int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
11 void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
> 12 void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
13
14 int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
> 15 int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
> 16 int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week