All of lore.kernel.org
 help / color / mirror / Atom feed
From: Behan Webster <behanw@converseincode.com>
To: Joe Perches <joe@perches.com>
Cc: linville@tuxdriver.com, johannes@sipsolutions.net,
	davem@davemloft.net, linux-wireless@vger.kernel.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	dwmw2@infradead.org, pageexec@freemail.hu,
	"Jan-Simon Möller" <dl9pf@gmx.de>,
	"Vinícius Tinti" <viniciustinti@gmail.com>,
	"Mark Charlebois" <charlebm@gmail.com>
Subject: Re: [PATCH v2] mac80211: LLVMLinux: Remove VLAIS usage from mac80211
Date: Sat, 08 Mar 2014 12:17:35 -0800	[thread overview]
Message-ID: <531B7ADF.7030606@converseincode.com> (raw)
In-Reply-To: <1394245662.6972.12.camel@joe-AO722>

On 03/07/14 18:27, Joe Perches wrote:
> On Fri, 2014-03-07 at 18:15 -0800, Behan Webster wrote:
>> On 03/07/14 17:56, Joe Perches wrote:
>>> On Fri, 2014-03-07 at 17:26 -0800, behanw@converseincode.com wrote:
>>>> From: Jan-Simon Möller <dl9pf@gmx.de>
>>>>
>>>> Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
>>>> compliant equivalent. This is the original VLAIS struct.
>>> []
>>>> diff --git a/net/mac80211/aes_ccm.c b/net/mac80211/aes_ccm.c
>>> []
>>>> @@ -23,12 +23,14 @@ void ieee80211_aes_ccm_encrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad,
>>>>    			       u8 *data, size_t data_len, u8 *mic)
>>>>    {
>>>>    	struct scatterlist assoc, pt, ct[2];
>>>> -	struct {
>>>> -		struct aead_request	req;
>>>> -		u8			priv[crypto_aead_reqsize(tfm)];
>>>> -	} aead_req;
>>>>    
>>>> -	memset(&aead_req, 0, sizeof(aead_req));
>>>> +	char aead_req_data[sizeof(struct aead_request) +
>>>> +				crypto_aead_reqsize(tfm) +
>>>> +				CRYPTO_MINALIGN] CRYPTO_MINALIGN_ATTR;
>>> Can this be a too large amount of stack?
>>>
>>> Is crypto_aead_reqsize() limited to < ~1k?
>>>
>>> Perhaps it'd be better to use kzalloc for this
>>> or another reserved pool
>> No more stack being used than with the the original code. The stack
>> memory use is identical.
> I do understand that, but that's not my question.
>
> I appreciate you're getting this to compile for llvm.
>
> Any idea of the max value of crypto_aead_reqsize?
And I understand your question, as well as why it is important.

Moving it from being stack based to alloacted memory may or may not be a 
good thing, but is orthogonal to the intention of this particular patch 
(which is just to remove the use of VLAIS from this code).

> $ grep-2.5.4 -rP --include=*.[ch] "(?:->|\.)\s*\breqsize\s*=[^=][^;]+;" *
Very clever. I'm going to use this. :)

Behan

-- 
Behan Webster
behanw@converseincode.com


  reply	other threads:[~2014-03-08 20:17 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-06 19:52 [PATCH] mac80211: LLVMLinux: Remove VLAIS usage from mac80211 behanw
2014-03-07  7:24 ` Johannes Berg
2014-03-08  1:26   ` [PATCH v2] " behanw
2014-03-08  1:56     ` Joe Perches
2014-03-08  1:56       ` Joe Perches
2014-03-08  2:15       ` Behan Webster
2014-03-08  2:27         ` Joe Perches
2014-03-08  2:27           ` Joe Perches
2014-03-08 20:17           ` Behan Webster [this message]
2014-03-08 14:53         ` Stanislaw Gruszka
2014-03-08 21:36           ` Behan Webster
2014-03-08 20:29     ` Sergei Antonov
2014-03-08 20:42       ` Behan Webster
2014-03-08 22:01       ` PaX Team
2014-03-08 22:01         ` PaX Team
2014-03-08 23:00         ` Sergei Antonov
2014-03-08 23:41           ` Jan-Simon Möller
2014-03-08 23:41             ` Jan-Simon Möller
2014-03-09  1:58           ` Behan Webster
2014-03-19  3:32           ` [PATCH v3] " behanw
2014-03-19 13:51             ` Johannes Berg
2014-03-19 14:25               ` Behan Webster
2014-03-21  6:39               ` [PATCH v4] " behanw
2014-03-21  6:39                 ` behanw-k/hB3zQhLwledRVtV/plodBPR1lH4CV8
2014-03-21 11:59                 ` Johannes Berg
2014-03-19 14:09             ` [PATCH v3] " David Laight
2014-03-19 14:09               ` David Laight
2014-03-19 14:09               ` David Laight
2014-03-09  0:01       ` [PATCH v2] " David Miller

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=531B7ADF.7030606@converseincode.com \
    --to=behanw@converseincode.com \
    --cc=charlebm@gmail.com \
    --cc=davem@davemloft.net \
    --cc=dl9pf@gmx.de \
    --cc=dwmw2@infradead.org \
    --cc=joe@perches.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.org \
    --cc=pageexec@freemail.hu \
    --cc=viniciustinti@gmail.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.