Am Mi., 3. Apr. 2024 um 09:14 Uhr schrieb Charlemagne Lasse <charlemagnelasse@xxxxxxxxx>: > > Am Di., 2. Apr. 2024 um 22:40 Uhr schrieb Uros Bizjak <ubizjak@xxxxxxxxx>: > [snip] > > > ``` > > > git reset --hard ed2f752e0e0a21d941ca0ee539ef3d4cd576bc5e > > > git cherry-pick 3a1d3829e193c091475ceab481c5f8deab385023 > > > patch -p1 -i ~/p.diff.txt > > > git clean -dfx > > > make allnoconfig -j$(nproc) > > > make kvm_guest.config > > > echo CONFIG_MODULES=y >> .config > > > echo CONFIG_NET_9P_VIRTIO=m >> .config > > > make olddefconfig > > > make prepare -j$(nproc) > > > touch net/9p/trans_virtio.c > > > make C=1 M=net/9p/ trans_virtio.o CHECK="sparse -Wconstexpr-not-const" > > > ``` > > > > > > This now shows the warning: > > > > > > ``` > > > net/9p/trans_virtio.c:831:1: warning: non-constant initializer for static object > > > net/9p/trans_virtio.c:832:1: warning: non-constant initializer for static object > > > ``` > [snip] > > It's this part: > > > > diff --git a/include/linux/compiler.h b/include/linux/compiler.h > > index d7779a18b24fc3..bf9815eaf4aabf 100644 > > --- a/include/linux/compiler.h > > +++ b/include/linux/compiler.h > > @@ -212,7 +212,7 @@ void ftrace_likely_update(struct > > ftrace_likely_data *f, int val, > > */ > > #define ___ADDRESSABLE(sym, __attrs) \ > > static void * __used __attrs \ > > - __UNIQUE_ID(__PASTE(__addressable_,sym)) = (void *)&sym; > > + __UNIQUE_ID(__PASTE(__addressable_,sym)) = (void *)(uintptr_t)&sym; > > #define __ADDRESSABLE(sym) \ > > ___ADDRESSABLE(sym, __section(".discard.addressable")) > > > > But ... how is this not const? > > @Luc Van Oostenryck Do you have any idea how to correctly implement it > to make sparse happy? ping?