* [android-common:android-mainline-desktop 1/1] arch/arm64/include/asm/barrier.h:133:20: warning: passing argument 1 of '__kasan_check_write' makes pointer from integer without a cast
@ 2026-08-23 12:54 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-23 12:54 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
Hi Isaac,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android-mainline-desktop
head: 32fbb9061c7aac9d3b2343d85e199cedf31e1f67
commit: 06f8e52b34f38555bb820ac1cb1d9547a3c9c50a [1/1] ANDROID: GKI: Introduce GKI_HIDDEN_IOMMU_CONFIGS
config: arm64-randconfig-r121-20260822 (https://download.01.org/0day-ci/archive/20260822/202608221630.BE4lPUFQ-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 8.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260822/202608221630.BE4lPUFQ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608221630.BE4lPUFQ-lkp@intel.com/
All warnings (new ones prefixed by >>):
arch/arm64/include/asm/barrier.h:132:2: note: in expansion of macro 'compiletime_assert_atomic_type'
compiletime_assert_atomic_type(*p); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:25: error: 'struct mm_struct' has no member named 'iommu_mm'; did you mean 'mm_mt'?
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~
include/linux/compiler_types.h:548:9: note: in definition of macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
include/linux/compiler_types.h:568:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:571:2: note: in expansion of macro 'compiletime_assert'
compiletime_assert(__native_word(t), \
^~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:571:21: note: in expansion of macro '__native_word'
compiletime_assert(__native_word(t), \
^~~~~~~~~~~~~
arch/arm64/include/asm/barrier.h:132:2: note: in expansion of macro 'compiletime_assert_atomic_type'
compiletime_assert_atomic_type(*p); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:25: error: 'struct mm_struct' has no member named 'iommu_mm'; did you mean 'mm_mt'?
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~
include/linux/compiler_types.h:548:9: note: in definition of macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
include/linux/compiler_types.h:568:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:571:2: note: in expansion of macro 'compiletime_assert'
compiletime_assert(__native_word(t), \
^~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:571:21: note: in expansion of macro '__native_word'
compiletime_assert(__native_word(t), \
^~~~~~~~~~~~~
arch/arm64/include/asm/barrier.h:132:2: note: in expansion of macro 'compiletime_assert_atomic_type'
compiletime_assert_atomic_type(*p); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:25: error: 'struct mm_struct' has no member named 'iommu_mm'; did you mean 'mm_mt'?
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~
include/linux/compiler_types.h:548:9: note: in definition of macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
include/linux/compiler_types.h:568:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:571:2: note: in expansion of macro 'compiletime_assert'
compiletime_assert(__native_word(t), \
^~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:571:21: note: in expansion of macro '__native_word'
compiletime_assert(__native_word(t), \
^~~~~~~~~~~~~
arch/arm64/include/asm/barrier.h:132:2: note: in expansion of macro 'compiletime_assert_atomic_type'
compiletime_assert_atomic_type(*p); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bitops/generic-non-atomic.h:7,
from include/linux/bitops.h:28,
from arch/arm64/include/asm/cache.h:40,
from include/vdso/cache.h:5,
from include/linux/cache.h:6,
from arch/arm64/include/asm/processor.h:29,
from include/linux/sched.h:13,
from arch/arm64/include/asm/mmu_context.h:14,
from include/linux/mmu_context.h:5,
from drivers/iommu/iommu-sva.c:5:
drivers/iommu/iommu-sva.c:51:25: error: 'struct mm_struct' has no member named 'iommu_mm'; did you mean 'mm_mt'?
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~
arch/arm64/include/asm/barrier.h:133:33: note: in definition of macro '__smp_store_release'
kasan_check_write(__p, sizeof(*p)); \
^
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/barrier.h:133:20: warning: passing argument 1 of '__kasan_check_write' makes pointer from integer without a cast [-Wint-conversion]
kasan_check_write(__p, sizeof(*p)); \
^~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
In file included from include/asm-generic/rwonce.h:26,
from arch/arm64/include/asm/rwonce.h:67,
from include/linux/compiler.h:390,
from arch/arm64/include/asm/mmu_context.h:13,
from include/linux/mmu_context.h:5,
from drivers/iommu/iommu-sva.c:5:
include/linux/kasan-checks.h:20:47: note: expected 'const volatile void *' but argument is of type 'int'
bool __kasan_check_write(const volatile void *p, unsigned int size);
~~~~~~~~~~~~~~~~~~~~~^
In file included from include/asm-generic/bitops/generic-non-atomic.h:7,
from include/linux/bitops.h:28,
from arch/arm64/include/asm/cache.h:40,
from include/vdso/cache.h:5,
from include/linux/cache.h:6,
from arch/arm64/include/asm/processor.h:29,
from include/linux/sched.h:13,
from arch/arm64/include/asm/mmu_context.h:14,
from include/linux/mmu_context.h:5,
from drivers/iommu/iommu-sva.c:5:
drivers/iommu/iommu-sva.c:51:25: error: 'struct mm_struct' has no member named 'iommu_mm'; did you mean 'mm_mt'?
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~
arch/arm64/include/asm/barrier.h:134:18: note: in definition of macro '__smp_store_release'
switch (sizeof(*p)) { \
^
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
arch/arm64/include/asm/barrier.h:137:13: error: invalid type argument of unary '*' (have 'int')
: "=Q" (*__p) \
^~~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
arch/arm64/include/asm/barrier.h:143:13: error: invalid type argument of unary '*' (have 'int')
: "=Q" (*__p) \
^~~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
arch/arm64/include/asm/barrier.h:149:13: error: invalid type argument of unary '*' (have 'int')
: "=Q" (*__p) \
^~~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
arch/arm64/include/asm/barrier.h:155:13: error: invalid type argument of unary '*' (have 'int')
: "=Q" (*__p) \
^~~~
include/asm-generic/barrier.h:172:55: note: in expansion of macro '__smp_store_release'
#define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
^~~~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c:51:2: note: in expansion of macro 'smp_store_release'
smp_store_release(&mm->iommu_mm, iommu_mm);
^~~~~~~~~~~~~~~~~
drivers/iommu/iommu-sva.c: At top level:
drivers/iommu/iommu-sva.c:68:19: error: redefinition of 'iommu_sva_bind_device'
struct iommu_sva *iommu_sva_bind_device(struct device *dev, struct mm_struct *mm)
^~~~~~~~~~~~~~~~~~~~~
In file included from drivers/iommu/iommu-sva.c:8:
include/linux/iommu.h:1576:1: note: previous definition of 'iommu_sva_bind_device' was here
iommu_sva_bind_device(struct device *dev, struct mm_struct *mm)
^~~~~~~~~~~~~~~~~~~~~
In file included from arch/arm64/include/asm/processor.h:28,
from include/linux/sched.h:13,
from arch/arm64/include/asm/mmu_context.h:14,
from include/linux/mmu_context.h:5,
from drivers/iommu/iommu-sva.c:5:
drivers/iommu/iommu-sva.c: In function 'iommu_sva_bind_device':
include/linux/container_of.h:20:28: error: dereferencing pointer to incomplete type 'struct iommu_attach_handle'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
include/linux/container_of.h:20:2: note: in expansion of macro 'static_assert'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~~~
include/linux/container_of.h:20:16: note: in expansion of macro '__same_type'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~
drivers/iommu/iommu-sva.c:92:12: note: in expansion of macro 'container_of'
handle = container_of(attach_handle, struct iommu_sva, handle);
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for DRM_MIPI_DSI
Depends on [n]: HAS_IOMEM [=y] && DRM [=n]
Selected by [y]:
- GKI_HIDDEN_DRM_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_PCM_ELD
Depends on [n]: SOUND [=y] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for HVC_DRIVER
Depends on [n]: TTY [=n]
Selected by [y]:
- GKI_HIDDEN_VIRTUAL_CONFIGS [=y]
WARNING: unmet direct dependencies detected for PHYLINK
Depends on [n]: NETDEVICES [=n]
Selected by [y]:
- GKI_HIDDEN_ETHERNET_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_PCM_IEC958
Depends on [n]: SOUND [=y] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_SOC_CONFIGS [=y]
WARNING: unmet direct dependencies detected for IOMMU_SVA
Depends on [n]: IOMMU_SUPPORT [=n]
Selected by [y]:
- GKI_HIDDEN_IOMMU_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_COMPRESS_ACCEL
Depends on [n]: SOUND [=y] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_JACK
Depends on [n]: SOUND [=y] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_VMASTER
Depends on [n]: SOUND [=y] && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for CAN_RX_OFFLOAD
Depends on [n]: NETDEVICES [=n] && CAN_DEV [=n] && CAN_NETLINK [=n]
Selected by [y]:
- GKI_HIDDEN_MCP251XFD_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_JACK_INPUT_DEV
Depends on [n]: SOUND [=y] && SND [=n] && SND_JACK [=y]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
vim +/__kasan_check_write +133 arch/arm64/include/asm/barrier.h
47933ad41a86a4 Peter Zijlstra 2013-11-06 126
fd072df850e536 Michael S. Tsirkin 2015-12-27 127 #define __smp_store_release(p, v) \
47933ad41a86a4 Peter Zijlstra 2013-11-06 128 do { \
131e135f7fd14b Mark Rutland 2019-04-09 129 typeof(p) __p = (p); \
10223c5286f738 Will Deacon 2019-12-19 130 union { __unqual_scalar_typeof(*p) __val; char __c[1]; } __u = \
10223c5286f738 Will Deacon 2019-12-19 131 { .__val = (__force __unqual_scalar_typeof(*p)) (v) }; \
47933ad41a86a4 Peter Zijlstra 2013-11-06 132 compiletime_assert_atomic_type(*p); \
131e135f7fd14b Mark Rutland 2019-04-09 @133 kasan_check_write(__p, sizeof(*p)); \
47933ad41a86a4 Peter Zijlstra 2013-11-06 134 switch (sizeof(*p)) { \
878a84d5a8a18a Andre Przywara 2015-04-20 135 case 1: \
878a84d5a8a18a Andre Przywara 2015-04-20 136 asm volatile ("stlrb %w1, %0" \
131e135f7fd14b Mark Rutland 2019-04-09 137 : "=Q" (*__p) \
39c8275de81cf7 Mark Rutland 2023-03-14 138 : "rZ" (*(__u8 *)__u.__c) \
994870bead4ab1 Mark Rutland 2017-05-03 139 : "memory"); \
878a84d5a8a18a Andre Przywara 2015-04-20 140 break; \
878a84d5a8a18a Andre Przywara 2015-04-20 141 case 2: \
878a84d5a8a18a Andre Przywara 2015-04-20 142 asm volatile ("stlrh %w1, %0" \
131e135f7fd14b Mark Rutland 2019-04-09 143 : "=Q" (*__p) \
39c8275de81cf7 Mark Rutland 2023-03-14 144 : "rZ" (*(__u16 *)__u.__c) \
994870bead4ab1 Mark Rutland 2017-05-03 145 : "memory"); \
878a84d5a8a18a Andre Przywara 2015-04-20 146 break; \
47933ad41a86a4 Peter Zijlstra 2013-11-06 147 case 4: \
47933ad41a86a4 Peter Zijlstra 2013-11-06 148 asm volatile ("stlr %w1, %0" \
131e135f7fd14b Mark Rutland 2019-04-09 149 : "=Q" (*__p) \
39c8275de81cf7 Mark Rutland 2023-03-14 150 : "rZ" (*(__u32 *)__u.__c) \
994870bead4ab1 Mark Rutland 2017-05-03 151 : "memory"); \
47933ad41a86a4 Peter Zijlstra 2013-11-06 152 break; \
47933ad41a86a4 Peter Zijlstra 2013-11-06 153 case 8: \
39c8275de81cf7 Mark Rutland 2023-03-14 154 asm volatile ("stlr %x1, %0" \
131e135f7fd14b Mark Rutland 2019-04-09 155 : "=Q" (*__p) \
39c8275de81cf7 Mark Rutland 2023-03-14 156 : "rZ" (*(__u64 *)__u.__c) \
994870bead4ab1 Mark Rutland 2017-05-03 157 : "memory"); \
47933ad41a86a4 Peter Zijlstra 2013-11-06 158 break; \
47933ad41a86a4 Peter Zijlstra 2013-11-06 159 } \
47933ad41a86a4 Peter Zijlstra 2013-11-06 160 } while (0)
47933ad41a86a4 Peter Zijlstra 2013-11-06 161
:::::: The code at line 133 was first introduced by commit
:::::: 131e135f7fd14b1de7a5eb26631076705c18073f arm64: instrument smp_{load_acquire,store_release}
:::::: TO: Mark Rutland <mark.rutland@arm.com>
:::::: CC: Will Deacon <will.deacon@arm.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-23 12:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-23 12:54 [android-common:android-mainline-desktop 1/1] arch/arm64/include/asm/barrier.h:133:20: warning: passing argument 1 of '__kasan_check_write' makes pointer from integer without a cast kernel test robot
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.