kernel_samsung_a53x/drivers/crypto/qat/qat_common
Herbert Xu ed6b38f5b4 crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
commit d3b17c6d9dddc2db3670bc9be628b122416a3d26 upstream.

Using completion_done to determine whether the caller has gone
away only works after a complete call.  Furthermore it's still
possible that the caller has not yet called wait_for_completion,
resulting in another potential UAF.

Fix this by making the caller use cancel_work_sync and then freeing
the memory safely.

Fixes: 7d42e097607c ("crypto: qat - resolve race condition during AER recovery")
Cc: <stable@vger.kernel.org> #6.8+
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-19 12:27:18 +01:00
..
adf_accel_devices.h crypto: qat - increase size of buffers 2024-11-18 11:43:03 +01:00
adf_accel_engine.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_admin.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_aer.c crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak 2024-11-19 12:27:18 +01:00
adf_cfg.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_cfg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_cfg_common.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_cfg_strings.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_cfg_user.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_common_drv.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_ctl_drv.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_dev_mgr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_hw_arbiter.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_init.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_isr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_pf2vf_msg.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_pf2vf_msg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_sriov.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_transport.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_transport.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_transport_access_macros.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_transport_debug.c crypto: qat - increase size of buffers 2024-11-18 11:43:03 +01:00
adf_transport_internal.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_vf2pf_msg.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adf_vf_isr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
icp_qat_fw.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
icp_qat_fw_init_admin.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
icp_qat_fw_la.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
icp_qat_fw_loader_handle.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
icp_qat_fw_pke.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
icp_qat_hal.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
icp_qat_hw.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
icp_qat_uclo.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qat_algs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qat_asym_algs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qat_crypto.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qat_crypto.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qat_hal.c crypto: qat - mask device capabilities with soft straps 2024-11-18 11:43:03 +01:00
qat_uclo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00