Re: [PATCH] crypto: chacha - constify ctx and iv arguments

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 3 Jun 2019 at 07:47, Eric Biggers <ebiggers@xxxxxxxxxx> wrote:
>
> From: Eric Biggers <ebiggers@xxxxxxxxxx>
>
> Constify the ctx and iv arguments to crypto_chacha_init() and the
> various chacha*_stream_xor() functions.  This makes it clear that they
> are not modified.
>
> Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx>

Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>

> ---
>  arch/arm/crypto/chacha-neon-glue.c   | 2 +-
>  arch/arm64/crypto/chacha-neon-glue.c | 2 +-
>  arch/x86/crypto/chacha_glue.c        | 2 +-
>  crypto/chacha_generic.c              | 4 ++--
>  include/crypto/chacha.h              | 2 +-
>  5 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/crypto/chacha-neon-glue.c b/arch/arm/crypto/chacha-neon-glue.c
> index 48a89537b8283..a8e9b534c8da5 100644
> --- a/arch/arm/crypto/chacha-neon-glue.c
> +++ b/arch/arm/crypto/chacha-neon-glue.c
> @@ -63,7 +63,7 @@ static void chacha_doneon(u32 *state, u8 *dst, const u8 *src,
>  }
>
>  static int chacha_neon_stream_xor(struct skcipher_request *req,
> -                                 struct chacha_ctx *ctx, u8 *iv)
> +                                 const struct chacha_ctx *ctx, const u8 *iv)
>  {
>         struct skcipher_walk walk;
>         u32 state[16];
> diff --git a/arch/arm64/crypto/chacha-neon-glue.c b/arch/arm64/crypto/chacha-neon-glue.c
> index 82029cda2e77a..1495d2b18518d 100644
> --- a/arch/arm64/crypto/chacha-neon-glue.c
> +++ b/arch/arm64/crypto/chacha-neon-glue.c
> @@ -60,7 +60,7 @@ static void chacha_doneon(u32 *state, u8 *dst, const u8 *src,
>  }
>
>  static int chacha_neon_stream_xor(struct skcipher_request *req,
> -                                 struct chacha_ctx *ctx, u8 *iv)
> +                                 const struct chacha_ctx *ctx, const u8 *iv)
>  {
>         struct skcipher_walk walk;
>         u32 state[16];
> diff --git a/arch/x86/crypto/chacha_glue.c b/arch/x86/crypto/chacha_glue.c
> index 4967ad620775b..7276b7ef14ec4 100644
> --- a/arch/x86/crypto/chacha_glue.c
> +++ b/arch/x86/crypto/chacha_glue.c
> @@ -128,7 +128,7 @@ static void chacha_dosimd(u32 *state, u8 *dst, const u8 *src,
>  }
>
>  static int chacha_simd_stream_xor(struct skcipher_walk *walk,
> -                                 struct chacha_ctx *ctx, u8 *iv)
> +                                 const struct chacha_ctx *ctx, const u8 *iv)
>  {
>         u32 *state, state_buf[16 + 2] __aligned(8);
>         int next_yield = 4096; /* bytes until next FPU yield */
> diff --git a/crypto/chacha_generic.c b/crypto/chacha_generic.c
> index d2ec04997832e..d283bd3bdb607 100644
> --- a/crypto/chacha_generic.c
> +++ b/crypto/chacha_generic.c
> @@ -36,7 +36,7 @@ static void chacha_docrypt(u32 *state, u8 *dst, const u8 *src,
>  }
>
>  static int chacha_stream_xor(struct skcipher_request *req,
> -                            struct chacha_ctx *ctx, u8 *iv)
> +                            const struct chacha_ctx *ctx, const u8 *iv)
>  {
>         struct skcipher_walk walk;
>         u32 state[16];
> @@ -60,7 +60,7 @@ static int chacha_stream_xor(struct skcipher_request *req,
>         return err;
>  }
>
> -void crypto_chacha_init(u32 *state, struct chacha_ctx *ctx, u8 *iv)
> +void crypto_chacha_init(u32 *state, const struct chacha_ctx *ctx, const u8 *iv)
>  {
>         state[0]  = 0x61707865; /* "expa" */
>         state[1]  = 0x3320646e; /* "nd 3" */
> diff --git a/include/crypto/chacha.h b/include/crypto/chacha.h
> index 1fc70a69d5508..d1e723c6a37dd 100644
> --- a/include/crypto/chacha.h
> +++ b/include/crypto/chacha.h
> @@ -41,7 +41,7 @@ static inline void chacha20_block(u32 *state, u8 *stream)
>  }
>  void hchacha_block(const u32 *in, u32 *out, int nrounds);
>
> -void crypto_chacha_init(u32 *state, struct chacha_ctx *ctx, u8 *iv);
> +void crypto_chacha_init(u32 *state, const struct chacha_ctx *ctx, const u8 *iv);
>
>  int crypto_chacha20_setkey(struct crypto_skcipher *tfm, const u8 *key,
>                            unsigned int keysize);
> --
> 2.21.0
>



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux