[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <531B7ADF.7030606@converseincode.com>
Date: Sat, 08 Mar 2014 12:17:35 -0800
From: Behan Webster <behanw@...verseincode.com>
To: Joe Perches <joe@...ches.com>
CC: linville@...driver.com, johannes@...solutions.net,
davem@...emloft.net, linux-wireless@...r.kernel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
dwmw2@...radead.org, pageexec@...email.hu,
Jan-Simon Möller
<dl9pf@....de>,
Vinícius Tinti <viniciustinti@...il.com>,
Mark Charlebois <charlebm@...il.com>
Subject: Re: [PATCH v2] mac80211: LLVMLinux: Remove VLAIS usage from mac80211
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@...verseincode.com wrote:
>>>> From: Jan-Simon Möller <dl9pf@....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@...verseincode.com
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists