5e9b810896
commit 7459e1d25ffefa2b1be799477fcc1f6c62f6cec7 upstream. Driver does not properly handle the case when signals interrupt wait_for_completion_interruptible(): -it does not check for return value -completion structure is allocated on stack; in case a signal interrupts the sleep, it will go out of scope, causing the worker thread (caam_jr_dequeue) to fail when it accesses it wait_for_completion_interruptible() is replaced with uninterruptable wait_for_completion(). We choose to block all signals while waiting for I/O (device executing the split key generation job descriptor) since the alternative - in order to have a deterministic device state - would be to flush the job ring (aborting *all* in-progress jobs). Cc: <stable@vger.kernel.org> Fixes: |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
caamalg.c | ||
caamhash.c | ||
caamrng.c | ||
compat.h | ||
ctrl.c | ||
ctrl.h | ||
desc.h | ||
desc_constr.h | ||
error.c | ||
error.h | ||
intern.h | ||
jr.c | ||
jr.h | ||
key_gen.c | ||
key_gen.h | ||
pdb.h | ||
regs.h | ||
sg_sw_sec4.h |