summaryrefslogtreecommitdiffstats
path: root/crypto/af_alg.c
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-11-13 06:34:43 +0100
committerMiloslav Trmač <mitr@redhat.com>2010-11-30 14:35:42 +0100
commit5eccbc32899a5e083700fc0ee4574a4a3f86d6ff (patch)
tree4949289bb7b5926e7053fdf0d27f829577b0e9ec /crypto/af_alg.c
parent1bc0a1995676135832764fe7447d46437d44cbf5 (diff)
downloadkernel-crypto-audit.tar.gz
kernel-crypto-audit.tar.xz
kernel-crypto-audit.zip
Audit type-specific crypto operationsaudit
Diffstat (limited to 'crypto/af_alg.c')
-rw-r--r--crypto/af_alg.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/crypto/af_alg.c b/crypto/af_alg.c
index fc1b0f70ce5..450d51abe84 100644
--- a/crypto/af_alg.c
+++ b/crypto/af_alg.c
@@ -542,6 +542,20 @@ void af_alg_complete(struct crypto_async_request *req, int err)
}
EXPORT_SYMBOL_GPL(af_alg_complete);
+#ifdef CONFIG_AUDIT
+int af_alg_audit_crypto_op(struct sock *sk, const char *operation, int ctx2)
+{
+ struct alg_sock *ask = alg_sk(sk);
+ struct alg_sock *parent_ask = alg_sk(ask->parent);
+ const char *alg_name;
+
+ alg_name = parent_ask->type->alg_name(parent_ask->private);
+ return audit_log_crypto_op(AUDIT_CRYPTO_OP_CTX_OP, parent_ask->id,
+ ask->id, ctx2, alg_name, operation);
+}
+EXPORT_SYMBOL_GPL(af_alg_audit_crypto_op);
+#endif
+
static int __init af_alg_init(void)
{
int err = proto_register(&alg_proto, 0);