lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 26 Feb 2024 11:28:21 +0200
From: Jani Nikula <jani.nikula@...ux.intel.com>
To: David Laight <David.Laight@...LAB.COM>, "'linux-kernel@...r.kernel.org'"
 <linux-kernel@...r.kernel.org>, 'Linus Torvalds'
 <torvalds@...ux-foundation.org>, 'Netdev' <netdev@...r.kernel.org>,
 "'dri-devel@...ts.freedesktop.org'" <dri-devel@...ts.freedesktop.org>
Cc: 'Jens Axboe' <axboe@...nel.dk>, "'Matthew Wilcox (Oracle)'"
 <willy@...radead.org>, 'Christoph Hellwig' <hch@...radead.org>,
 "'linux-btrfs@...r.kernel.org'" <linux-btrfs@...r.kernel.org>, 'Andrew
 Morton' <akpm@...ux-foundation.org>, 'Andy Shevchenko'
 <andriy.shevchenko@...ux.intel.com>, "'David S . Miller'"
 <davem@...emloft.net>, 'Dan Carpenter' <dan.carpenter@...aro.org>, Rasmus
 Villemoes <linux@...musvillemoes.dk>
Subject: Re: [PATCH next v2 02/11] minmax: Use _Static_assert() instead of
 static_assert()

On Sun, 25 Feb 2024, David Laight <David.Laight@...LAB.COM> wrote:
> The wrapper just adds two more lines of error output when the test fails.

There are only a handful of places in kernel code that use
_Static_assert() directly. Nearly 900 instances of static_assert().

Are we now saying it's fine to use _Static_assert() directly all over
the place? People will copy-paste and cargo cult.

BR,
Jani.

>
> Signed-off-by: David Laight <david.laight@...lab.com>
> ---
>  include/linux/minmax.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> Changes for v2:
> - Typographical and spelling corrections to the commit messages.
>   Patches unchanged.
>
> diff --git a/include/linux/minmax.h b/include/linux/minmax.h
> index 63c45865b48a..900eec7a28e5 100644
> --- a/include/linux/minmax.h
> +++ b/include/linux/minmax.h
> @@ -48,7 +48,7 @@
>  #define __cmp_once(op, x, y, unique_x, unique_y) ({	\
>  	typeof(x) unique_x = (x);			\
>  	typeof(y) unique_y = (y);			\
> -	static_assert(__types_ok(x, y),			\
> +	_Static_assert(__types_ok(x, y),			\
>  		#op "(" #x ", " #y ") signedness error, fix types or consider u" #op "() before " #op "_t()"); \
>  	__cmp(op, unique_x, unique_y); })
>  
> @@ -137,11 +137,11 @@
>  	typeof(val) unique_val = (val);						\
>  	typeof(lo) unique_lo = (lo);						\
>  	typeof(hi) unique_hi = (hi);						\
> -	static_assert(__builtin_choose_expr(__is_constexpr((lo) > (hi)),	\
> +	_Static_assert(__builtin_choose_expr(__is_constexpr((lo) > (hi)),	\
>  			(lo) <= (hi), true),					\
>  		"clamp() low limit " #lo " greater than high limit " #hi);	\
> -	static_assert(__types_ok(val, lo), "clamp() 'lo' signedness error");	\
> -	static_assert(__types_ok(val, hi), "clamp() 'hi' signedness error");	\
> +	_Static_assert(__types_ok(val, lo), "clamp() 'lo' signedness error");	\
> +	_Static_assert(__types_ok(val, hi), "clamp() 'hi' signedness error");	\
>  	__clamp(unique_val, unique_lo, unique_hi); })
>  
>  #define __careful_clamp(val, lo, hi) ({					\

-- 
Jani Nikula, Intel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ