From: Alexander Potapenko <glider@google.com>
To: glider@google.com
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
x86@kernel.org, dave.hansen@linux.intel.com, hpa@zytor.com,
akpm@linux-foundation.org, elver@google.com, dvyukov@google.com,
nathan@kernel.org, ndesaulniers@google.com,
kasan-dev@googlegroups.com, Kees Cook <keescook@chromium.org>
Subject: [PATCH 1/4] x86: kmsan: Don't rename memintrinsics in uninstrumented files
Date: Fri, 3 Mar 2023 15:14:30 +0100 [thread overview]
Message-ID: <20230303141433.3422671-1-glider@google.com> (raw)
clang -fsanitize=kernel-memory already replaces calls 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.
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>
Reviewed-by: Marco Elver <elver@google.com>
---
v2:
- updated patch description
---
arch/x86/include/asm/string_64.h | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/arch/x86/include/asm/string_64.h b/arch/x86/include/asm/string_64.h
index 888731ccf1f67..9be401d971a99 100644
--- a/arch/x86/include/asm/string_64.h
+++ b/arch/x86/include/asm/string_64.h
@@ -15,22 +15,11 @@
#endif
#define __HAVE_ARCH_MEMCPY 1
-#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY)
-#undef memcpy
-#define memcpy __msan_memcpy
-#else
extern void *memcpy(void *to, const void *from, size_t len);
-#endif
extern void *__memcpy(void *to, const void *from, size_t len);
#define __HAVE_ARCH_MEMSET
-#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY)
-extern void *__msan_memset(void *s, int c, size_t n);
-#undef memset
-#define memset __msan_memset
-#else
void *memset(void *s, int c, size_t n);
-#endif
void *__memset(void *s, int c, size_t n);
#define __HAVE_ARCH_MEMSET16
@@ -70,13 +59,7 @@ static inline void *memset64(uint64_t *s, uint64_t v, size_t n)
}
#define __HAVE_ARCH_MEMMOVE
-#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY)
-#undef memmove
-void *__msan_memmove(void *dest, const void *src, size_t len);
-#define memmove __msan_memmove
-#else
void *memmove(void *dest, const void *src, size_t count);
-#endif
void *__memmove(void *dest, const void *src, size_t count);
int memcmp(const void *cs, const void *ct, size_t count);
--
2.40.0.rc0.216.gc4246ad0f0-goog
next reply other threads:[~2023-03-03 14:14 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-03 14:14 Alexander Potapenko [this message]
2023-03-03 14:14 ` [PATCH 2/4] kmsan: another take at fixing memcpy tests Alexander Potapenko
2023-03-03 14:17 ` Alexander Potapenko
2023-03-03 14:59 ` Marco Elver
2023-03-03 14:14 ` [PATCH 3/4] x86: kmsan: use C versions of memset16/memset32/memset64 Alexander Potapenko
2023-03-03 14:17 ` Alexander Potapenko
2023-03-03 14:14 ` [PATCH 4/4] kmsan: add memsetXX tests Alexander Potapenko
2023-03-03 14:17 ` Alexander Potapenko
2023-03-03 15:00 ` Marco Elver
2023-03-03 14:16 ` [PATCH 1/4] x86: kmsan: Don't rename memintrinsics in uninstrumented files Alexander Potapenko
-- strict thread matches above, loose matches on Subject: below --
2023-03-01 14:39 Alexander Potapenko
2023-03-02 11:13 ` Marco Elver
2023-03-02 14:27 ` Alexander Potapenko
2023-03-02 15:13 ` Marco Elver
2023-03-02 15:17 ` Alexander Potapenko
Reply instructions:
You may reply publicly 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=20230303141433.3422671-1-glider@google.com \
--to=glider@google.com \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=hpa@zytor.com \
--cc=kasan-dev@googlegroups.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@redhat.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.