Re: [PATCH] percpu: Remove intermediate variable in PERCPU_PTR()

From: Andrew Morton
Date: Thu Dec 19 2024 - 17:51:35 EST


On Thu, 19 Dec 2024 18:03:47 +0100 Uros Bizjak <ubizjak@xxxxxxxxx> wrote:

> > Actually, you can simplify the above a bit by writing it as:
> >
> > #define PERCPU_PTR(__p) \
> > ((typeof(*(__p)) __force __kernel *)(__force unsigned long)(__p)) \
>
> Andrew, please find attached a substitute patch "[PATCH 4/6] percpu:
> Use TYPEOF_UNQUAL() in *_cpu_ptr() accessors" for your MM tree
> relative to the above hotfix. The whole patch series (+ hotfix) has
> been re-tested against the current mainline defconfig (+ KASAN),
> compiled once with gcc-11.4.1 and once with gcc-14.2.1.

Updated, thanks.

> #define PERCPU_PTR(__p) \
> - ((typeof(*(__p)) __force __kernel *)(__force unsigned long)(__p)) \
> + ((TYPEOF_UNQUAL(*(__p)) __force __kernel *)(__force unsigned long)(__p)) \
>

I removed that final " \".