diff options
author | Thomas Bertschinger <tahbertschinger@gmail.com> | 2024-01-15 23:41:02 -0700 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-01-16 01:47:05 -0500 |
commit | f5baaf48e3e82b1caf9f5cd1207d4d6feba3a2e5 (patch) | |
tree | 59f7b0e4667df7a9d3d5a45725f2aaab3e79b4c5 /linux/crypto/poly1305_generic.c | |
parent | fb35dbfdc5a9446fbb856dae5542b23963e28b89 (diff) |
move Rust sources to top level, C sources into c_src
This moves the Rust sources out of rust_src/ and into the top level.
Running the bcachefs executable out of the development tree is now:
$ ./target/release/bcachefs command
or
$ cargo run --profile release -- command
instead of "./bcachefs command".
Building and installing is still:
$ make && make install
Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'linux/crypto/poly1305_generic.c')
-rw-r--r-- | linux/crypto/poly1305_generic.c | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/linux/crypto/poly1305_generic.c b/linux/crypto/poly1305_generic.c deleted file mode 100644 index acb554c0..00000000 --- a/linux/crypto/poly1305_generic.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Poly1305 authenticator algorithm, RFC7539 - * - * Copyright (C) 2015 Martin Willi - * - * Based on public domain code by Andrew Moon and Daniel J. Bernstein. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - */ - -#include <linux/byteorder.h> -#include <linux/errno.h> -#include <linux/kernel.h> -#include <asm/unaligned.h> - -#include <linux/crypto.h> -#include <crypto/algapi.h> -#include <crypto/hash.h> -#include <crypto/poly1305.h> - -static struct shash_alg poly1305_alg; - -struct poly1305_desc_ctx { - bool key_done; - crypto_onetimeauth_poly1305_state s; -}; - -static int poly1305_init(struct shash_desc *desc) -{ - struct poly1305_desc_ctx *state = (void *) desc->ctx; - - state->key_done = false; - return 0; -} - -static int poly1305_update(struct shash_desc *desc, - const u8 *src, unsigned len) -{ - struct poly1305_desc_ctx *state = (void *) desc->ctx; - - if (!state->key_done) { - BUG_ON(len != crypto_onetimeauth_poly1305_KEYBYTES); - - state->key_done = true; - return crypto_onetimeauth_poly1305_init(&state->s, src); - } - - return crypto_onetimeauth_poly1305_update(&state->s, src, len); -} - -static int poly1305_final(struct shash_desc *desc, u8 *out) -{ - struct poly1305_desc_ctx *state = (void *) desc->ctx; - - return crypto_onetimeauth_poly1305_final(&state->s, out); -} - -static void *poly1305_alloc_tfm(void) -{ - struct crypto_shash *tfm = kzalloc(sizeof(*tfm), GFP_KERNEL); - - if (!tfm) - return NULL; - - tfm->base.alg = &poly1305_alg.base; - tfm->descsize = sizeof(struct poly1305_desc_ctx); - return tfm; -} - -static struct shash_alg poly1305_alg = { - .digestsize = crypto_onetimeauth_poly1305_BYTES, - .init = poly1305_init, - .update = poly1305_update, - .final = poly1305_final, - .descsize = sizeof(struct poly1305_desc_ctx), - - .base.cra_name = "poly1305", - .base.alloc_tfm = poly1305_alloc_tfm, -}; - -__attribute__((constructor(110))) -static int poly1305_mod_init(void) -{ - return crypto_register_shash(&poly1305_alg); -} |