diff options
| author | Sumit Garg <[email protected]> | 2025-02-04 07:34:18 +0000 |
|---|---|---|
| committer | Arnd Bergmann <[email protected]> | 2025-02-14 14:17:34 +0000 |
| commit | 70b0d6b0a199c5a3ee6c72f5e61681ed6f759612 (patch) | |
| tree | 45945cb7bd65be12e4481e9cf283cd424c554804 /net/switchdev/switchdev.c | |
| parent | platform: cznic: CZNIC_PLATFORMS should depend on ARCH_MVEBU (diff) | |
| download | kernel-70b0d6b0a199c5a3ee6c72f5e61681ed6f759612.tar.gz kernel-70b0d6b0a199c5a3ee6c72f5e61681ed6f759612.zip | |
tee: optee: Fix supplicant wait loop
OP-TEE supplicant is a user-space daemon and it's possible for it
be hung or crashed or killed in the middle of processing an OP-TEE
RPC call. It becomes more complicated when there is incorrect shutdown
ordering of the supplicant process vs the OP-TEE client application which
can eventually lead to system hang-up waiting for the closure of the
client application.
Allow the client process waiting in kernel for supplicant response to
be killed rather than indefinitely waiting in an unkillable state. Also,
a normal uninterruptible wait should not have resulted in the hung-task
watchdog getting triggered, but the endless loop would.
This fixes issues observed during system reboot/shutdown when supplicant
got hung for some reason or gets crashed/killed which lead to client
getting hung in an unkillable state. It in turn lead to system being in
hung up state requiring hard power off/on to recover.
Fixes: 4fb0a5eb364d ("tee: add OP-TEE driver")
Suggested-by: Arnd Bergmann <[email protected]>
Cc: [email protected]
Signed-off-by: Sumit Garg <[email protected]>
Reviewed-by: Arnd Bergmann <[email protected]>
Reviewed-by: Jens Wiklander <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions
