Re: [PATCH v2] mac80211: LLVMLinux: Remove VLAIS usage from mac80211

From: Behan Webster
Date: Fri Mar 07 2014 - 21:15:56 EST


On 03/07/14 17:56, Joe Perches wrote:
On Fri, 2014-03-07 at 17:26 -0800, behanw@xxxxxxxxxxxxxxxxxx wrote:
From: Jan-Simon Möller <dl9pf@xxxxxx>

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.

Behan

--
Behan Webster
behanw@xxxxxxxxxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/