Messages in this thread | | | From | Marco Elver <> | Date | Thu, 2 Mar 2023 16:13:12 +0100 | Subject | Re: [PATCH 1/4] x86: kmsan: Don't rename memintrinsics in uninstrumented files |
| |
On Thu, 2 Mar 2023 at 15:28, Alexander Potapenko <glider@google.com> wrote: > > On Thu, Mar 2, 2023 at 12:14 PM Marco Elver <elver@google.com> wrote: > > > > On Wed, 1 Mar 2023 at 15:39, Alexander Potapenko <glider@google.com> wrote: > > > > > > KMSAN should be overriding calls to memset/memcpy/memmove and their > > > > You mean that the compiler will override calls? > > All supported compilers that have fsanitize=kernel-memory replace > > memintrinsics with __msan_mem*() calls, right? > > Right. Changed to: > > KMSAN already replaces calls to to memset/memcpy/memmove and their > __builtin_ versions with __msan_memset/__msan_memcpy/__msan_memmove in > instrumented files, so there is no need to override them.
But it's not KMSAN - KMSAN is the combined end result of runtime and compiler - in this case we need to be specific and point out it's the compiler that's doing it. There is no code in the Linux kernel that does this replacement.
> > > > > > __builtin_ versions in instrumented files, so there is no need to > > > override them. In non-instrumented versions we are now required to > > > leave memset() and friends intact, so we cannot replace them with > > > __msan_XXX() functions. > > > > > > Cc: Kees Cook <keescook@chromium.org> > > > Suggested-by: Marco Elver <elver@google.com> > > > Signed-off-by: Alexander Potapenko <glider@google.com> > > > > Other than that, > > > > Reviewed-by: Marco Elver <elver@google.com> > Thanks!
| |