On 8 March 2014 02:26, <behanw@xxxxxxxxxxxxxxxxxx> wrote: > diff --git a/net/mac80211/aes_ccm.c b/net/mac80211/aes_ccm.c > index 7c7df47..3317578 100644 > --- 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; > + > + struct aead_request *aead_req = (void *) aead_req_data; Bad trick with regards to alignment. The alignment requirement for struct aead_request is stronger than what an array of chars may have. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html