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 >