• Arnd Bergmann's avatar
    crypto: caam - pass key buffers with typesafe pointers · 9c0bc511
    Arnd Bergmann authored
    The 'key' field is defined as a 'u64' and used for two different
    pieces of information: either to store a pointer or a dma_addr_t.
    The former leads to a build error on 32-bit machines:
    
    drivers/crypto/caam/caamalg_desc.c: In function 'cnstr_shdsc_aead_null_encap':
    drivers/crypto/caam/caamalg_desc.c:67:27: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
    drivers/crypto/caam/caamalg_desc.c: In function 'cnstr_shdsc_aead_null_decap':
    drivers/crypto/caam/caamalg_desc.c:143:27: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
    
    Using a union to provide correct types gets rid of the warnings
    and as well as a couple of redundant casts.
    
    Fixes: db57656b ("crypto: caam - group algorithm related params")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    9c0bc511
caamalg.c 94.8 KB