Re: [PATCH -rcu] asm-generic, kcsan: Add KCSAN instrumentation for bitops

From: Marco Elver
Date: Mon Jan 20 2020 - 10:11:14 EST


On Mon, 20 Jan 2020 at 15:40, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Mon, Jan 20, 2020 at 3:23 PM Marco Elver <elver@xxxxxxxxxx> wrote:
> > On Fri, 17 Jan 2020 at 14:14, Marco Elver <elver@xxxxxxxxxx> wrote:
> > > On Fri, 17 Jan 2020 at 13:25, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> > > > On Wed, Jan 15, 2020 at 9:50 PM Marco Elver <elver@xxxxxxxxxx> wrote:
>
> > > > If you can't find any, I would prefer having the simpler interface
> > > > with just one set of annotations.
> > >
> > > That's fair enough. I'll prepare a v2 series that first introduces the
> > > new header, and then applies it to the locations that seem obvious
> > > candidates for having both checks.
> >
> > I've sent a new patch series which introduces instrumented.h:
> > http://lkml.kernel.org/r/20200120141927.114373-1-elver@xxxxxxxxxx
>
> Looks good to me, feel free to add
>
> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> if you are merging this through your own tree or someone else's,
> or let me know if I should put it into the asm-generic git tree.

Thank you! It seems there is still some debate around the user-copy
instrumentation.

The main question we have right now is if we should add pre/post hooks
for them. Although in the version above I added KCSAN checks after the
user-copies, it seems maybe we want it before. I personally don't have
a strong preference, and wanted to err on the side of being more
conservative.

If I send a v2, and it now turns out we do all the instrumentation
before the user-copies for KASAN and KCSAN, then we have a bunch of
empty hooks. However, for KMSAN we need the post-hook, at least for
copy_from_user. Do you mind a bunch of empty functions to provide
pre/post hooks for user-copies? Could the post-hooks be generally
useful for something else?

Thanks,
-- Marco