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>] [day] [month] [year] [list]
Message-ID: <202202210555.Jl3so3EM-lkp@intel.com>
Date:   Mon, 21 Feb 2022 05:22:40 +0800
From:   kernel test robot <lkp@...el.com>
To:     Jason Gunthorpe <jgg@...dia.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [jgunthorpe:iommufd 4/11] drivers/iommu/iommufd/pages.c:472:35:
 error: passing argument 1 of 'atomic64_read' from incompatible pointer type

tree:   https://github.com/jgunthorpe/linux iommufd
head:   eb047b2ba449f66ffc3f427bb50c9ca60f6c9b95
commit: 72a206491bb65ff62cca14b086edd5ff35625873 [4/11] iommufd: Data structure for PFN storage
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220221/202202210555.Jl3so3EM-lkp@intel.com/config)
compiler: arceb-elf-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/jgunthorpe/linux/commit/72a206491bb65ff62cca14b086edd5ff35625873
        git remote add jgunthorpe https://github.com/jgunthorpe/linux
        git fetch --no-tags jgunthorpe iommufd
        git checkout 72a206491bb65ff62cca14b086edd5ff35625873
        # 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=arc SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

   In file included from arch/arc/include/asm/bug.h:30,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:15,
                    from drivers/iommu/iommufd/pages.c:45:
   drivers/iommu/iommufd/pages.c: In function 'update_unpinned':
>> drivers/iommu/iommufd/pages.c:472:35: error: passing argument 1 of 'atomic64_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
     472 |             WARN_ON(atomic64_read(&pages->source_user->locked_vm) < npages))
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                   |
         |                                   atomic_long_t * {aka atomic_t *}
   include/asm-generic/bug.h:121:32: note: in definition of macro 'WARN_ON'
     121 |         int __ret_warn_on = !!(condition);                              \
         |                                ^~~~~~~~~
   In file included from include/linux/atomic.h:82,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/arc/include/asm/bitops.h:188,
                    from include/linux/bitops.h:33,
                    from include/linux/log2.h:12,
                    from include/asm-generic/div64.h:55,
                    from ./arch/arc/include/generated/asm/div64.h:1,
                    from include/linux/math.h:5,
                    from include/linux/math64.h:6,
                    from include/linux/time64.h:5,
                    from include/linux/restart_block.h:10,
                    from include/linux/thread_info.h:14,
                    from include/asm-generic/preempt.h:5,
                    from ./arch/arc/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:78,
                    from include/linux/spinlock.h:55,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/slab.h:15,
                    from drivers/iommu/iommufd/pages.c:45:
   include/linux/atomic/atomic-instrumented.h:644:33: note: expected 'const atomic64_t *' but argument is of type 'atomic_long_t *' {aka 'atomic_t *'}
     644 | atomic64_read(const atomic64_t *v)
         |               ~~~~~~~~~~~~~~~~~~^
>> drivers/iommu/iommufd/pages.c:474:30: error: passing argument 2 of 'atomic64_sub' from incompatible pointer type [-Werror=incompatible-pointer-types]
     474 |         atomic64_sub(npages, &pages->source_user->locked_vm);
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                              |
         |                              atomic_long_t * {aka atomic_t *}
   In file included from include/linux/atomic.h:82,
                    from include/asm-generic/bitops/lock.h:5,
                    from arch/arc/include/asm/bitops.h:188,
                    from include/linux/bitops.h:33,
                    from include/linux/log2.h:12,
                    from include/asm-generic/div64.h:55,
                    from ./arch/arc/include/generated/asm/div64.h:1,
                    from include/linux/math.h:5,
                    from include/linux/math64.h:6,
                    from include/linux/time64.h:5,
                    from include/linux/restart_block.h:10,
                    from include/linux/thread_info.h:14,
                    from include/asm-generic/preempt.h:5,
                    from ./arch/arc/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:78,
                    from include/linux/spinlock.h:55,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/slab.h:15,
                    from drivers/iommu/iommufd/pages.c:45:
   include/linux/atomic/atomic-instrumented.h:740:33: note: expected 'atomic64_t *' but argument is of type 'atomic_long_t *' {aka 'atomic_t *'}
     740 | atomic64_sub(s64 i, atomic64_t *v)
         |                     ~~~~~~~~~~~~^
   cc1: some warnings being treated as errors


vim +/atomic64_read +472 drivers/iommu/iommufd/pages.c

   461	
   462	static void update_unpinned(struct iopt_pages *pages)
   463	{
   464		unsigned long npages = pages->last_npinned - pages->npinned;
   465	
   466		lockdep_assert_held(&pages->mutex);
   467	
   468		if (pages->has_cap_ipc_lock)
   469			return;
   470	
   471		if (WARN_ON(pages->npinned > pages->last_npinned) ||
 > 472		    WARN_ON(atomic64_read(&pages->source_user->locked_vm) < npages))
   473			return;
 > 474		atomic64_sub(npages, &pages->source_user->locked_vm);
   475		atomic64_sub(npages, &pages->source_mm->pinned_vm);
   476		pages->last_npinned = pages->npinned;
   477	}
   478	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ