OSDN Git Service

crypto: qat - add limit to linked list parsing
authorAdam Guerin <adam.guerin@intel.com>
Wed, 21 Sep 2022 09:38:30 +0000 (10:38 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 30 Sep 2022 05:57:50 +0000 (13:57 +0800)
commit72f6e0ea2b0ecea8585f3cd4298286c85c5121e6
treea67606813ee19a0e2f6ada2a5d6718706efaad20
parent0cb3c9cdf7fcc2ef75a6008223d2e3ee58ea00e1
crypto: qat - add limit to linked list parsing

adf_copy_key_value_data() copies data from userland to kernel, based on
a linked link provided by userland. If userland provides a circular
list (or just a very long one) then it would drive a long loop where
allocation occurs in every loop. This could lead to low memory conditions.
Adding a limit to stop endless loop.

Signed-off-by: Adam Guerin <adam.guerin@intel.com>
Co-developed-by: Ciunas Bennett <ciunas.bennett@intel.com>
Signed-off-by: Ciunas Bennett <ciunas.bennett@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/qat/qat_common/adf_ctl_drv.c