cregit-Linux how code gets into the kernel

Release 4.11 fs/btrfs/hash.c

Directory: fs/btrfs
/*
 * Copyright (C) 2014 Filipe David Borba Manana <fdmanana@gmail.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public
 * License v2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 */

#include <crypto/hash.h>
#include <linux/err.h>
#include "hash.h"


static struct crypto_shash *tfm;


int __init btrfs_hash_init(void) { tfm = crypto_alloc_shash("crc32c", 0, 0); return PTR_ERR_OR_ZERO(tfm); }

Contributors

PersonTokensPropCommitsCommitProp
Filipe David Borba Manana2496.00%150.00%
Fabian Frederick14.00%150.00%
Total25100.00%2100.00%


const char* btrfs_crc32c_impl(void) { return crypto_tfm_alg_driver_name(crypto_shash_tfm(tfm)); }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Mahoney18100.00%1100.00%
Total18100.00%1100.00%


void btrfs_hash_exit(void) { crypto_free_shash(tfm); }

Contributors

PersonTokensPropCommitsCommitProp
Filipe David Borba Manana12100.00%1100.00%
Total12100.00%1100.00%


u32 btrfs_crc32c(u32 crc, const void *address, unsigned int length) { SHASH_DESC_ON_STACK(shash, tfm); u32 *ctx = (u32 *)shash_desc_ctx(shash); int err; shash->tfm = tfm; shash->flags = 0; *ctx = crc; err = crypto_shash_update(shash, address, length); BUG_ON(err); return *ctx; }

Contributors

PersonTokensPropCommitsCommitProp
Filipe David Borba Manana6077.92%150.00%
Vinícius Tinti1722.08%150.00%
Total77100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Filipe David Borba Manana11275.68%125.00%
Jeff Mahoney1812.16%125.00%
Vinícius Tinti1711.49%125.00%
Fabian Frederick10.68%125.00%
Total148100.00%4100.00%
Directory: fs/btrfs
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.