linux/drivers/crypto
Nathan Chancellor 30ca1af494 crypto: ccree - avoid implicit enum conversion
[ Upstream commit 18e732b803 ]

Clang warns when one enumerated type is implicitly converted to another
and this happens in several locations in this driver, ultimately related
to the set_cipher_{mode,config0} functions. set_cipher_mode expects a mode
of type drv_cipher_mode and set_cipher_config0 expects a mode of type
drv_crypto_direction.

drivers/crypto/ccree/cc_ivgen.c:58:35: warning: implicit conversion from
enumeration type 'enum cc_desc_direction' to different enumeration type
'enum drv_crypto_direction' [-Wenum-conversion]
        set_cipher_config0(&iv_seq[idx], DESC_DIRECTION_ENCRYPT_ENCRYPT);

drivers/crypto/ccree/cc_hash.c:99:28: warning: implicit conversion from
enumeration type 'enum cc_hash_conf_pad' to different enumeration type
'enum drv_crypto_direction' [-Wenum-conversion]
                set_cipher_config0(desc, HASH_DIGEST_RESULT_LITTLE_ENDIAN);

drivers/crypto/ccree/cc_aead.c:1643:30: warning: implicit conversion
from enumeration type 'enum drv_hash_hw_mode' to different enumeration
type 'enum drv_cipher_mode' [-Wenum-conversion]
        set_cipher_mode(&desc[idx], DRV_HASH_HW_GHASH);

Since this fundamentally isn't a problem because these values just
represent simple integers for a shift operation, make it clear to Clang
that this is okay by making the mode parameter in both functions an int.

Link: https://github.com/ClangBuiltLinux/linux/issues/46
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Acked-by: Gilad Ben-Yossef <gilad@benyossef.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-01 09:16:28 +01:00
..
amcc crypto: crypto4xx - fix a potential double free in ppc4xx_trng_probe 2019-07-26 09:14:20 +02:00
axis crypto: axis - fix for recursive locking from bottom half 2019-04-20 09:16:04 +02:00
bcm crypto: bcm - convert to use crypto_authenc_extractkeys() 2019-01-22 21:40:31 +01:00
caam crypto: caam - fix concurrency issue in givencrypt descriptor 2019-10-11 18:20:54 +02:00
cavium crypto: cavium/zip - Add missing single_release() 2019-10-11 18:20:53 +02:00
ccp crypto: ccp - Ignore unconfigured CCP device on suspend/resume 2019-09-06 10:22:21 +02:00
ccree crypto: ccree - avoid implicit enum conversion 2019-12-01 09:16:28 +01:00
chelsio net: use skb_queue_empty_lockless() in busy poll contexts 2019-11-10 11:27:49 +01:00
hisilicon crypto: hisilicon - Fix double free in sec_free_hw_sgl() 2019-10-07 18:57:16 +02:00
inside-secure crypto: inside-secure - do not rely on the hardware last bit for result descriptors 2019-07-26 09:14:04 +02:00
marvell crypto: remove redundant type flags from tfm allocation 2018-07-09 00:30:29 +08:00
mediatek headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
nx crypto/NX: Set receive window credits to max number of CRBs in RxFIFO 2019-07-21 09:03:16 +02:00
qat crypto: qat - Silence smp_processor_id() warning 2019-10-11 18:20:52 +02:00
qce Char/Misc driver patches for 4.19-rc1 2018-08-18 11:04:51 -07:00
rockchip crypto: rockchip - update IV buffer to contain the next IV 2019-05-22 07:37:37 +02:00
stm32 Char/Misc driver patches for 4.19-rc1 2018-08-18 11:04:51 -07:00
sunxi-ss crypto: sun4i-ss - Fix invalid calculation of hash end 2019-05-31 06:46:15 -07:00
ux500 crypto: ux500 - Use proper enum in hash_set_dma_transfer 2019-02-12 19:47:17 +01:00
virtio Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-08-15 16:01:47 -07:00
vmx crypto: vmx - ghash: do nosimd fallback manually 2019-06-04 08:02:34 +02:00
atmel-aes-regs.h
atmel-aes.c
atmel-authenc.h
atmel-ecc.c crypto: atmel-ecc - remove overly verbose dev_info 2018-06-22 23:03:08 +08:00
atmel-ecc.h
atmel-sha-regs.h
atmel-sha.c crypto: remove redundant type flags from tfm allocation 2018-07-09 00:30:29 +08:00
atmel-tdes-regs.h
atmel-tdes.c
exynos-rng.c
geode-aes.c
geode-aes.h
hifn_795x.c
img-hash.c
ixp4xx_crypto.c
Kconfig crypto: bcm - convert to use crypto_authenc_extractkeys() 2019-01-22 21:40:31 +01:00
Makefile crypto: hisilicon - SEC security accelerator driver 2018-08-03 18:06:02 +08:00
mxc-scc.c
mxs-dcp.c crypto: mxs-dcp - Fix AES issues 2019-11-24 08:20:31 +01:00
n2_asm.S
n2_core.c crypto: ahash - remove useless setting of type flags 2018-07-09 00:30:25 +08:00
n2_core.h
omap-aes-gcm.c
omap-aes.c
omap-aes.h
omap-crypto.c
omap-crypto.h
omap-des.c
omap-sham.c crypto: ahash - remove useless setting of type flags 2018-07-09 00:30:25 +08:00
padlock-aes.c crypto: padlock-aes - Fix Nano workaround data corruption 2018-07-20 13:47:42 +08:00
padlock-sha.c crypto: shash - remove useless setting of type flags 2018-07-09 00:30:24 +08:00
picoxcell_crypto_regs.h
picoxcell_crypto.c
qcom-rng.c crypto: qcom-rng - Add ACPI support 2018-07-27 19:04:32 +08:00
s5p-sss.c crypto: s5p-sss: Fix Fix argument list alignment 2019-11-20 18:47:43 +01:00
sahara.c crypto: sharah - Unregister correct algorithms for SAHARA 3 2018-07-20 13:51:22 +08:00
talitos.c crypto: talitos - fix missing break in switch statement 2019-10-01 08:26:02 +02:00
talitos.h crypto: talitos - move struct talitos_edesc into talitos.h 2019-07-21 09:03:15 +02:00