diff mbox series

KEYS: include header for EINVAL definition

Message ID 20240107132842.4024084-1-clayc@hpe.com (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series KEYS: include header for EINVAL definition | expand

Commit Message

Clay Chang Jan. 7, 2024, 1:28 p.m. UTC
From: Clay Chang <clayc@hpe.com>

This patch includes linux/errno.h to address the issue of 'EINVAL' being
undeclared.

Signed-off-by: Clay Chang <clayc@hpe.com>
---
 include/crypto/public_key.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Jarkko Sakkinen Jan. 8, 2024, 2:24 p.m. UTC | #1
On Sun Jan 7, 2024 at 3:28 PM EET,  wrote:
> From: Clay Chang <clayc@hpe.com>
>
> This patch includes linux/errno.h to address the issue of 'EINVAL' being
> undeclared.
>
> Signed-off-by: Clay Chang <clayc@hpe.com>
> ---
>  include/crypto/public_key.h | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/include/crypto/public_key.h b/include/crypto/public_key.h
> index 462f8a34cdf8..b7f308977c84 100644
> --- a/include/crypto/public_key.h
> +++ b/include/crypto/public_key.h
> @@ -10,6 +10,7 @@
>  #ifndef _LINUX_PUBLIC_KEY_H
>  #define _LINUX_PUBLIC_KEY_H
>  
> +#include <linux/errno.h>
>  #include <linux/keyctl.h>
>  #include <linux/oid_registry.h>
>  

Please provide evidence that issue exist (applies for any possible kernel issue).

BR, Jarkko
Clay Chang Jan. 9, 2024, 2:10 a.m. UTC | #2
Hi Jarkko,

The issue was found when crypto/public_key.h was included, but CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE was not enabled. If CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE was not enabled, the public_key_verify_signature simply returned -EINVAL, which was not declared without linux/errno.h being included.

Thanks,
Clay

On 2024/1/8 10:24 PM, Jarkko Sakkinen wrote:
> On Sun Jan 7, 2024 at 3:28 PM EET,  wrote:
>> From: Clay Chang <clayc@hpe.com>
>>
>> This patch includes linux/errno.h to address the issue of 'EINVAL' being
>> undeclared.
>>
>> Signed-off-by: Clay Chang <clayc@hpe.com>
>> ---
>>  include/crypto/public_key.h | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/include/crypto/public_key.h b/include/crypto/public_key.h
>> index 462f8a34cdf8..b7f308977c84 100644
>> --- a/include/crypto/public_key.h
>> +++ b/include/crypto/public_key.h
>> @@ -10,6 +10,7 @@
>>  #ifndef _LINUX_PUBLIC_KEY_H
>>  #define _LINUX_PUBLIC_KEY_H
>>  
>> +#include <linux/errno.h>
>>  #include <linux/keyctl.h>
>>  #include <linux/oid_registry.h>
>>  
> 
> Please provide evidence that issue exist (applies for any possible kernel issue).
> 
> BR, Jarkko
Jarkko Sakkinen Jan. 10, 2024, 7:54 p.m. UTC | #3
On Tue Jan 9, 2024 at 4:10 AM EET, Clay Chang wrote:
> Hi Jarkko,
>
> The issue was found when crypto/public_key.h was included, but
> CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE was not enabled. If
> CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE was not enabled, the
> public_key_verify_signature simply returned -EINVAL, which was not
> declared without linux/errno.h being included.
>
> Thanks,
> Clay

Do you have .config to verify this?

BR, Jarkko
Clay Chang Jan. 12, 2024, 5:59 a.m. UTC | #4
Hi Jarkko,

Yes, I have. I am working on an OpenBMC project and the kernel .config was generated by merging several config fragments. In one experiment where the CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE was not presented, I got a EINVAL undeclared compilation error.

Do you want me to show the full .config here?

Thanks,
Clay

On 2024/1/11 3:54 AM, Jarkko Sakkinen wrote:
> On Tue Jan 9, 2024 at 4:10 AM EET, Clay Chang wrote:
>> Hi Jarkko,
>>
>> The issue was found when crypto/public_key.h was included, but
>> CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE was not enabled. If
>> CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE was not enabled, the
>> public_key_verify_signature simply returned -EINVAL, which was not
>> declared without linux/errno.h being included.
>>
>> Thanks,
>> Clay
> 
> Do you have .config to verify this?
> 
> BR, Jarkko
Jarkko Sakkinen Jan. 13, 2024, 8:46 p.m. UTC | #5
On Fri Jan 12, 2024 at 7:59 AM EET, Clay Chang wrote:
> Hi Jarkko,
>
> Yes, I have. I am working on an OpenBMC project and the kernel .config was generated by merging several config fragments. In one experiment where the CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE was not presented, I got a EINVAL undeclared compilation error.
>
> Do you want me to show the full .config here?

Well the problem with the patch is that it does not *prove*
that there is issue.

So you evidence in the commit message that there is bug in
the first place and which config options cause it. And it
it must be testable with latest mainline (not by downstream
project).

BR, Jarkko
Herbert Xu Jan. 26, 2024, 8:59 a.m. UTC | #6
On Sun, Jan 07, 2024 at 09:28:42PM +0800, clayc@hpe.com wrote:
> From: Clay Chang <clayc@hpe.com>
> 
> This patch includes linux/errno.h to address the issue of 'EINVAL' being
> undeclared.
> 
> Signed-off-by: Clay Chang <clayc@hpe.com>
> ---
>  include/crypto/public_key.h | 1 +
>  1 file changed, 1 insertion(+)

Patch applied.  Thanks.
diff mbox series

Patch

diff --git a/include/crypto/public_key.h b/include/crypto/public_key.h
index 462f8a34cdf8..b7f308977c84 100644
--- a/include/crypto/public_key.h
+++ b/include/crypto/public_key.h
@@ -10,6 +10,7 @@ 
 #ifndef _LINUX_PUBLIC_KEY_H
 #define _LINUX_PUBLIC_KEY_H
 
+#include <linux/errno.h>
 #include <linux/keyctl.h>
 #include <linux/oid_registry.h>