Message ID | 20230807203726.1682123-1-tom.zanussi@linux.intel.com (mailing list archive) |
---|---|
Headers | show |
Series | crypto: Add Intel Analytics Accelerator (IAA) crypto compression driver | expand |
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,
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