LKML Archive on lore.kernel.org
 help / Atom feed
* [PATCH] lib/ubsan: default UBSAN_ALIGNMENT to not set
@ 2018-12-17 15:03 Anders Roxell
  2019-01-11 19:01 ` Andrey Ryabinin
  0 siblings, 1 reply; 2+ messages in thread
From: Anders Roxell @ 2018-12-17 15:03 UTC (permalink / raw)
  To: aryabinin; +Cc: arnd, linux-kernel, Anders Roxell

When booting an allmodconfig kernel, there are a lot of false-positives.
With a message like this 'UBSAN: Undefined behaviour in...' with a call
trace that follows.

Reworked so that when building a allmodconfig kernel that turns
everything into '=m' or '=y' will turn off UBSAN_ALIGNMENT.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
---
 lib/Kconfig.ubsan | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
index 98fa559ebd80..a2ae4a8e4fa6 100644
--- a/lib/Kconfig.ubsan
+++ b/lib/Kconfig.ubsan
@@ -27,15 +27,19 @@ config UBSAN_SANITIZE_ALL
 	  Enabling this option will get kernel image size increased
 	  significantly.
 
-config UBSAN_ALIGNMENT
-	bool "Enable checking of pointers alignment"
+config UBSAN_NO_ALIGNMENT
+	bool "Disable checking of pointers alignment"
 	depends on UBSAN
-	default y if !HAVE_EFFICIENT_UNALIGNED_ACCESS
+	default y if HAVE_EFFICIENT_UNALIGNED_ACCESS
 	help
-	  This option enables detection of unaligned memory accesses.
-	  Enabling this option on architectures that support unaligned
+	  This option disables the check of unaligned memory accesses.
+	  This option should be used when building allmodconfig.
+	  Disabling this option on architectures that support unaligned
 	  accesses may produce a lot of false positives.
 
+config UBSAN_ALIGNMENT
+	def_bool !UBSAN_NO_ALIGNMENT
+
 config TEST_UBSAN
 	tristate "Module for testing for undefined behavior detection"
 	depends on m && UBSAN
-- 
2.19.2


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] lib/ubsan: default UBSAN_ALIGNMENT to not set
  2018-12-17 15:03 [PATCH] lib/ubsan: default UBSAN_ALIGNMENT to not set Anders Roxell
@ 2019-01-11 19:01 ` Andrey Ryabinin
  0 siblings, 0 replies; 2+ messages in thread
From: Andrey Ryabinin @ 2019-01-11 19:01 UTC (permalink / raw)
  To: Anders Roxell, Andrew Morton; +Cc: arnd, linux-kernel



On 12/17/18 6:03 PM, Anders Roxell wrote:
> When booting an allmodconfig kernel, there are a lot of false-positives.
> With a message like this 'UBSAN: Undefined behaviour in...' with a call
> trace that follows.
> 
> Reworked so that when building a allmodconfig kernel that turns
> everything into '=m' or '=y' will turn off UBSAN_ALIGNMENT.
> 
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
> ---

Acked-by: Andrey Ryabinin <aryabinin@virtuozzo.com>


>  lib/Kconfig.ubsan | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
> index 98fa559ebd80..a2ae4a8e4fa6 100644
> --- a/lib/Kconfig.ubsan
> +++ b/lib/Kconfig.ubsan
> @@ -27,15 +27,19 @@ config UBSAN_SANITIZE_ALL
>  	  Enabling this option will get kernel image size increased
>  	  significantly.
>  
> -config UBSAN_ALIGNMENT
> -	bool "Enable checking of pointers alignment"
> +config UBSAN_NO_ALIGNMENT
> +	bool "Disable checking of pointers alignment"
>  	depends on UBSAN
> -	default y if !HAVE_EFFICIENT_UNALIGNED_ACCESS
> +	default y if HAVE_EFFICIENT_UNALIGNED_ACCESS
>  	help
> -	  This option enables detection of unaligned memory accesses.
> -	  Enabling this option on architectures that support unaligned
> +	  This option disables the check of unaligned memory accesses.
> +	  This option should be used when building allmodconfig.
> +	  Disabling this option on architectures that support unaligned
>  	  accesses may produce a lot of false positives.
>  
> +config UBSAN_ALIGNMENT
> +	def_bool !UBSAN_NO_ALIGNMENT
> +
>  config TEST_UBSAN
>  	tristate "Module for testing for undefined behavior detection"
>  	depends on m && UBSAN
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-17 15:03 [PATCH] lib/ubsan: default UBSAN_ALIGNMENT to not set Anders Roxell
2019-01-11 19:01 ` Andrey Ryabinin

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org linux-kernel@archiver.kernel.org
	public-inbox-index lkml


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/ public-inbox