On Tue, Nov 21, 2023 at 11:02 PM Ilya Leoshkevich <iii@xxxxxxxxxxxxx> wrote: > > Currently KMSAN does not fully propagate metadata in strlcpy() and > strlcat(), because they are built with -ffreestanding and call > memcpy(). In this combination memcpy() calls are not instrumented. Is this something specific to s390? > Fix by copying the metadata manually. Add the __STDC_HOSTED__ #ifdef in > case the code is compiled with different flags in the future. > > Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx> > --- > lib/string.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/lib/string.c b/lib/string.c > index be26623953d2..e83c6dd77ec6 100644 > --- a/lib/string.c > +++ b/lib/string.c > @@ -111,6 +111,9 @@ size_t strlcpy(char *dest, const char *src, size_t size) > if (size) { > size_t len = (ret >= size) ? size - 1 : ret; > __builtin_memcpy(dest, src, len); On x86, I clearly see this __builtin_memcpy() being replaced with __msan_memcpy().