Hi Philippe, On 2026-03-31T10:00:34, Philippe Reynes <[email protected]> wrote: > diff --git a/boot/image-pre-load.c b/boot/image-pre-load.c > @@ -70,6 +70,18 @@ static int image_pre_load_sig_setup(struct image_sig_info > *info) > +static int is_ecdsa(const void *algo_name) > +{ > + struct crypto_algo *crypto = image_get_crypto_algo(algo_name); > + int ret = 0; > + > + if (crypto && !strncmp(crypto->name, "ecdsa", strlen("ecdsa"))) > + return 1; > + > + return ret; > +}
This function is called three times in image_pre_load_sig_setup(), calling image_get_crypto_algo() each time. Coudl we call image_get_crypto_algo() once early in image_pre_load_sig_setup() and then check crypto->name directly in the conditional blocks? This also avoids looking up the algorithm repeatedly. Also, the return value pattern is a bit awkward - you initialise ret to 0 but never use it since you return 1 directly. Please can you simplify to just return the strncmp result (using !! to get 0/1), or use a simpler pattern like: if (crypto && !strncmp(crypto->name, "ecdsa", 5)) return 1; return 0; Regards, Simon

