Linux-mm Archive on lore.kernel.org
 help / color / Atom feed
From: Alexander Potapenko <glider@google.com>
To: Marco Elver <elver@google.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	 Andrew Morton <akpm@linux-foundation.org>,
	Andrey Konovalov <andreyknvl@google.com>,
	 Andrey Ryabinin <aryabinin@virtuozzo.com>,
	Andy Lutomirski <luto@kernel.org>,
	 Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Arnd Bergmann <arnd@arndb.de>,
	 Christoph Hellwig <hch@infradead.org>,
	Christoph Hellwig <hch@lst.de>,
	 "Darrick J. Wong" <darrick.wong@oracle.com>,
	"David S. Miller" <davem@davemloft.net>,
	 Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Dmitry Vyukov <dvyukov@google.com>,
	 Eric Biggers <ebiggers@google.com>,
	Eric Dumazet <edumazet@google.com>,
	 Eric Van Hensbergen <ericvh@gmail.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	 Harry Wentland <harry.wentland@amd.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	 Ilya Leoshkevich <iii@linux.ibm.com>,
	Ingo Molnar <mingo@elte.hu>, Jason Wang <jasowang@redhat.com>,
	 Jens Axboe <axboe@kernel.dk>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	 Mark Rutland <mark.rutland@arm.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	 Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Matthew Wilcox <willy@infradead.org>,
	 "Michael S. Tsirkin" <mst@redhat.com>,
	Michal Simek <monstr@monstr.eu>, Petr Mladek <pmladek@suse.com>,
	 Qian Cai <cai@lca.pw>, Randy Dunlap <rdunlap@infradead.org>,
	Robin Murphy <robin.murphy@arm.com>,
	 Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	 Takashi Iwai <tiwai@suse.com>, "Theodore Ts'o" <tytso@mit.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	 Vasily Gorbik <gor@linux.ibm.com>,
	Vegard Nossum <vegard.nossum@oracle.com>,
	 Wolfram Sang <wsa@the-dreams.de>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [PATCH RFC v3 00/36] Add KernelMemorySanitizer infrastructure
Date: Mon, 2 Dec 2019 17:02:24 +0100
Message-ID: <CAG_fn=VXt6O2z66hJji+1pb+0-gYTO0wv89p+j0Xgrvp5Rbvog@mail.gmail.com> (raw)
In-Reply-To: <CANpmjNOhofP6dRwu3MmK1wfYweur-DHPEWcak32CGQD=4bQ2FQ@mail.gmail.com>

On Fri, Nov 29, 2019 at 3:39 PM Marco Elver <elver@google.com> wrote:
>
> On Fri, 22 Nov 2019 at 12:26, <glider@google.com> wrote:
> >
> > KernelMemorySanitizer (KMSAN) is a detector of errors related to uses of
> > uninitialized memory. It relies on compile-time Clang instrumentation
> > (similar to MSan in the userspace:
> > https://clang.llvm.org/docs/MemorySanitizer.html)
> > and tracks the state of every bit of kernel memory, being able to report
> > an error if uninitialized value is used in a condition, dereferenced or
> > copied to userspace, USB or network.
> >
> > KMSAN has reported more than 200 bugs in the past two years, most of
> > them with the help of syzkaller (http://syzkaller.appspot.com).
> >
> > The proposed patchset contains KMSAN runtime implementation together
> > with small changes to other subsystems needed to make KMSAN work.
> > The latter changes fall into several categories:
> >  - nice-to-have features that are independent from KMSAN but simplify
> >    its implementation (stackdepot changes, CONFIG_GENERIC_CSUM etc.);
> >  - Kconfig changes that prohibit options incompatible with KMSAN;
> >  - calls to KMSAN runtime functions that help KMSAN do the bookkeeping
> >    (e.g. tell it to allocate, copy or delete the metadata);
> >  - calls to KMSAN runtime functions that tell KMSAN to check memory
> >    escaping the kernel for uninitialized values. These are required to
> >    increase the number of true positive error reports;
> >  - calls to runtime functions that tell KMSAN to ignore certain memory
> >    ranges to avoid false negative reports. Most certainly there can be
> >    better ways to deal with every such report.
> >
> > This patchset allows one to boot and run a defconfig+KMSAN kernel on a QEMU
> > without known major false positives. It however doesn't guarantee there
> > are no false positives in drivers of certain devices or less tested
> > subsystems, although KMSAN is actively tested on syzbot with quite a
> > rich config.
> >
> > One may find it handy to review these patches in Gerrit:
> > https://linux-review.googlesource.com/c/linux/kernel/git/torvalds/linux/+/1081
> > I've ensured the Change-Id: tags stay away from commit descriptions.
> >
> > The patchset was generated relative to Linux v5.4-rc5.
> >
> > I also apologize for not sending every patch in the previous series
> > to all recipients of patches from that series.
> >
> > Note: checkpatch.pl complains a lot about the use of BUG_ON in KMSAN
> > source. I don't have a strong opinion on this, but KMSAN is a debugging
> > tool, so any runtime invariant violation in it renders the tool useless.
> > Therefore it doesn't make much sense to not terminate after a bug in
> > KMSAN.
> >
> > Alexander Potapenko (36):
> >   stackdepot: check depot_index before accessing the stack slab
> >   stackdepot: build with -fno-builtin
> >   kasan: stackdepot: move filter_irq_stacks() to stackdepot.c
> >   stackdepot: reserve 5 extra bits in depot_stack_handle_t
> >   kmsan: add ReST documentation
> >   kmsan: gfp: introduce __GFP_NO_KMSAN_SHADOW
> >   kmsan: introduce __no_sanitize_memory and __SANITIZE_MEMORY__
> >   kmsan: reduce vmalloc space
> >   kmsan: add KMSAN bits to struct page and struct task_struct
> >   kmsan: add KMSAN runtime
> >   kmsan: stackdepot: don't allocate KMSAN metadata for stackdepot
> >   kmsan: define READ_ONCE_NOCHECK()
> >   kmsan: make READ_ONCE_TASK_STACK() return initialized values
> >   kmsan: x86: sync metadata pages on page fault
> >   kmsan: add tests for KMSAN
> >   crypto: kmsan: disable accelerated configs under KMSAN
> >   kmsan: x86: disable UNWINDER_ORC under KMSAN
> >   kmsan: disable LOCK_DEBUGGING_SUPPORT
> >   kmsan: x86/asm: add KMSAN hooks to entry_64.S
> >   kmsan: x86: increase stack sizes in KMSAN builds
> >   kmsan: disable KMSAN instrumentation for certain kernel parts
> >   kmsan: mm: call KMSAN hooks from SLUB code
> >   kmsan: call KMSAN hooks where needed
> >   kmsan: disable instrumentation of certain functions
> >   kmsan: unpoison |tlb| in arch_tlb_gather_mmu()
> >   kmsan: use __msan_memcpy() where possible.
> >   kmsan: hooks for copy_to_user() and friends
> >   kmsan: enable KMSAN builds
> >   kmsan: handle /dev/[u]random
> >   kmsan: virtio: check/unpoison scatterlist in vring_map_one_sg()
> >   kmsan: disable strscpy() optimization under KMSAN
> >   kmsan: add iomap support
> >   kmsan: dma: unpoison memory mapped by dma_direct_map_page()
> >   kmsan: disable physical page merging in biovec
> >   kmsan: ext4: skip block merging logic in ext4_mpage_readpages for
> >     KMSAN
> >   net: kasan: kmsan: support CONFIG_GENERIC_CSUM on x86, enable it for
> >     KASAN/KMSAN
> >
> > To: Alexander Potapenko <glider@google.com>
> > Cc: Alexander Viro <viro@zeniv.linux.org.uk>
> > Cc: Andreas Dilger <adilger.kernel@dilger.ca>
> > Cc: Andrew Morton <akpm@linux-foundation.org>
> > Cc: Andrey Konovalov <andreyknvl@google.com>
> > Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
> > Cc: Andy Lutomirski <luto@kernel.org>
> > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Cc: Christoph Hellwig <hch@infradead.org>
> > Cc: Christoph Hellwig <hch@lst.de>
> > Cc: Darrick J. Wong <darrick.wong@oracle.com>
> > Cc: "David S. Miller" <davem@davemloft.net>
> > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > Cc: Dmitry Vyukov <dvyukov@google.com>
> > Cc: Eric Biggers <ebiggers@google.com>
> > Cc: Eric Dumazet <edumazet@google.com>
> > Cc: Eric Van Hensbergen <ericvh@gmail.com>
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: Harry Wentland <harry.wentland@amd.com>
> > Cc: Herbert Xu <herbert@gondor.apana.org.au>
> > Cc: Ilya Leoshkevich <iii@linux.ibm.com>
> > Cc: Ingo Molnar <mingo@elte.hu>
> > Cc: Jason Wang <jasowang@redhat.com>
> > Cc: Jens Axboe <axboe@kernel.dk>
> > Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> > Cc: Marco Elver <elver@google.com>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc: Martin K. Petersen <martin.petersen@oracle.com>
> > Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
> > Cc: Matthew Wilcox <willy@infradead.org>
> > Cc: "Michael S. Tsirkin" <mst@redhat.com>
> > Cc: Michal Simek <monstr@monstr.eu>
> > Cc: Petr Mladek <pmladek@suse.com>
> > Cc: Qian Cai <cai@lca.pw>
> > Cc: Randy Dunlap <rdunlap@infradead.org>
> > Cc: Robin Murphy <robin.murphy@arm.com>
> > Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
> > Cc: Steven Rostedt <rostedt@goodmis.org>
> > Cc: Takashi Iwai <tiwai@suse.com>
> > Cc: "Theodore Ts'o" <tytso@mit.edu>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Vasily Gorbik <gor@linux.ibm.com>
> > Cc: Vegard Nossum <vegard.nossum@oracle.com>
> > Cc: Wolfram Sang <wsa@the-dreams.de>
> > Cc: linux-mm@kvack.org
> >
> >  Documentation/dev-tools/index.rst       |   1 +
> >  Documentation/dev-tools/kmsan.rst       | 418 ++++++++++++++++++
> >  Makefile                                |   3 +-
> >  arch/x86/Kconfig                        |   5 +
> >  arch/x86/Kconfig.debug                  |   3 +
> >  arch/x86/boot/Makefile                  |   2 +
> >  arch/x86/boot/compressed/Makefile       |   2 +
> >  arch/x86/boot/compressed/misc.h         |   1 +
> >  arch/x86/entry/common.c                 |   1 +
> >  arch/x86/entry/entry_64.S               |  16 +
> >  arch/x86/entry/vdso/Makefile            |   3 +
> >  arch/x86/include/asm/checksum.h         |  10 +-
> >  arch/x86/include/asm/irq_regs.h         |   1 +
> >  arch/x86/include/asm/kmsan.h            | 117 +++++
> >  arch/x86/include/asm/page_64.h          |  13 +
> >  arch/x86/include/asm/page_64_types.h    |  12 +-
> >  arch/x86/include/asm/pgtable_64_types.h |  15 +
> >  arch/x86/include/asm/string_64.h        |   9 +-
> >  arch/x86/include/asm/syscall_wrapper.h  |   1 +
> >  arch/x86/include/asm/uaccess.h          |  12 +
> >  arch/x86/include/asm/unwind.h           |   9 +-
> >  arch/x86/kernel/Makefile                |   4 +
> >  arch/x86/kernel/apic/apic.c             |   1 +
> >  arch/x86/kernel/cpu/Makefile            |   1 +
> >  arch/x86/kernel/dumpstack_64.c          |   1 +
> >  arch/x86/kernel/process_64.c            |   5 +
> >  arch/x86/kernel/traps.c                 |  12 +-
> >  arch/x86/kernel/uprobes.c               |   7 +-
> >  arch/x86/lib/Makefile                   |   2 +
> >  arch/x86/mm/Makefile                    |   2 +
> >  arch/x86/mm/fault.c                     |  20 +
> >  arch/x86/mm/ioremap.c                   |   3 +
> >  arch/x86/realmode/rm/Makefile           |   2 +
> >  block/blk.h                             |   7 +
> >  crypto/Kconfig                          |  52 +++
> >  drivers/char/random.c                   |   6 +
> >  drivers/firmware/efi/libstub/Makefile   |   1 +
> >  drivers/usb/core/urb.c                  |   2 +
> >  drivers/virtio/virtio_ring.c            |  10 +-
> >  fs/ext4/readpage.c                      |  11 +
> >  include/asm-generic/cacheflush.h        |   7 +-
> >  include/asm-generic/uaccess.h           |  12 +-
> >  include/linux/compiler-clang.h          |   8 +
> >  include/linux/compiler-gcc.h            |   5 +
> >  include/linux/compiler.h                |  13 +-
> >  include/linux/gfp.h                     |   4 +-
> >  include/linux/highmem.h                 |   4 +
> >  include/linux/kmsan-checks.h            | 122 +++++
> >  include/linux/kmsan.h                   | 143 ++++++
> >  include/linux/mm_types.h                |   9 +
> >  include/linux/sched.h                   |   5 +
> >  include/linux/stackdepot.h              |  10 +
> >  include/linux/string.h                  |   2 +
> >  include/linux/uaccess.h                 |  32 +-
> >  init/main.c                             |   3 +
> >  kernel/Makefile                         |   1 +
> >  kernel/dma/direct.c                     |   1 +
> >  kernel/exit.c                           |   2 +
> >  kernel/fork.c                           |   2 +
> >  kernel/kthread.c                        |   2 +
> >  kernel/printk/printk.c                  |   6 +
> >  kernel/profile.c                        |   1 +
> >  kernel/sched/core.c                     |   6 +
> >  kernel/softirq.c                        |   5 +
> >  lib/Kconfig.debug                       |   5 +
> >  lib/Kconfig.kmsan                       |  22 +
> >  lib/Makefile                            |   6 +
> >  lib/iomap.c                             |  40 ++
> >  lib/ioremap.c                           |   5 +
> >  lib/iov_iter.c                          |   6 +
> >  lib/stackdepot.c                        |  69 ++-
> >  lib/string.c                            |   5 +-
> >  lib/test_kmsan.c                        | 231 ++++++++++
> >  lib/usercopy.c                          |   6 +-
> >  mm/Makefile                             |   1 +
> >  mm/compaction.c                         |   9 +
> >  mm/gup.c                                |   3 +
> >  mm/kasan/common.c                       |  23 -
> >  mm/kmsan/Makefile                       |   4 +
> >  mm/kmsan/kmsan.c                        | 563 ++++++++++++++++++++++++
> >  mm/kmsan/kmsan.h                        | 146 ++++++
> >  mm/kmsan/kmsan_entry.c                  | 118 +++++
> >  mm/kmsan/kmsan_hooks.c                  | 422 ++++++++++++++++++
> >  mm/kmsan/kmsan_init.c                   |  88 ++++
> >  mm/kmsan/kmsan_instr.c                  | 259 +++++++++++
> >  mm/kmsan/kmsan_report.c                 | 133 ++++++
> >  mm/kmsan/kmsan_shadow.c                 | 543 +++++++++++++++++++++++
> >  mm/kmsan/kmsan_shadow.h                 |  30 ++
> >  mm/memory.c                             |   2 +
> >  mm/mmu_gather.c                         |  10 +
> >  mm/page_alloc.c                         |  16 +
> >  mm/slub.c                               |  34 +-
> >  mm/vmalloc.c                            |  23 +-
> >  net/sched/sch_generic.c                 |   2 +
> >  scripts/Makefile.kmsan                  |  12 +
> >  scripts/Makefile.lib                    |   6 +
> >  96 files changed, 3983 insertions(+), 67 deletions(-)
> >  create mode 100644 Documentation/dev-tools/kmsan.rst
> >  create mode 100644 arch/x86/include/asm/kmsan.h
> >  create mode 100644 include/linux/kmsan-checks.h
> >  create mode 100644 include/linux/kmsan.h
> >  create mode 100644 lib/Kconfig.kmsan
> >  create mode 100644 lib/test_kmsan.c
> >  create mode 100644 mm/kmsan/Makefile
> >  create mode 100644 mm/kmsan/kmsan.c
> >  create mode 100644 mm/kmsan/kmsan.h
> >  create mode 100644 mm/kmsan/kmsan_entry.c
> >  create mode 100644 mm/kmsan/kmsan_hooks.c
> >  create mode 100644 mm/kmsan/kmsan_init.c
> >  create mode 100644 mm/kmsan/kmsan_instr.c
> >  create mode 100644 mm/kmsan/kmsan_report.c
> >  create mode 100644 mm/kmsan/kmsan_shadow.c
> >  create mode 100644 mm/kmsan/kmsan_shadow.h
> >  create mode 100644 scripts/Makefile.kmsan
>
> There are currently lots of UACCESS warnings -- should the core
> runtime functions be added to the whitelist in tools/objtool/check.c?
I've tried to do this properly, but failed.

What I consider to be an intuitive solution is to add KMSAN interface
functions (e.g. __msan_metadata_ptr_for_load_X) to the whitelist in
tools/objtool/check.c.
None of these functions is expected to touch userspace memory, but
they can be called in the uaccess context, as the compiler adds them
to every memory access.
Turns out however it's not enough to whitelist those functions, as
they are viral: after whitelisting them I get warnings about their
callees.
The list of functions called by e.g. kmsan_get_shadow_origin_ptr()
include __warn_printk() and other non-KMSAN stuff, so I have to call
user_access_save()/user_access_restore() to keep those warnings from
spreading.
But this slows the whole runtime down by ~50% for no reason.
> Thanks,
> -- Marco



-- 
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


      reply index

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-22 11:25 glider
2019-11-22 11:25 ` [PATCH RFC v3 01/36] stackdepot: check depot_index before accessing the stack slab glider
2019-11-27 14:22   ` Marco Elver
2019-11-22 11:25 ` [PATCH RFC v3 02/36] stackdepot: build with -fno-builtin glider
2019-11-27 14:22   ` Marco Elver
2019-11-22 11:25 ` [PATCH RFC v3 03/36] kasan: stackdepot: move filter_irq_stacks() to stackdepot.c glider
2019-11-27 14:22   ` Marco Elver
2019-11-27 14:56     ` Alexander Potapenko
2019-11-22 11:25 ` [PATCH RFC v3 04/36] stackdepot: reserve 5 extra bits in depot_stack_handle_t glider
2019-11-27 14:23   ` Marco Elver
2019-11-22 11:25 ` [PATCH RFC v3 05/36] kmsan: add ReST documentation glider
2019-11-27 14:22   ` Marco Elver
2019-12-03 12:42     ` Alexander Potapenko
2019-11-22 11:25 ` [PATCH RFC v3 06/36] kmsan: gfp: introduce __GFP_NO_KMSAN_SHADOW glider
2019-11-27 14:48   ` Marco Elver
2019-12-03 12:57     ` Alexander Potapenko
2019-11-22 11:25 ` [PATCH RFC v3 07/36] kmsan: introduce __no_sanitize_memory and __SANITIZE_MEMORY__ glider
2019-11-28 13:13   ` Marco Elver
2019-11-29 16:09   ` Andrey Konovalov
2019-12-16 11:35     ` Alexander Potapenko
2019-11-22 11:25 ` [PATCH RFC v3 08/36] kmsan: reduce vmalloc space glider
2019-11-28 13:30   ` Marco Elver
2019-11-22 11:25 ` [PATCH RFC v3 09/36] kmsan: add KMSAN bits to struct page and struct task_struct glider
2019-11-28 13:44   ` Marco Elver
2019-11-28 14:05     ` Alexander Potapenko
2019-11-22 11:25 ` [PATCH RFC v3 10/36] kmsan: add KMSAN runtime glider
2019-11-24 19:44   ` Wolfram Sang
2019-11-25  9:14     ` Alexander Potapenko
2019-11-29 16:07   ` Marco Elver
2019-12-19 14:16     ` Alexander Potapenko
2019-12-02 15:39   ` Andrey Konovalov
2019-12-20 18:58     ` Alexander Potapenko
2019-12-03 14:34   ` Andrey Konovalov
2019-11-22 11:25 ` [PATCH RFC v3 11/36] kmsan: stackdepot: don't allocate KMSAN metadata for stackdepot glider
2019-11-29 14:52   ` Andrey Konovalov
2019-12-03 14:27     ` Alexander Potapenko
2019-11-22 11:25 ` [PATCH RFC v3 12/36] kmsan: define READ_ONCE_NOCHECK() glider
2019-12-02 10:03   ` Marco Elver
2019-12-03 12:45     ` Alexander Potapenko
2019-11-22 11:25 ` [PATCH RFC v3 13/36] kmsan: make READ_ONCE_TASK_STACK() return initialized values glider
2019-12-02 10:07   ` Marco Elver
2019-12-05 15:52     ` Alexander Potapenko
2019-11-22 11:25 ` [PATCH RFC v3 14/36] kmsan: x86: sync metadata pages on page fault glider
2019-11-22 11:26 ` [PATCH RFC v3 15/36] kmsan: add tests for KMSAN glider
2019-11-29 14:14   ` Andrey Konovalov
2019-12-05 14:30     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 16/36] crypto: kmsan: disable accelerated configs under KMSAN glider
2019-12-02 13:25   ` Marco Elver
2019-12-05 14:51     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 17/36] kmsan: x86: disable UNWINDER_ORC " glider
2019-12-02 13:30   ` Marco Elver
2019-11-22 11:26 ` [PATCH RFC v3 18/36] kmsan: disable LOCK_DEBUGGING_SUPPORT glider
2019-12-02 13:33   ` Marco Elver
2019-12-03 14:34     ` Alexander Potapenko
2019-12-03 15:00       ` Qian Cai
2019-12-03 15:14         ` Alexander Potapenko
2019-12-03 18:02           ` Qian Cai
2019-12-03 18:38           ` Steven Rostedt
2019-12-04  8:41             ` Alexander Potapenko
2019-12-04 12:22               ` Petr Mladek
2019-12-04 13:12                 ` Qian Cai
2019-12-04 16:24                   ` Alexander Potapenko
2019-12-04 18:03                     ` Qian Cai
2019-11-22 11:26 ` [PATCH RFC v3 20/36] kmsan: x86: increase stack sizes in KMSAN builds glider
2019-12-02 14:31   ` Marco Elver
2019-11-22 11:26 ` [PATCH RFC v3 21/36] kmsan: disable KMSAN instrumentation for certain kernel parts glider
2019-11-29 15:07   ` Andrey Konovalov
2019-12-10 10:35     ` Alexander Potapenko
2019-12-10 12:38       ` Alexander Potapenko
2019-12-10 12:43       ` Qian Cai
2019-11-22 11:26 ` [PATCH RFC v3 22/36] kmsan: mm: call KMSAN hooks from SLUB code glider
2019-12-02 15:36   ` Marco Elver
2019-12-10 12:07     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 23/36] kmsan: call KMSAN hooks where needed glider
2019-11-26 10:17   ` Petr Mladek
2019-11-26 10:52     ` Alexander Potapenko
2019-11-29 16:21   ` Andrey Konovalov
2019-12-16 11:30     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 24/36] kmsan: disable instrumentation of certain functions glider
2019-11-29 14:59   ` Andrey Konovalov
2019-12-18 10:02     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 25/36] kmsan: unpoison |tlb| in arch_tlb_gather_mmu() glider
2019-11-29 15:08   ` Andrey Konovalov
2019-12-03 14:19     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 26/36] kmsan: use __msan_memcpy() where possible glider
2019-11-29 15:13   ` Andrey Konovalov
2019-12-05 15:46     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 27/36] kmsan: hooks for copy_to_user() and friends glider
2019-11-29 15:34   ` Andrey Konovalov
2019-12-05 16:00     ` Alexander Potapenko
2019-12-05 16:44       ` Andrey Konovalov
2019-12-11 14:22         ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 28/36] kmsan: enable KMSAN builds glider
2019-11-29 15:55   ` Andrey Konovalov
2019-12-11 12:51     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 29/36] kmsan: handle /dev/[u]random glider
2019-11-22 11:26 ` [PATCH RFC v3 30/36] kmsan: virtio: check/unpoison scatterlist in vring_map_one_sg() glider
2019-11-22 11:26 ` [PATCH RFC v3 31/36] kmsan: disable strscpy() optimization under KMSAN glider
2019-12-02 15:51   ` Marco Elver
2019-12-02 16:23     ` Alexander Potapenko
2019-12-03 11:19       ` Alexander Potapenko
2019-12-03 11:24         ` Marco Elver
2019-12-03 11:27           ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 32/36] kmsan: add iomap support glider
2019-12-03 12:50   ` Marco Elver
2019-12-03 14:07     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 33/36] kmsan: dma: unpoison memory mapped by dma_direct_map_page() glider
2019-11-22 11:26 ` [PATCH RFC v3 34/36] kmsan: disable physical page merging in biovec glider
2019-12-03 12:54   ` Marco Elver
2019-12-03 13:38     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 35/36] kmsan: ext4: skip block merging logic in ext4_mpage_readpages for KMSAN glider
2019-11-25 16:05   ` Robin Murphy
2019-11-25 17:03     ` Alexander Potapenko
2019-12-03 14:22   ` Marco Elver
2019-12-05 14:31     ` Alexander Potapenko
2019-11-22 11:26 ` [PATCH RFC v3 36/36] net: kasan: kmsan: support CONFIG_GENERIC_CSUM on x86, enable it for KASAN/KMSAN glider
2019-12-03 14:17   ` Marco Elver
2019-12-05 14:37     ` Alexander Potapenko
2019-11-29 14:39 ` [PATCH RFC v3 00/36] Add KernelMemorySanitizer infrastructure Marco Elver
2019-12-02 16:02   ` Alexander Potapenko [this message]

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAG_fn=VXt6O2z66hJji+1pb+0-gYTO0wv89p+j0Xgrvp5Rbvog@mail.gmail.com' \
    --to=glider@google.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@google.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=arnd@arndb.de \
    --cc=aryabinin@virtuozzo.com \
    --cc=axboe@kernel.dk \
    --cc=cai@lca.pw \
    --cc=darrick.wong@oracle.com \
    --cc=davem@davemloft.net \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dvyukov@google.com \
    --cc=ebiggers@google.com \
    --cc=edumazet@google.com \
    --cc=elver@google.com \
    --cc=ericvh@gmail.com \
    --cc=gor@linux.ibm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=harry.wentland@amd.com \
    --cc=hch@infradead.org \
    --cc=hch@lst.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=iii@linux.ibm.com \
    --cc=jasowang@redhat.com \
    --cc=linux-mm@kvack.org \
    --cc=luto@kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mark.rutland@arm.com \
    --cc=martin.petersen@oracle.com \
    --cc=mingo@elte.hu \
    --cc=monstr@monstr.eu \
    --cc=mst@redhat.com \
    --cc=pmladek@suse.com \
    --cc=rdunlap@infradead.org \
    --cc=robin.murphy@arm.com \
    --cc=rostedt@goodmis.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=tiwai@suse.com \
    --cc=tytso@mit.edu \
    --cc=vegard.nossum@oracle.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-mm Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-mm/0 linux-mm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-mm linux-mm/ https://lore.kernel.org/linux-mm \
		linux-mm@kvack.org
	public-inbox-index linux-mm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kvack.linux-mm


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git