Messages in this thread | | | Date | Thu, 29 Jun 2017 08:47:46 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH] locking/atomics: don't alias ____ptr |
| |
On Wed, 28 Jun 2017, Thomas Gleixner wrote: > On Wed, 28 Jun 2017, Mark Rutland wrote: > > On Wed, Jun 28, 2017 at 05:24:24PM +0200, Thomas Gleixner wrote: > > Given we're gonig to clean things up, we may as well avoid the backwards > > include of <asm-generic/atomic_instrumented.h>, whcih was only there as > > a bodge: > > > > For the UP arches we do: > > # echo '#include <asm-generic/atomic_up.h>' >arch/xxx/include/asm/atomic.h > > # mv include/asm-generic/atomic.h include/asm-generic/atomic_up.h > > > > Then we add a <linux/atomic_instrumented.h>: > > > > #ifndef __LINUX_ATOMIC_INSTRUMENTED_H > > #define __LINUX_ATOMIC INSTRUMENTED_H > > > > #include <asm/atomic.h> > > > > #if CONFIG_ATOMIC_INSTRUMENTED_H > > <instrumentation> > > #endif > > > > #endif /* __LINUX_ATOMIC_ARCH_H */ > > > > ... and make <linux/atomic.h> incldue that rather than <asm/atomic.h>. > > > > That way the instrumentation's orthogonal to the UP-ness of the arch, > > and we can fold any other instrumentation in there, or later move it > > directly into <linux/atomic.h> > > Sounds like a plan.
Actually we should make it slightly different and make asm-generic/atomic.h the central point for everything.
It should contain the wrapper macro and the central inlines including the kasan stuff and include either arch/arch_atomic.h or asm-generic/atomic_up.h.
That way all potential instrumentation happens in the generic header (which is a NOP for archs which do not support it) and pull in the appropriate arch specific or generic UP low level implementations.
Thanks,
tglx
| |