Re: [PATCH v2] kasan: Initialize tag to 0xff in __kasan_kmalloc
On 5/2/19 7:30 PM, Nathan Chancellor wrote: > When building with -Wuninitialized and CONFIG_KASAN_SW_TAGS unset, Clang > warns: > > mm/kasan/common.c:484:40: warning: variable 'tag' is uninitialized when > used here [-Wuninitialized] > kasan_unpoison_shadow(set_tag(object, tag), size); > ^~~ > > set_tag ignores tag in this configuration but clang doesn't realize it > at this point in its pipeline, as it points to arch_kasan_set_tag as > being the point where it is used, which will later be expanded to > (void *)(object) without a use of tag. Initialize tag to 0xff, as it > removes this warning and doesn't change the meaning of the code. > > Link: https://github.com/ClangBuiltLinux/linux/issues/465 > Signed-off-by: Nathan Chancellor Fixes: 7f94ffbc4c6a ("kasan: add hooks implementation for tag-based mode") Cc: Reviewed-by: Andrey Ryabinin > --- > > v1 -> v2: > > * Initialize tag to 0xff at Andrey's request > > mm/kasan/common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/kasan/common.c b/mm/kasan/common.c > index 36afcf64e016..242fdc01aaa9 100644 > --- a/mm/kasan/common.c > +++ b/mm/kasan/common.c > @@ -464,7 +464,7 @@ static void *__kasan_kmalloc(struct kmem_cache *cache, > const void *object, > { > unsigned long redzone_start; > unsigned long redzone_end; > - u8 tag; > + u8 tag = 0xff; > > if (gfpflags_allow_blocking(flags)) > quarantine_reduce(); >
Re: [PATCH v2] kasan: Initialize tag to 0xff in __kasan_kmalloc
On Thu, May 02, 2019 at 06:40:52PM +0200, Andrey Konovalov wrote: > On Thu, May 2, 2019 at 6:31 PM Nathan Chancellor > wrote: > > > > When building with -Wuninitialized and CONFIG_KASAN_SW_TAGS unset, Clang > > warns: > > > > mm/kasan/common.c:484:40: warning: variable 'tag' is uninitialized when > > used here [-Wuninitialized] > > kasan_unpoison_shadow(set_tag(object, tag), size); > > ^~~ > > > > set_tag ignores tag in this configuration but clang doesn't realize it > > at this point in its pipeline, as it points to arch_kasan_set_tag as > > being the point where it is used, which will later be expanded to > > (void *)(object) without a use of tag. Initialize tag to 0xff, as it > > removes this warning and doesn't change the meaning of the code. > > > > Link: https://github.com/ClangBuiltLinux/linux/issues/465 > > Signed-off-by: Nathan Chancellor > > Reviewed-by: Andrey Konovalov > > Thanks! > Thanks Andrey! Did anyone else have any other comments or can this be picked up? Cheers, Nathan
Re: [PATCH v2] kasan: Initialize tag to 0xff in __kasan_kmalloc
On Thu, May 2, 2019 at 6:31 PM Nathan Chancellor wrote: > > When building with -Wuninitialized and CONFIG_KASAN_SW_TAGS unset, Clang > warns: > > mm/kasan/common.c:484:40: warning: variable 'tag' is uninitialized when > used here [-Wuninitialized] > kasan_unpoison_shadow(set_tag(object, tag), size); > ^~~ > > set_tag ignores tag in this configuration but clang doesn't realize it > at this point in its pipeline, as it points to arch_kasan_set_tag as > being the point where it is used, which will later be expanded to > (void *)(object) without a use of tag. Initialize tag to 0xff, as it > removes this warning and doesn't change the meaning of the code. > > Link: https://github.com/ClangBuiltLinux/linux/issues/465 > Signed-off-by: Nathan Chancellor Reviewed-by: Andrey Konovalov Thanks! > --- > > v1 -> v2: > > * Initialize tag to 0xff at Andrey's request > > mm/kasan/common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/kasan/common.c b/mm/kasan/common.c > index 36afcf64e016..242fdc01aaa9 100644 > --- a/mm/kasan/common.c > +++ b/mm/kasan/common.c > @@ -464,7 +464,7 @@ static void *__kasan_kmalloc(struct kmem_cache *cache, > const void *object, > { > unsigned long redzone_start; > unsigned long redzone_end; > - u8 tag; > + u8 tag = 0xff; > > if (gfpflags_allow_blocking(flags)) > quarantine_reduce(); > -- > 2.21.0 > > -- > You received this message because you are subscribed to the Google Groups > "kasan-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to kasan-dev+unsubscr...@googlegroups.com. > To post to this group, send email to kasan-...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/kasan-dev/20190502163057.6603-1-natechancellor%40gmail.com. > For more options, visit https://groups.google.com/d/optout.