lkml.org 
[lkml]   [2022]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] crypto/hisilicon: Add null judgment to the callback interface
From
Date
On 2022/11/10 16:53, Herbert Xu wrote:
> On Thu, Nov 10, 2022 at 12:11:15PM +0800, liulongfang wrote:
>>
>> When using crypto's skcipher series interfaces for encryption and decryption
>> services, User can use synchronous mode(by adjusting some skcipher interfaces,
>> here is to remove skcipher_request_set_callback()) or asynchronous mode,
>> but when using synchronous mode and the current asynchronous mode is loaded
>> it will cause a calltrace.
>>
>> The current problem is that the interface of skcipher does not restrict users
>> to call functions in this way for encryption services.
>>
>> If the current driver doesn't handle this, there is a possibility that some users
>> deliberately create this kind of problem to cause the kernel to crash.
>
> It sounds like your code is misusing the skcipher API. By default
> skcipher is always async. You must always set a callback.
>
> The only way to legally use skcipher without setting a callback
> is by allocating it with crypto_alloc_sync_skcipher. In which case

OK! I found in Documentation/crypto/architecture.rst the description
that async mode must provide a callback function.

However, what is confusing is that this document does not describe
the synchronization mode so clearly.

> unless your driver incorrectly declares itself as sync instead of
> async, then it will never be used by such a user.
>
> Cheers,
>
Thanks,
Longfang.

\
 
 \ /
  Last update: 2022-11-12 02:52    [W:0.082 / U:2.416 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site