Re: [PATCH] crypto/hisilicon: Add null judgment to the callback interface

From: liulongfang
Date: Fri Oct 28 2022 - 21:25:30 EST


On 2022/10/28 11:57, Herbert Xu wrote:
> On Fri, Sep 30, 2022 at 11:48:02AM +0800, liulongfang wrote:
>>
>> Even if the task is sent in synchronous mode, when using the hardware
>> driver, the hardware still informs the driver software through an
>> interrupt after completing the task, and the workqueue in the driver
>> software will call this callback function.
>>
>> And I found that the device drivers of other manufacturers under the
>> crypto subsystem are also in this asynchronous mode, and this problem
>> is also encountered when using the synchronous mode.
>
> This still makes no sense to me.
>
> Who is making an async request with no callback?
>

The context of the problem may not have been clearly stated in the previous
description.

This is a problem found in one of our real user scenarios:
In this scenario of using an accelerator to perform encryption services,
it was originally intended to use the CPU to perform encryption services
in synchronous mode (without loading the hardware device driver, and without
registering the asynchronous callback function), but due to a deployment
error, the Hisi hardware device driver was loaded into the system,
this wrong operation causes the encryption service to call the device
driver of the hisi hardware, but the hardware device driver executes the
asynchronous mode, so the callback interface is called after the service
is completed.
This leads to this system calltrace problem.

The purpose of this patch is to ensure that the device does not appear
calltrace in this abnormal situation.

> Cheers,
>

Thanks,
Longfang.