On Wed, 2023-12-13 at 02:31 +0100, Ilya Leoshkevich wrote: > On Fri, 2023-12-08 at 16:25 +0100, Alexander Potapenko wrote: > > > A problem with __memset() is that, at least for me, it always > > > ends > > > up being a call. There is a use case where we need to write only > > > 1 > > > byte, so I thought that introducing a call there (when compiling > > > without KMSAN) would be unacceptable. [...] > > As stated above, I don't think this is more or less working as > > intended. > > If we really want the ability to inline __memset(), we could > > transform > > it into memset() in non-sanitizer builds, but perhaps having a call > > is > > also acceptable? > > Thanks for the detailed explanation and analysis. I will post > a version with a __memset() and let the slab maintainers decide if > the additional overhead is acceptable. I noticed I had the same problem in the get_user()/put_user() and check_canary() patches. The annotation being silently ignored is never what a programmer intends, so what do you think about adding noinline to __no_kmsan_checks and __no_sanitize_memory?