[PATCH] lib/rsa: avoid -Wdiscarded-qualifiers
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Mon Jan 10 17:52:30 CET 2022
On 1/10/22 17:48, Simon Glass wrote:
> Hi,
>
> On Mon, 10 Jan 2022 at 08:00, Alex G. <mr.nuke.me at gmail.com> wrote:
>>
>>
>>
>> On 1/9/22 8:39 AM, Heinrich Schuchardt wrote:
>>> The return type of EVP_PKEY_get0_RSA() is const struct rsa_st *.
>>> Our code drops the const qualifier leading to
>>>
>>> In file included from tools/lib/rsa/rsa-sign.c:1:
>>> ./tools/../lib/rsa/rsa-sign.c: In function ‘rsa_add_verify_data’:
>>> ./tools/../lib/rsa/rsa-sign.c:631:13: warning:
>>> assignment discards ‘const’ qualifier from pointer target type
>>> [-Wdiscarded-qualifiers]
>>> 631 | rsa = EVP_PKEY_get0_RSA(pkey);
>>> | ^
>>>
>>> Add a type conversion.
>>>
>>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>>> ---
>>> lib/rsa/rsa-sign.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/lib/rsa/rsa-sign.c b/lib/rsa/rsa-sign.c
>>> index 44f21416ce..3b6e5f0f86 100644
>>> --- a/lib/rsa/rsa-sign.c
>>> +++ b/lib/rsa/rsa-sign.c
>>> @@ -628,7 +628,7 @@ int rsa_add_verify_data(struct image_sign_info *info, void *keydest)
>>> if (ret)
>>> goto err_get_pub_key;
>>>
>>> - rsa = EVP_PKEY_get0_RSA(pkey);
>>> + rsa = (RSA *)EVP_PKEY_get0_RSA(pkey);
>>
>> I think it's the wrong path to discard const qualifiers, whether
>> unwillingly or by type punning. I suggest making 'rsa' a "const RSA *"
>> and fixing the downstream users to do the same.
>
> It looks like just a case of changing some function signatures in that
> file. Heinrich, what do you think?
Alex' suggestion is fine. I just did not want to create a lot of changes
on release day.
Best regards
Heinrich
>
> Regards,
> SImon
>
>
>
>>
>> Alex
>>
>>> ret = rsa_get_params(rsa, &exponent, &n0_inv, &modulus, &r_squared);
>>> if (ret)
>>> goto err_get_params;
>>>
More information about the U-Boot
mailing list