I follow and agree with everything up until:
In a conclusion, the error will be handled in a kworker with or without this fix.
Who handles the error if the interrupt happens during the execution of a kthread?
It isn't handled during the interrupt (it can't be).
Can't use the task_work_add() trick to handle it (because this thread never returns to user mode).
So how is the error handled?
-Tony