Message ID | 20210804090957.12393-3-Kuan-Ying.Lee@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kasan: reset tag when accessing invalid metadata | expand |
On Wed, Aug 4, 2021 at 11:10 AM Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> wrote: > > The address still includes the tags when it is printed. > With hardware tag-based kasan enabled, we will get a > false positive KASAN issue when we access metadata. > > Reset the tag before we access the metadata. > > Fixes: aa1ef4d7b3f6 ("kasan, mm: reset tags when accessing metadata") > Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> > Reviewed-by: Marco Elver <elver@google.com> > --- > mm/slub.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/slub.c b/mm/slub.c > index b6c5205252eb..f77d8cd79ef7 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -576,8 +576,8 @@ static void print_section(char *level, char *text, u8 *addr, > unsigned int length) > { > metadata_access_enable(); > - print_hex_dump(level, kasan_reset_tag(text), DUMP_PREFIX_ADDRESS, > - 16, 1, addr, length, 1); > + print_hex_dump(level, text, DUMP_PREFIX_ADDRESS, > + 16, 1, kasan_reset_tag((void *)addr), length, 1); > metadata_access_disable(); > } > > -- > 2.18.0 Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com> Thanks!
diff --git a/mm/slub.c b/mm/slub.c index b6c5205252eb..f77d8cd79ef7 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -576,8 +576,8 @@ static void print_section(char *level, char *text, u8 *addr, unsigned int length) { metadata_access_enable(); - print_hex_dump(level, kasan_reset_tag(text), DUMP_PREFIX_ADDRESS, - 16, 1, addr, length, 1); + print_hex_dump(level, text, DUMP_PREFIX_ADDRESS, + 16, 1, kasan_reset_tag((void *)addr), length, 1); metadata_access_disable(); }