Re: [PATCH v3] tee: optee: Fix supplicant wait loop

From: Arnd Bergmann
Date: Tue Feb 04 2025 - 02:45:34 EST


On Tue, Feb 4, 2025, at 08:34, Sumit Garg wrote:
> 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 <arnd@xxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Sumit Garg <sumit.garg@xxxxxxxxxx>

Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx>

Jens, I assume you'll pick it up and send me a pull request, but
I can also pick it up directly if you have nothing else.

Arnd