Re: [REPORT] Possible unnecessary usages of GFP_ATOMIC in crypto/ablkcipher.c

From: Herbert Xu
Date: Mon Jul 23 2018 - 02:21:06 EST


On Mon, Jul 23, 2018 at 10:39:40AM +0800, Jia-Ju Bai wrote:
> My tool DCNS reports three unnecessary usages of GFP_ATOMIC in
> crypto/ablkcipher.c:
> crypto/ablkcipher.c, 162: kmalloc(GFP_ATOMIC) in ablkcipher_next_slow
> crypto/ablkcipher.c, 199: kmalloc(GFP_ATOMIC) in ablkcipher_copy_iv
> crypto/ablkcipher.c, 315: kmalloc(GFP_ATOMIC) in setkey_unaligned
>
> I meant to manually check the code, but I find that there are many functions
> calling ablkcipher_next_slow(),
> ablkcipher_copy_iv() and setkey_unaligned(), so I am not sure whether the
> above three reports are true.
>
> Could someone help me to validate these reports?
> Thanks a lot in advance :)

They must use GFP_ATOMIC because they can be called from softirq
context, e.g., IPsec.

Cheers,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt