diff options
author | Miloslav Trmač <mitr@redhat.com> | 2010-09-07 00:06:02 +0200 |
---|---|---|
committer | Miloslav Trmač <mitr@redhat.com> | 2010-09-07 00:06:02 +0200 |
commit | cf4244a8063ca5a0062f3f065574b61b4faddf59 (patch) | |
tree | 4f66b07f3e56787d4d44c0ba536259e94914e434 /crypto/userspace/cryptodev_main.c | |
parent | 361ac15b28aed748245f8fe7a8ea349f17d4fe86 (diff) | |
parent | 9cf934e1a057a8dc4f36a1ad8d2822fb116374dd (diff) | |
download | kernel-crypto-cf4244a8063ca5a0062f3f065574b61b4faddf59.tar.gz kernel-crypto-cf4244a8063ca5a0062f3f065574b61b4faddf59.tar.xz kernel-crypto-cf4244a8063ca5a0062f3f065574b61b4faddf59.zip |
Merge branch 'audit' into integration
Diffstat (limited to 'crypto/userspace/cryptodev_main.c')
-rw-r--r-- | crypto/userspace/cryptodev_main.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/crypto/userspace/cryptodev_main.c b/crypto/userspace/cryptodev_main.c index 0cbe3c4bdc3..89cd15b6287 100644 --- a/crypto/userspace/cryptodev_main.c +++ b/crypto/userspace/cryptodev_main.c @@ -31,6 +31,7 @@ * */ +#include <linux/audit.h> #include <linux/crypto.h> #include <linux/mm.h> #include <linux/highmem.h> @@ -102,13 +103,21 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write, static int cryptodev_open(struct inode *inode, struct file *filp) { - void *ncr; + struct ncr_lists *ncr; + int ret; ncr = ncr_init_lists(); if (ncr == NULL) { return -ENOMEM; } + ret = audit_log_crypto_op(AUDIT_CRYPTO_OP_CONTEXT_NEW, ncr->id, -1, + NULL, NULL, -1, NULL, 0, -1, NULL, 0); + if (ret < 0) { + ncr_deinit_lists(ncr); + return ret; + } + filp->private_data = ncr; return 0; } @@ -116,9 +125,11 @@ cryptodev_open(struct inode *inode, struct file *filp) static int cryptodev_release(struct inode *inode, struct file *filp) { - void *ncr = filp->private_data; + struct ncr_lists *ncr = filp->private_data; if (ncr) { + audit_log_crypto_op(AUDIT_CRYPTO_OP_CONTEXT_DEL, ncr->id, -1, + NULL, NULL, -1, NULL, 0, -1, NULL, 0); ncr_deinit_lists(ncr); filp->private_data = NULL; } |