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]
Message-ID: <5524C796-6426-4A32-962E-AB4B4E3DC4A7@kernel.org>
Date: Tue, 18 Mar 2025 01:18:47 -0700
From: Kees Cook <kees@...nel.org>
To: Tzung-Bi Shih <tzungbi@...nel.org>, Jonathan Cameron <jic23@...nel.org>
CC: "Gustavo A. R. Silva" <gustavo@...eddedor.com>,
 "Gustavo A. R. Silva" <gustavoars@...nel.org>,
 Lars-Peter Clausen <lars@...afoo.de>, Benson Leung <bleung@...omium.org>,
 Guenter Roeck <groeck@...omium.org>, linux-iio@...r.kernel.org,
 chrome-platform@...ts.linux.dev, linux-kernel@...r.kernel.org,
 linux-hardening@...r.kernel.org
Subject: Re: [PATCH][next] iio: cros_ec: Avoid -Wflex-array-member-not-at-end warning



On March 17, 2025 6:51:50 PM PDT, Tzung-Bi Shih <tzungbi@...nel.org> wrote:
>On Mon, Mar 17, 2025 at 12:04:47PM +0000, Jonathan Cameron wrote:
>> On Mon, 17 Mar 2025 15:10:38 +1030
>> "Gustavo A. R. Silva" <gustavo@...eddedor.com> wrote:
>> 
>> > On 17/03/25 12:02, Tzung-Bi Shih wrote:
>> > > On Mon, Mar 17, 2025 at 11:24:59AM +1030, Gustavo A. R. Silva wrote:  
>> > >>   static int cros_ec_get_host_cmd_version_mask(struct cros_ec_device *ec_dev,
>> > >>   					     u16 cmd_offset, u16 cmd, u32 *mask)
>> > >>   {
>> > >> +	DEFINE_RAW_FLEX(struct cros_ec_command, buf, data,
>> > >> +			sizeof(struct ec_response_get_cmd_versions));  
>> > > 
>> > > max(sizeof(struct ec_params_get_cmd_versions),
>> > >      sizeof(struct ec_response_get_cmd_versions))?  
>> > 
>> > I considered that, but DEFINE_RAW_FLEX() complains about it due to the
>> > 
>> > _Static_assert(__builtin_constant_p(count),				\
>> > 		       "onstack flex array members require compile-time const count");
>> > 
>> Maybe add an assert that you indeed have the larger of the two + a comment
>> on why it matters?
>
>Or, is there a way for using compiler-time MAX()?  I failed to find so.

Did MAX() not work? I would expect it to do compile time comparison of two sizeof()s. It can do other arithmetic no problem, e.g.:
https://elixir.bootlin.com/linux/v6.13.7/source/lib/vsprintf.c#L1097

-- 
Kees Cook

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ