On Fri, Nov 29, 2024 at 4:45 PM Nadav Amit <nadav.amit@xxxxxxxxx> wrote: > > > > On 26 Nov 2024, at 19:21, Uros Bizjak <ubizjak@xxxxxxxxx> wrote: > > > > This patch declares percpu variables in __seg_gs/__seg_fs named AS > > and keeps them named AS qualified until they are dereferenced with > > percpu accessor. This approach enables various compiler check > > for cross-namespace variable assignments. > > [snip] > > > @@ -95,9 +95,19 @@ > > > > #endif /* CONFIG_SMP */ > > > > -#define __my_cpu_type(var) typeof(var) __percpu_seg_override > > -#define __my_cpu_ptr(ptr) (__my_cpu_type(*(ptr))*)(__force uintptr_t)(ptr) > > -#define __my_cpu_var(var) (*__my_cpu_ptr(&(var))) > > +#if defined(CONFIG_USE_X86_SEG_SUPPORT) && \ > > + defined(CONFIG_CC_HAS_TYPEOF_UNQUAL) && !defined(__CHECKER__) > > Is the __CHECKER__ check because of sparse, as in patch 2/6 ? > If so, do you want to add a similar comment here? Yes, this is the same check. We can declare _percpu variables in __seg_gs named address space only when __typeof_unqual__ is used. I will add a comment in the next revision of the patchset. > Other than that, I went over the different patches and it looks good as > much as I can tell. > > If it means anything, you have for the series > > Acked-by: Nadav Amit <nadav.amit@xxxxxxxxx <mailto:nadav.amit@xxxxxxxxx>> Thanks! Uros.