OSDN Git Service

ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings
authorAndrey Ryabinin <aryabinin@virtuozzo.com>
Mon, 6 May 2019 10:45:26 +0000 (13:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 May 2019 15:52:07 +0000 (17:52 +0200)
commitb34d6553ad81eba86fd3ce7ea2b85d9421e32fbe
tree99d15e3edd89ecf28e042c6712646b72ab751fca
parent41b5d3eee4af6a4ea488a1735ed82e4e593eec0d
ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings

commit f0996bc2978e02d2ea898101462b960f6119b18f upstream.

Building lib/ubsan.c with gcc-9 results in a ton of nasty warnings like
this one:

    lib/ubsan.c warning: conflicting types for built-in function
         ‘__ubsan_handle_negate_overflow’; expected ‘void(void *, void *)’ [-Wbuiltin-declaration-mismatch]

The kernel's declarations of __ubsan_handle_*() often uses 'unsigned
long' types in parameters while GCC these parameters as 'void *' types,
hence the mismatch.

Fix this by using 'void *' to match GCC's declarations.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Fixes: c6d308534aef ("UBSAN: run-time undefined behavior sanity checker")
Cc: <stable@vger.kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/ubsan.c