Messages in this thread | | | Date | Fri, 2 Dec 2022 10:54:05 -0800 | From | Kees Cook <> | Subject | Re: [PATCH v2] crypto/caam: Avoid GCC constprop bug warning |
| |
On Fri, Dec 02, 2022 at 01:05:16PM +0800, Herbert Xu wrote: > On Thu, Dec 01, 2022 at 07:30:22PM -0800, Kees Cook wrote: > > > > Getting rid of the if doesn't solve the warning. I can switch it to just > > "if (data)", though. That keeps GCC happy. > > OK I misread the thread. > > Anyhow, it appears that this warning only occurs due to a debug > printk in caam. So how about something like this?
What? I don't think that's true? I think CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG only controls "PRINT_POS", which is unrelated?
The call path is:
drivers/crypto/caam/key_gen.c: gen_split_key() append_fifo_load_as_imm(..., NULL, ...) <- literal NULL append_cmd_data(..., data, ...) memcpy(..., data, ...)
and doesn't seem affected at all by CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG.
-Kees
> > diff --git a/drivers/crypto/caam/desc_constr.h b/drivers/crypto/caam/desc_constr.h > index 62ce6421bb3f..b49c995e1cc6 100644 > --- a/drivers/crypto/caam/desc_constr.h > +++ b/drivers/crypto/caam/desc_constr.h > @@ -163,7 +163,7 @@ static inline void append_data(u32 * const desc, const void *data, int len) > { > u32 *offset = desc_end(desc); > > - if (len) /* avoid sparse warning: memcpy with byte count of 0 */ > + if (!IS_ENABLED(CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG) || data) > memcpy(offset, data, len); > > (*desc) = cpu_to_caam32(caam32_to_cpu(*desc) +
-- Kees Cook
| |