summaryrefslogtreecommitdiffstats
path: root/ncr.c
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-08-16 14:30:45 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-08-24 23:09:33 +0200
commitaf980a4453d1d36486c5d75c49d389b0cc7e2c79 (patch)
treea0fa05935094757d33c794cc3dcf8d59f63a10ab /ncr.c
parent827e65e77c32da30ce675e8e7c05de73d9aeab5a (diff)
downloadkernel-crypto-af980a4453d1d36486c5d75c49d389b0cc7e2c79.tar.gz
kernel-crypto-af980a4453d1d36486c5d75c49d389b0cc7e2c79.tar.xz
kernel-crypto-af980a4453d1d36486c5d75c49d389b0cc7e2c79.zip
Convert *_KEY_IMPORT
Diffstat (limited to 'ncr.c')
-rw-r--r--ncr.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/ncr.c b/ncr.c
index bc19e248bf8..2244253aebb 100644
--- a/ncr.c
+++ b/ncr.c
@@ -167,10 +167,9 @@ ncr_ioctl(struct ncr_lists *lst, unsigned int cmd, unsigned long arg_)
break;
}
CASE_NO_OUTPUT(NCRIO_KEY_EXPORT, ncr_key_export, ncr_key_export);
+ CASE_NO_OUTPUT(NCRIO_KEY_IMPORT, ncr_key_import, ncr_key_import);
case NCRIO_KEY_DEINIT:
return ncr_key_deinit(lst, arg);
- case NCRIO_KEY_IMPORT:
- return ncr_key_import(lst, arg);
case NCRIO_KEY_WRAP:
return ncr_key_wrap(lst, arg);
case NCRIO_KEY_UNWRAP:
@@ -216,6 +215,23 @@ static void convert_ncr_key_export(struct ncr_key_export *new,
new->buffer_size = old->buffer_size;
}
+struct compat_ncr_key_import {
+ __u32 input_size, output_size;
+ ncr_key_t key;
+ compat_uptr_t data;
+ __u32 data_size;
+ __NL_ATTRIBUTES;
+};
+#define COMPAT_NCRIO_KEY_IMPORT _IOWR('c', 210, struct compat_ncr_key_import)
+
+static void convert_ncr_key_import(struct ncr_key_import *new,
+ const struct compat_ncr_key_import *old)
+{
+ new->key = old->key;
+ new->data = compat_ptr(old->data);
+ new->data_size = old->data_size;
+}
+
long
ncr_compat_ioctl(struct ncr_lists *lst, unsigned int cmd, unsigned long arg_)
{
@@ -251,6 +267,7 @@ ncr_compat_ioctl(struct ncr_lists *lst, unsigned int cmd, unsigned long arg_)
}
CASE_NO_OUTPUT(COMPAT_NCRIO_KEY_EXPORT, ncr_key_export, ncr_key_export);
+ CASE_NO_OUTPUT(COMPAT_NCRIO_KEY_IMPORT, ncr_key_import, ncr_key_import);
default:
return -EINVAL;
#undef CASE_NO_OUTPUT