lkml.org 
[lkml]   [2020]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: linux-next: build warning after merge of the akpm-current tree
From
Date
On Thu, 2020-03-05 at 06:54 +0100, Dmitry Vyukov wrote:
> On Thu, Mar 5, 2020 at 6:37 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > Hi all,
> >
> > After merging the akpm-current tree, today's linux-next build (x86_64
> > allmodconfig) produced this warning:
> >
> > mm/kasan/common.o: warning: objtool: kasan_report()+0x17: call to report_enabled() with UACCESS enabled
> > In file included from include/linux/bitmap.h:9,
> > from include/linux/cpumask.h:12,
> > from arch/x86/include/asm/paravirt.h:17,
> > from arch/x86/include/asm/irqflags.h:72,
> > from include/linux/irqflags.h:16,
> > from include/linux/rcupdate.h:26,
> > from include/linux/rculist.h:11,
> > from include/linux/pid.h:5,
> > from include/linux/sched.h:14,
> > from include/linux/uaccess.h:6,
> > from arch/x86/include/asm/fpu/xstate.h:5,
> > from arch/x86/include/asm/pgtable.h:26,
> > from include/linux/kasan.h:15,
> > from lib/test_kasan.c:12:
> > In function 'memmove',
> > inlined from 'kmalloc_memmove_invalid_size' at lib/test_kasan.c:301:2:
> > include/linux/string.h:441:9: warning: '__builtin_memmove' specified bound 18446744073709551614 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
>
> +kasan-dev
>
> We probably need to make this 18446744073709551614 constant "dynamic"
> so that compiler does not see it.
>
> Walter, will you take a look? Thanks

Hi Dmitry,

Yes, I have fixed it. This warning need newer gcc enough to reproduce.
Maybe I should replace original gcc-7.4.0.

Thanks.


--- a/lib/test_kasan.c
+++ b/lib/test_kasan.c
@@ -286,17 +286,19 @@ static noinline void __init
kmalloc_oob_in_memset(void)
static noinline void __init kmalloc_memmove_invalid_size(void)
{
char *ptr;
- size_t size = 64;
+ size_t size1 = 64;
+ volatile size_t size2 = -2;

pr_info("invalid size in memmove\n");
- ptr = kmalloc(size, GFP_KERNEL);
+ ptr = kmalloc(size1, GFP_KERNEL);
if (!ptr) {
pr_err("Allocation failed\n");
return;
}

- memset((char *)ptr, 0, 64);
- memmove((char *)ptr, (char *)ptr + 4, -2);
+ memset((char *)ptr, 0, size1);
+ /* the size of memmove() is negative number */
+ memmove((char *)ptr, (char *)ptr + 4, size2);
kfree(ptr);
}

>
> > 441 | return __builtin_memmove(p, q, size);
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > Introduced by commit
> >
> > 519e500fac64 ("kasan: add test for invalid size in memmove")
> >
> > That's a bit annoying during a normal x86_64 allmodconfig build ...
> >
> > --
> > Cheers,
> > Stephen Rothwell

\
 
 \ /
  Last update: 2020-03-07 06:04    [W:0.048 / U:1.556 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site