Messages in this thread | | | From | Alexander Potapenko <> | Date | Fri, 26 Apr 2024 11:09:06 +0200 | Subject | Re: [PATCH] kmsan: compiler_types: declare __no_sanitize_or_inline |
| |
On Thu, Apr 25, 2024 at 10:31 PM Andrew Morton <akpm@linux-foundation.org> wrote: > > On Thu, 25 Apr 2024 11:28:59 +0200 Alexander Potapenko <glider@google.com> wrote: > > > It turned out that KMSAN instruments READ_ONCE_NOCHECK(), resulting in > > false positive reports, because __no_sanitize_or_inline enforced inlining. > > > > Properly declare __no_sanitize_or_inline under __SANITIZE_MEMORY__, > > so that it does not inline the annotated function.
As Marco noted above, we may want to rephrase it as:
Properly declare __no_sanitize_or_inline under __SANITIZE_MEMORY__, so that it does not __always_inline the annotated function.
Let me know if I need to send a v2.
> > Reported-by: syzbot+355c5bb8c1445c871ee8@syzkaller.appspotmail.com > > I'll add > > Link: https://lkml.kernel.org/r/000000000000826ac1061675b0e3@google.com > > And I think a cc:stable is justifiable.
Agreed.
> A Fixes: target would be nice?
Hmm, the introduction of READ_ONCE_NOCHECK predates KMSAN. We could do: Fixes: 5de0ce85f5a4d ("kmsan: mark noinstr as __no_sanitize_memory")
, because that commit should have introduced __no_sanitize_or_inline for KMSAN.
| |