Re: [PATCH v9 00/14] crypto: Add Intel Analytics Accelerator (IAA) crypto compression driver

From: Tom Zanussi
Date: Fri Aug 18 2023 - 15:58:36 EST


Hi Herbert,

On Fri, 2023-08-18 at 16:58 +0800, Herbert Xu wrote:
> On Mon, Aug 07, 2023 at 03:37:12PM -0500, Tom Zanussi wrote:
> > Hi, this is v9 of the IAA crypto driver, incorporating feedback from
> > v8.
> >
> > v9 changes:
> >
> >   - Renamed drv_enable/disable_wq() to idxd_drv_enable/disable_wq()
> >     and exported it, changing all existing callers as well as the
> >     iaa_crypto driver.
> >
> >   - While testing, ran into a use-after-free bug in the irq support
> >     flagged by KASAN so fixed that up in iaa_compress() (added missing
> >     disable_async check).
> >
> >   - Also, while fixing the use-after-free bug, rearranged the out:
> >     part of iaa_desc_complete() to make it cleaner.
> >
> >   - Also for the verify cases, reversed the dma mapping by adding and
> >     calling a new iaa_remap_for_verify() function, since verify
> >     basically does a decompress after reversing the src and dst
> >     buffers.
> >
> >   - Added new Acked-by and Reviewed-by tags.
>
> This adds a bunch of warnings for me:
>
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:2090:5: warning: no previous prototype for ‘wq_stats_show’ [-Wmissing-prototypes]
>  2090 | int wq_stats_show(struct seq_file *m, void *v)
>       |     ^~~~~~~~~~~~~
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:2106:5: warning: no previous prototype for ‘iaa_crypto_stats_reset’ [-Wmissing-prototypes]
>  2106 | int iaa_crypto_stats_reset(void *data, u64 value)
>       |     ^~~~~~~~~~~~~~~~~~~~~~
>
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:827:38: warning: incorrect type in argument 1 (different base types)
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:827:38:    expected unsigned long [usertype] size
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:827:38:    got restricted gfp_t
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:827:58: warning: incorrect type in argument 2 (different base types)
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:827:58:    expected restricted gfp_t [usertype] flags
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:827:58:    got unsigned long
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:2090:5: warning: symbol 'wq_stats_show' was not declared. Should it be static?
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:2106:5: warning: symbol 'iaa_crypto_stats_reset' was not declared. Should it be static?
> ../drivers/crypto/intel/iaa/iaa_crypto_main.c:2028:13: warning: context imbalance in 'iaa_crypto_remove' - different lock contexts for basic block
>
> ../drivers/crypto/intel/iaa/iaa_crypto_comp_fixed.c:10:11: warning: symbol 'fixed_ll_sym' was not declared. Should it be static?
> ../drivers/crypto/intel/iaa/iaa_crypto_comp_fixed.c:49:11: warning: symbol 'fixed_d_sym' was not declared. Should it be static?
>
> Please fix before resubmitting.
>
> Thanks,

OK, yeah, looks like I needed to do a make W=1 C=1 at least to catch these.
Will resubmit after doing that...

Thanks,

Tom