On 8 October 2013 13:52, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Tue, 2013-10-08 at 13:31 +0200, Ard Biesheuvel wrote: > > Hmm, thanks I guess. I'll need to review this in more detail, but I have > a question first: > >> + /* allocate the variable sized aead_request on the stack */ >> + int l = DIV_ROUND_UP(crypto_aead_reqsize(tfm), >> + sizeof(struct aead_request)); >> + struct aead_request req[1 + l]; > > This looks a bit odd, why round up first and then add one? Why even > bother using a struct array rather than some local struct like > > struct { > struct aead_request req; > u8 data[crypto_aed_reqsize(tfm)]; > } req_data; > > or so? > Yes, that looks much better. I will put that in my v2, let me know if you have more questions/comments. BTW I should probably have mentioned that this is fully tested code: my zd1211 works happily with it using pairwise CCMP with no regressions in performance. Cheers, Ard. -- 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