On 8 okt. 2013, at 15:01, "David Laight" <David.Laight@xxxxxxxxxx> 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 > > Is it even a good idea to be allocating variable sized items > on the kernel stack? > > There has to be enough stack available for the maximum number > of entries - so there is little point in dynamically sizing it. Actually, as the size is always the same, it should be feasible to alloc a couple of request structs at init time. would one for rx and one for tx be sufficient? or is this code more reentrant than that? -- 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