From: Simon Horman <horms@kernel.org>
To: Kees Cook <keescook@chromium.org>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
Eric Dumazet <edumazet@google.com>,
netdev@vger.kernel.org, Tony Nguyen <anthony.l.nguyen@intel.com>,
linux-hardening@vger.kernel.org,
intel-wired-lan@lists.osuosl.org,
Jakub Kicinski <kuba@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Paolo Abeni <pabeni@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
linux-kernel@vger.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH v2] overflow: Change DEFINE_FLEX to take __counted_by member
Date: Fri, 8 Mar 2024 20:20:18 +0000 [thread overview]
Message-ID: <20240308202018.GC603911@kernel.org> (raw)
In-Reply-To: <20240306235128.it.933-kees@kernel.org>
On Wed, Mar 06, 2024 at 03:51:36PM -0800, Kees Cook wrote:
> The norm should be flexible array structures with __counted_by
> annotations, so DEFINE_FLEX() is updated to expect that. Rename
> the non-annotated version to DEFINE_RAW_FLEX(), and update the
> few existing users.
>
> Signed-off-by: Kees Cook <keescook@chromium.org>
Hi Kees,
I'm unclear what this is based on, as it doesn't appear to apply
cleanly to net-next or the dev-queue branch of the iwl-next tree.
But I manually applied it to the latter and ran some checks.
...
> diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c
> index f84bab80ca42..d4baae8c3b72 100644
> --- a/drivers/net/ethernet/intel/ice/ice_switch.c
> +++ b/drivers/net/ethernet/intel/ice/ice_switch.c
Given what is currently in the dev-queue branch of the iwl-next tree,
the following hunk also seems to be required for ice_switch.c.
@@ -5378,7 +5378,7 @@ ice_get_compat_fv_bitmap(struct ice_hw *hw, struct ice_adv_rule_info *rinfo,
*/
static int ice_subscribe_recipe(struct ice_hw *hw, u16 rid)
{
- DEFINE_FLEX(struct ice_aqc_alloc_free_res_elem, sw_buf, elem, 1);
+ DEFINE_RAW_FLEX(struct ice_aqc_alloc_free_res_elem, sw_buf, elem, 1);
u16 buf_len = __struct_size(sw_buf);
u16 res_type;
int status;
...
> diff --git a/include/linux/overflow.h b/include/linux/overflow.h
> index aa691f2119b0..677b03c4c84f 100644
> --- a/include/linux/overflow.h
> +++ b/include/linux/overflow.h
> @@ -396,9 +396,9 @@ static inline size_t __must_check size_sub(size_t minuend, size_t subtrahend)
> * @name: Name for a variable to define.
> * @member: Name of the array member.
> * @count: Number of elements in the array; must be compile-time const.
> - * @initializer: initializer expression (could be empty for no init).
> + * @initializer...: initializer expression (could be empty for no init).
Curiously kernel-doc --none seems happier without the line above changed.
> */
> -#define _DEFINE_FLEX(type, name, member, count, initializer) \
> +#define _DEFINE_FLEX(type, name, member, count, initializer...) \
> _Static_assert(__builtin_constant_p(count), \
> "onstack flex array members require compile-time const count"); \
> union { \
...
WARNING: multiple messages have this Message-ID (diff)
From: Simon Horman <horms@kernel.org>
To: Kees Cook <keescook@chromium.org>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>,
Jesse Brandeburg <jesse.brandeburg@intel.com>,
Tony Nguyen <anthony.l.nguyen@intel.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-hardening@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] overflow: Change DEFINE_FLEX to take __counted_by member
Date: Fri, 8 Mar 2024 20:20:18 +0000 [thread overview]
Message-ID: <20240308202018.GC603911@kernel.org> (raw)
In-Reply-To: <20240306235128.it.933-kees@kernel.org>
On Wed, Mar 06, 2024 at 03:51:36PM -0800, Kees Cook wrote:
> The norm should be flexible array structures with __counted_by
> annotations, so DEFINE_FLEX() is updated to expect that. Rename
> the non-annotated version to DEFINE_RAW_FLEX(), and update the
> few existing users.
>
> Signed-off-by: Kees Cook <keescook@chromium.org>
Hi Kees,
I'm unclear what this is based on, as it doesn't appear to apply
cleanly to net-next or the dev-queue branch of the iwl-next tree.
But I manually applied it to the latter and ran some checks.
...
> diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c
> index f84bab80ca42..d4baae8c3b72 100644
> --- a/drivers/net/ethernet/intel/ice/ice_switch.c
> +++ b/drivers/net/ethernet/intel/ice/ice_switch.c
Given what is currently in the dev-queue branch of the iwl-next tree,
the following hunk also seems to be required for ice_switch.c.
@@ -5378,7 +5378,7 @@ ice_get_compat_fv_bitmap(struct ice_hw *hw, struct ice_adv_rule_info *rinfo,
*/
static int ice_subscribe_recipe(struct ice_hw *hw, u16 rid)
{
- DEFINE_FLEX(struct ice_aqc_alloc_free_res_elem, sw_buf, elem, 1);
+ DEFINE_RAW_FLEX(struct ice_aqc_alloc_free_res_elem, sw_buf, elem, 1);
u16 buf_len = __struct_size(sw_buf);
u16 res_type;
int status;
...
> diff --git a/include/linux/overflow.h b/include/linux/overflow.h
> index aa691f2119b0..677b03c4c84f 100644
> --- a/include/linux/overflow.h
> +++ b/include/linux/overflow.h
> @@ -396,9 +396,9 @@ static inline size_t __must_check size_sub(size_t minuend, size_t subtrahend)
> * @name: Name for a variable to define.
> * @member: Name of the array member.
> * @count: Number of elements in the array; must be compile-time const.
> - * @initializer: initializer expression (could be empty for no init).
> + * @initializer...: initializer expression (could be empty for no init).
Curiously kernel-doc --none seems happier without the line above changed.
> */
> -#define _DEFINE_FLEX(type, name, member, count, initializer) \
> +#define _DEFINE_FLEX(type, name, member, count, initializer...) \
> _Static_assert(__builtin_constant_p(count), \
> "onstack flex array members require compile-time const count"); \
> union { \
...
next prev parent reply other threads:[~2024-03-08 20:20 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-06 23:51 [Intel-wired-lan] [PATCH v2] overflow: Change DEFINE_FLEX to take __counted_by member Kees Cook
2024-03-06 23:51 ` Kees Cook
2024-03-07 0:40 ` [Intel-wired-lan] " Gustavo A. R. Silva
2024-03-07 0:40 ` Gustavo A. R. Silva
2024-03-07 7:32 ` [Intel-wired-lan] " Przemek Kitszel
2024-03-07 7:32 ` Przemek Kitszel
2024-03-08 20:20 ` Simon Horman [this message]
2024-03-08 20:20 ` Simon Horman
2024-03-09 20:32 ` [Intel-wired-lan] " Kees Cook
2024-03-09 20:32 ` Kees Cook
2024-03-11 9:28 ` [Intel-wired-lan] " Simon Horman
2024-03-11 9:28 ` Simon Horman
2024-03-11 18:38 ` [Intel-wired-lan] " Tony Nguyen
2024-03-11 18:38 ` Tony Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240308202018.GC603911@kernel.org \
--to=horms@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=anthony.l.nguyen@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gustavoars@kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=keescook@chromium.org \
--cc=kuba@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.