Re: [Intel-wired-lan] [PATCH] overflow: Add struct_size_t() helper

Alexander Lobakin
2023-05-29T17:42:45Z

From: Jakub Kicinski <kuba@kernel.org>
Date: Tue, 23 May 2023 20:53:54 -0700

> On Mon, 22 May 2023 14:18:13 -0700 Kees Cook wrote:
>> diff --git a/drivers/net/ethernet/intel/ice/ice_ddp.h b/drivers/net/ethernet/intel/ice/ice_ddp.h
>> index 37eadb3d27a8..41acfe26df1c 100644
>> --- a/drivers/net/ethernet/intel/ice/ice_ddp.h
>> +++ b/drivers/net/ethernet/intel/ice/ice_ddp.h
>> @@ -185,7 +185,7 @@ struct ice_buf_hdr {
>>
>> #define ICE_MAX_ENTRIES_IN_BUF(hd_sz, ent_sz) \
>> ((ICE_PKG_BUF_SIZE - \
>> - struct_size((struct ice_buf_hdr *)0, section_entry, 1) - (hd_sz)) / \
>> + struct_size_t(struct ice_buf_hdr, section_entry, 1) - (hd_sz)) / \
>> (ent_sz))
>>
>> /* ice package section IDs */
>> @@ -297,7 +297,7 @@ struct ice_label_section {
>> };
>>
>> #define ICE_MAX_LABELS_IN_BUF \
>> - ICE_MAX_ENTRIES_IN_BUF(struct_size((struct ice_label_section *)0, \
>> + ICE_MAX_ENTRIES_IN_BUF(struct_size_t(struct ice_label_section, \
>> label, 1) - \
>> sizeof(struct ice_label), \
>> sizeof(struct ice_label))
>> @@ -352,7 +352,7 @@ struct ice_boost_tcam_section {
>> };
>>
>> #define ICE_MAX_BST_TCAMS_IN_BUF \
>> - ICE_MAX_ENTRIES_IN_BUF(struct_size((struct ice_boost_tcam_section *)0, \
>> + ICE_MAX_ENTRIES_IN_BUF(struct_size_t(struct ice_boost_tcam_section, \
>> tcam, 1) - \
>> sizeof(struct ice_boost_tcam_entry), \
>> sizeof(struct ice_boost_tcam_entry))
>> @@ -372,8 +372,7 @@ struct ice_marker_ptype_tcam_section {
>> };
>>
>> #define ICE_MAX_MARKER_PTYPE_TCAMS_IN_BUF \
>> - ICE_MAX_ENTRIES_IN_BUF( \
>> - struct_size((struct ice_marker_ptype_tcam_section *)0, tcam, \
>> + ICE_MAX_ENTRIES_IN_BUF(struct_size_t(struct ice_marker_ptype_tcam_section, tcam, \
>> 1) - \
>> sizeof(struct ice_marker_ptype_tcam_entry), \
>> sizeof(struct ice_marker_ptype_tcam_entry))
>
> Acked-by: Jakub Kicinski <kuba@kernel.org>
>
> but Intel ICE folks please speak up if this has a high chance of
> conflicts, I think I've seen some ICE DDP patches flying around :(

I haven't found anything that would conflict with this, esp. since it
implies no functional changes.
I agree it's been much needed, great, thanks!

Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>

Olek