*/
 void chacha_block_generic(struct chacha_state *state, u8 *stream, int nrounds)
 {
-       struct chacha_state permuted_state;
+       struct chacha_state permuted_state = *state;
        int i;
 
-       memcpy(permuted_state.x, state->x, 64);
-
        chacha_permute(&permuted_state, nrounds);
 
        for (i = 0; i < ARRAY_SIZE(state->x); i++)
 void hchacha_block_generic(const struct chacha_state *state,
                           u32 *stream, int nrounds)
 {
-       struct chacha_state permuted_state;
-
-       memcpy(permuted_state.x, state->x, 64);
+       struct chacha_state permuted_state = *state;
 
        chacha_permute(&permuted_state, nrounds);