lkml.org 
[lkml]   [2021]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 13/43] kmsan: add KMSAN runtime core
On Tue, Dec 14, 2021 at 5:34 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Tue, Dec 14, 2021 at 05:20:20PM +0100, Alexander Potapenko wrote:
> > This patch adds the core parts of KMSAN runtime and associated files:
> >
> > - include/linux/kmsan-checks.h: user API to poison/unpoison/check
> > the kernel memory;
> > - include/linux/kmsan.h: declarations of KMSAN hooks to be referenced
> > outside of KMSAN runtime;
> > - lib/Kconfig.kmsan: CONFIG_KMSAN and related declarations;
> > - Makefile, mm/Makefile, mm/kmsan/Makefile: boilerplate Makefile code;
> > - mm/kmsan/annotations.c: non-inlineable implementation of KMSAN_INIT();
> > - mm/kmsan/core.c: core functions that operate with shadow and origin
> > memory and perform checks, utility functions;
> > - mm/kmsan/hooks.c: KMSAN hooks for kernel subsystems;
> > - mm/kmsan/init.c: KMSAN initialization routines;
> > - mm/kmsan/instrumentation.c: functions called by KMSAN instrumentation;
> > - mm/kmsan/kmsan.h: internal KMSAN declarations;
> > - mm/kmsan/shadow.c: routines that encapsulate metadata creation and
> > addressing;
> > - scripts/Makefile.kmsan: CFLAGS_KMSAN
> > - scripts/Makefile.lib: KMSAN_SANITIZE and KMSAN_ENABLE_CHECKS macros
>
>
> That's an odd way to write a changelog, don't you think?

Agreed. I'll try to concentrate on the functionality instead. Sorry about that.

> You need to describe what you are doing here and why you are doing it.
> Not a list of file names, we can see that in the diffstat.
>
> Also, you don't mention you are doing USB stuff here at all. And why
> are you doing it here? That should be added in a later patch.

You are right, USB is a good example of a stand-alone feature that can
be moved to a separate patch.

> Break this up into smaller, logical, pieces that add the infrastructure
> and build on it. Don't just chop your patches up on a logical-file
> boundry, as you are adding stuff in this patch that you do not need for
> many more later on, which means it was not needed here.

Just to make sure I don't misunderstand - for example for "kmsan: mm:
call KMSAN hooks from SLUB code", would it be better to pull the code
in mm/kmsan/core.c implementing kmsan_slab_alloc() and
kmsan_slab_free() into that patch?
I thought maintainers would prefer to have patches to their code
separated from KMSAN code, but if it's not true, I can surely fix
that.

> thanks,
>
> greg k-h



--
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-Straße, 33
80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

\
 
 \ /
  Last update: 2021-12-16 11:35    [W:0.287 / U:0.660 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site