Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1632865
| From | Stefan Berger <stefanb@linux.vnet.ibm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 1/3] tpm: vtpm_proxy: Add ioctl to get supported flags |
| Date | 2017-04-28 15:10 +0200 |
| Message-ID | <tBdOO-7J4-25@gated-at.bofh.it> (permalink) |
| References | <tBdON-7J4-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Add an ioctl to get the supported flags.
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
---
drivers/char/tpm/tpm_vtpm_proxy.c | 29 +++++++++++++++++++++++++++++
include/uapi/linux/vtpm_proxy.h | 11 +++++++++++
2 files changed, 40 insertions(+)
diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
index 751059d..fb4d207 100644
--- a/drivers/char/tpm/tpm_vtpm_proxy.c
+++ b/drivers/char/tpm/tpm_vtpm_proxy.c
@@ -592,6 +592,33 @@ static long vtpmx_ioc_new_dev(struct file *file, unsigned int ioctl,
return 0;
}
+/**
+ * vtpmx_ioc_get_supt_flags - handler for the %VTPM_PROXY_IOC_GET_SUPT_FLAGS
+ * ioctl
+ * @file: /dev/vtpmx
+ * @ioctl: the ioctl number
+ * @arg: pointer to the struct vtpmx_proxy_get_supt_flags
+ *
+ * Return the bitfield of supported flags
+ */
+static long vtpmx_ioc_get_supt_flags(struct file *file, unsigned int ioctl,
+ unsigned long arg)
+{
+ void __user *argp = (void __user *)arg;
+ struct vtpm_proxy_supt_flags __user *vtpm_supt_flags_p = argp;
+ struct vtpm_proxy_supt_flags flags = {
+ .flags = VTPM_PROXY_FLAGS_ALL,
+ };
+
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
+ if (copy_to_user(vtpm_supt_flags_p, &flags, sizeof(flags)))
+ return -EFAULT;
+
+ return 0;
+}
+
/*
* vtpmx_fops_ioctl: ioctl on /dev/vtpmx
*
@@ -604,6 +631,8 @@ static long vtpmx_fops_ioctl(struct file *f, unsigned int ioctl,
switch (ioctl) {
case VTPM_PROXY_IOC_NEW_DEV:
return vtpmx_ioc_new_dev(f, ioctl, arg);
+ case VTPM_PROXY_IOC_GET_SUPT_FLAGS:
+ return vtpmx_ioc_get_supt_flags(f, ioctl, arg);
default:
return -ENOIOCTLCMD;
}
diff --git a/include/uapi/linux/vtpm_proxy.h b/include/uapi/linux/vtpm_proxy.h
index a69e991..83e64e7 100644
--- a/include/uapi/linux/vtpm_proxy.h
+++ b/include/uapi/linux/vtpm_proxy.h
@@ -44,6 +44,17 @@ struct vtpm_proxy_new_dev {
__u32 minor; /* output */
};
+/**
+ * struct vtpm_proxy_supt_flags - parameter structure for the
+ * %VTPM_PROXY_IOC_GET_SUPT_FLAGS ioctl
+ * @flags: flags supported by the vtpm proxy driver
+ */
+struct vtpm_proxy_supt_flags {
+ __u32 flags; /* output */
+};
+
#define VTPM_PROXY_IOC_NEW_DEV _IOWR(0xa1, 0x00, struct vtpm_proxy_new_dev)
+#define VTPM_PROXY_IOC_GET_SUPT_FLAGS \
+ _IOR(0xa1, 0x01, struct vtpm_proxy_supt_flags)
#endif /* _UAPI_LINUX_VTPM_PROXY_H */
--
2.4.3
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 0/3] Extend the vTPM proxy driver to pass locality to emulator Stefan Berger <stefanb@linux.vnet.ibm.com> - 2017-04-28 15:10 +0200
[PATCH v2 2/3] tpm: vtpm_proxy: Implement request_locality Stefan Berger <stefanb@linux.vnet.ibm.com> - 2017-04-28 15:10 +0200
[PATCH v2 1/3] tpm: vtpm_proxy: Add ioctl to get supported flags Stefan Berger <stefanb@linux.vnet.ibm.com> - 2017-04-28 15:10 +0200
Re: [PATCH v2 1/3] tpm: vtpm_proxy: Add ioctl to get supported flags Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2017-05-04 00:40 +0200
Re: [PATCH v2 0/3] Extend the vTPM proxy driver to pass locality to emulator Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2017-04-29 14:00 +0200
Re: [PATCH v2 0/3] Extend the vTPM proxy driver to pass locality to emulator Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2017-05-04 00:40 +0200
Re: [PATCH v2 0/3] Extend the vTPM proxy driver to pass locality to emulator Stefan Berger <stefanb@linux.vnet.ibm.com> - 2017-05-04 01:50 +0200
Re: [PATCH v2 0/3] Extend the vTPM proxy driver to pass locality to emulator Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2017-05-04 11:20 +0200
csiph-web