Release 4.11 crypto/proc.c
/*
* Scatterlist Cryptographic API.
*
* Procfs information.
*
* Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
* Copyright (c) 2005 Herbert Xu <herbert@gondor.apana.org.au>
*
* 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/atomic.h>
#include <linux/init.h>
#include <linux/crypto.h>
#include <linux/module.h> /* for module_name() */
#include <linux/rwsem.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include "internal.h"
static void *c_start(struct seq_file *m, loff_t *pos)
{
down_read(&crypto_alg_sem);
return seq_list_start(&crypto_alg_list, *pos);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
James Morris | 27 | 84.38% | 1 | 50.00% |
Pavel Emelyanov | 5 | 15.62% | 1 | 50.00% |
Total | 32 | 100.00% | 2 | 100.00% |
static void *c_next(struct seq_file *m, void *p, loff_t *pos)
{
return seq_list_next(p, &crypto_alg_list, pos);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
James Morris | 26 | 83.87% | 1 | 50.00% |
Pavel Emelyanov | 5 | 16.13% | 1 | 50.00% |
Total | 31 | 100.00% | 2 | 100.00% |
static void c_stop(struct seq_file *m, void *p)
{
up_read(&crypto_alg_sem);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
James Morris | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
static int c_show(struct seq_file *m, void *p)
{
struct crypto_alg *alg = list_entry(p, struct crypto_alg, cra_list);
seq_printf(m, "name : %s\n", alg->cra_name);
seq_printf(m, "driver : %s\n", alg->cra_driver_name);
seq_printf(m, "module : %s\n", module_name(alg->cra_module));
seq_printf(m, "priority : %d\n", alg->cra_priority);
seq_printf(m, "refcnt : %d\n", atomic_read(&alg->cra_refcnt));
seq_printf(m, "selftest : %s\n",
(alg->cra_flags & CRYPTO_ALG_TESTED) ?
"passed" : "unknown");
seq_printf(m, "internal : %s\n",
(alg->cra_flags & CRYPTO_ALG_INTERNAL) ?
"yes" : "no");
if (alg->cra_flags & CRYPTO_ALG_LARVAL) {
seq_printf(m, "type : larval\n");
seq_printf(m, "flags : 0x%x\n", alg->cra_flags);
goto out;
}
if (alg->cra_type && alg->cra_type->show) {
alg->cra_type->show(m, alg);
goto out;
}
switch (alg->cra_flags & (CRYPTO_ALG_TYPE_MASK | CRYPTO_ALG_LARVAL)) {
case CRYPTO_ALG_TYPE_CIPHER:
seq_printf(m, "type : cipher\n");
seq_printf(m, "blocksize : %u\n", alg->cra_blocksize);
seq_printf(m, "min keysize : %u\n",
alg->cra_cipher.cia_min_keysize);
seq_printf(m, "max keysize : %u\n",
alg->cra_cipher.cia_max_keysize);
break;
case CRYPTO_ALG_TYPE_COMPRESS:
seq_printf(m, "type : compression\n");
break;
default:
seq_printf(m, "type : unknown\n");
break;
}
out:
seq_putc(m, '\n');
return 0;
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Herbert Xu | 121 | 42.76% | 5 | 50.00% |
James Morris | 110 | 38.87% | 2 | 20.00% |
Erlend Aasland | 26 | 9.19% | 1 | 10.00% |
Stephan Mueller | 19 | 6.71% | 1 | 10.00% |
Pavel Emelyanov | 7 | 2.47% | 1 | 10.00% |
Total | 283 | 100.00% | 10 | 100.00% |
static const struct seq_operations crypto_seq_ops = {
.start = c_start,
.next = c_next,
.stop = c_stop,
.show = c_show
};
static int crypto_info_open(struct inode *inode, struct file *file)
{
return seq_open(file, &crypto_seq_ops);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
James Morris | 25 | 100.00% | 1 | 100.00% |
Total | 25 | 100.00% | 1 | 100.00% |
static const struct file_operations proc_crypto_ops = {
.open = crypto_info_open,
.read = seq_read,
.llseek = seq_lseek,
.release = seq_release
};
void __init crypto_init_proc(void)
{
proc_create("crypto", 0, NULL, &proc_crypto_ops);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
James Morris | 17 | 85.00% | 1 | 50.00% |
Alexey Dobriyan | 3 | 15.00% | 1 | 50.00% |
Total | 20 | 100.00% | 2 | 100.00% |
void __exit crypto_exit_proc(void)
{
remove_proc_entry("crypto", NULL);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Herbert Xu | 15 | 100.00% | 1 | 100.00% |
Total | 15 | 100.00% | 1 | 100.00% |
Overall Contributors
Person | Tokens | Prop | Commits | CommitProp |
James Morris | 298 | 58.55% | 2 | 12.50% |
Herbert Xu | 139 | 27.31% | 6 | 37.50% |
Erlend Aasland | 26 | 5.11% | 1 | 6.25% |
Stephan Mueller | 19 | 3.73% | 1 | 6.25% |
Pavel Emelyanov | 17 | 3.34% | 1 | 6.25% |
Paul Gortmaker | 4 | 0.79% | 1 | 6.25% |
Alexey Dobriyan | 3 | 0.59% | 1 | 6.25% |
Arjan van de Ven | 1 | 0.20% | 1 | 6.25% |
Jan Engelhardt | 1 | 0.20% | 1 | 6.25% |
Arun Sharma | 1 | 0.20% | 1 | 6.25% |
Total | 509 | 100.00% | 16 | 100.00% |
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.