netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Przemek Kitszel <przemyslaw.kitszel@intel.com>
To: David Laight <David.Laight@ACULAB.COM>,
	'Kees Cook' <keescook@chromium.org>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Jacob Keller <jacob.e.keller@intel.com>,
	"intel-wired-lan@lists.osuosl.org"
	<intel-wired-lan@lists.osuosl.org>,
	Alexander Lobakin <aleksander.lobakin@intel.com>,
	"linux-hardening@vger.kernel.org"
	<linux-hardening@vger.kernel.org>,
	Steven Zou <steven.zou@intel.com>
Subject: Re: [PATCH net-next v3 1/7] overflow: add DEFINE_FLEX() for on-stack allocs
Date: Wed, 23 Aug 2023 22:52:10 +0200	[thread overview]
Message-ID: <33c1819b-7c26-ea3b-a8a4-9b14cde425d5@intel.com> (raw)
In-Reply-To: <8c5fcd66086a4354b30f15dd488a9fe5@AcuMS.aculab.com>

On 8/18/23 12:49, David Laight wrote:
> From: Przemek Kitszel
>> Sent: Friday, August 18, 2023 11:28 AM
> ...
>>>>> I'm not sure you should be forcing the memset() either.
>>>>
>>>> This already got discussed: better to fail safe.
>>>
>>> Perhaps call it DEFINE_FLEX_Z() to make this clear and
>>> give the option for a non-zeroing version later.
>>> Not everyone wants the expense of zeroing everything.
>>
>> per Kees, zeroing should be removed by compiler when not needed:
>> https://lore.kernel.org/intel-wired-lan/202308101128.C4F0FA235@keescook/
> 
> Expect in the most trivial cases the compiler is pretty much never
> going to remove the zeroing of the data[] part.
> 
> I'm also not at all sure what happens if there is a function
> call between the initialisation and any assignments.
> 
> With a bit of effort you should be able to pass the '= {}'
> through into an inner #define.
> Possibly with the alternative of a caller-provider
>   '= { .obj = call_supplied_initialiser }'
> The 'not _Z' form would pass an empty argument.
> 
> 	David

Thanks, makes sense, there could be also DEFINE_FLEX_COUNTED
(or DEFINE_FLEX_BOUNDED) to cover Kees's __counted_by() cases.

Would you like me to cover/convert any existing code/use cases (as with 
other patches in the series, to have some examples/actual usage of newly 
introduced macros)?

> 
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)


  reply	other threads:[~2023-08-23 20:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-16 14:06 [PATCH net-next v3 0/7] introduce DEFINE_FLEX() macro Przemek Kitszel
2023-08-16 14:06 ` [PATCH net-next v3 1/7] overflow: add DEFINE_FLEX() for on-stack allocs Przemek Kitszel
2023-08-16 16:35   ` kernel test robot
2023-08-18 10:37     ` Przemek Kitszel
2023-08-18 11:10       ` Miguel Ojeda
2023-08-18 12:07         ` Philip Li
2023-08-19 10:06         ` Greg KH
2023-08-16 20:38   ` Kees Cook
2023-08-17 14:35   ` David Laight
2023-08-17 17:00     ` Kees Cook
2023-08-18  7:14       ` David Laight
2023-08-18 10:28         ` Przemek Kitszel
2023-08-18 10:49           ` David Laight
2023-08-23 20:52             ` Przemek Kitszel [this message]
2023-08-28 14:41               ` Przemek Kitszel
2023-08-16 14:06 ` [PATCH net-next v3 2/7] ice: ice_sched_remove_elems: replace 1 elem array param by u32 Przemek Kitszel
2023-08-16 14:06 ` [PATCH net-next v3 3/7] ice: drop two params of ice_aq_move_sched_elems() Przemek Kitszel
2023-08-16 14:06 ` [PATCH net-next v3 4/7] ice: make use of DEFINE_FLEX() in ice_ddp.c Przemek Kitszel
2023-08-16 14:06 ` [PATCH net-next v3 5/7] ice: make use of DEFINE_FLEX() for struct ice_aqc_add_tx_qgrp Przemek Kitszel
2023-08-16 14:06 ` [PATCH net-next v3 6/7] ice: make use of DEFINE_FLEX() for struct ice_aqc_dis_txq_item Przemek Kitszel
2023-08-16 14:06 ` [PATCH net-next v3 7/7] ice: make use of DEFINE_FLEX() in ice_switch.c Przemek Kitszel

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=33c1819b-7c26-ea3b-a8a4-9b14cde425d5@intel.com \
    --to=przemyslaw.kitszel@intel.com \
    --cc=David.Laight@ACULAB.COM \
    --cc=aleksander.lobakin@intel.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=jacob.e.keller@intel.com \
    --cc=keescook@chromium.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=steven.zou@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).