lkml.org 
[lkml]   [2021]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] X.509: Fix crash caused by NULL pointer
From
Date


On 1/7/21 6:58 PM, David Howells wrote:
> Tianjia Zhang <tianjia.zhang@linux.alibaba.com> wrote:
>
>> On the following call path, `sig->pkey_algo` is not assigned
>> in asymmetric_key_verify_signature(), which causes runtime
>> crash in public_key_verify_signature().
>>
>> keyctl_pkey_verify
>> asymmetric_key_verify_signature
>> verify_signature
>> public_key_verify_signature
>>
>> This patch simply check this situation and fixes the crash
>> caused by NULL pointer.
>>
>> Fixes: 215525639631 ("X.509: support OSCCA SM2-with-SM3 certificate verification")
>> Cc: stable@vger.kernel.org # v5.10+
>> Reported-by: Tobias Markus <tobias@markus-regensburg.de>
>> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
>
> Looks reasonable:
>
> Acked-by: David Howells <dhowells@redhat.com>
>
> I wonder, though, if cert_sig_digest_update() should be obtained by some sort
> of function pointer. It doesn't really seem to belong in this file. But this
> is a separate issue.
>
> David
>

Yes, this is indeed the logic of the SM2 module. I have tried to
dynamically load and obtain the pointer of this function through
`request_module` before, but this method still does not seem very
suitable. Here are some unfinished codes I tried before:

https://github.com/uudiin/linux/commit/55bca48c6282415d94c53a7692622d544da99342

It would be great if you have some good experience to share with me, I
will continue to try to optimize this code.

Best regards,
Tianjia

\
 
 \ /
  Last update: 2021-01-13 04:04    [W:7.561 / U:0.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site