* [PATCH 0/3] Extend the vTPM proxy driver to pass locality to emulator
@ 2017-04-17 15:19 Stefan Berger
2017-04-17 15:19 ` [PATCH 1/3] tpm: vtpm_proxy: Add ioctl to get supported flags Stefan Berger
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Stefan Berger @ 2017-04-17 15:19 UTC (permalink / raw)
To: tpmdd-devel, linux-security-module; +Cc: jgunthorpe, Stefan Berger
The purpose of this series of patches is to enable the passing of the locality
a command is executing in to a TPM emulator. To enable this we introduce a new
flag for the device creation ioctl that requests that the locality be prepended
to every command.
Stefan Berger (3):
tpm: vtpm_proxy: Add ioctl to get supported flags
tpm: vtpm_proxy: Implement request_locality
tpm: vtpm_proxy: Add ioctl to request locality prepended to command
drivers/char/tpm/tpm_vtpm_proxy.c | 54 ++++++++++++++++++++++++++++++++++++---
include/uapi/linux/vtpm_proxy.h | 15 ++++++++++-
2 files changed, 64 insertions(+), 5 deletions(-)
--
2.4.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/3] tpm: vtpm_proxy: Add ioctl to get supported flags
2017-04-17 15:19 [PATCH 0/3] Extend the vTPM proxy driver to pass locality to emulator Stefan Berger
@ 2017-04-17 15:19 ` Stefan Berger
2017-04-17 15:19 ` [PATCH 2/3] tpm: vtpm_proxy: Implement request_locality Stefan Berger
[not found] ` <1492442371-30252-1-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2 siblings, 0 replies; 9+ messages in thread
From: Stefan Berger @ 2017-04-17 15:19 UTC (permalink / raw)
To: tpmdd-devel, linux-security-module; +Cc: jgunthorpe, Stefan Berger
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 | 32 ++++++++++++++++++++++++++++++++
include/uapi/linux/vtpm_proxy.h | 11 +++++++++++
2 files changed, 43 insertions(+)
diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
index 751059d..be0a268 100644
--- a/drivers/char/tpm/tpm_vtpm_proxy.c
+++ b/drivers/char/tpm/tpm_vtpm_proxy.c
@@ -592,6 +592,36 @@ 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;
+ struct vtpm_proxy_supt_flags flags = {
+ .flags = VTPM_PROXY_FLAGS_ALL,
+ };
+
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
+ vtpm_supt_flags_p = argp;
+
+ if (copy_to_user(vtpm_supt_flags_p, &flags,
+ sizeof(flags)))
+ return -EFAULT;
+
+ return 0;
+}
+
/*
* vtpmx_fops_ioctl: ioctl on /dev/vtpmx
*
@@ -604,6 +634,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
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/3] tpm: vtpm_proxy: Implement request_locality
2017-04-17 15:19 [PATCH 0/3] Extend the vTPM proxy driver to pass locality to emulator Stefan Berger
2017-04-17 15:19 ` [PATCH 1/3] tpm: vtpm_proxy: Add ioctl to get supported flags Stefan Berger
@ 2017-04-17 15:19 ` Stefan Berger
2017-04-18 16:47 ` Jason Gunthorpe
[not found] ` <1492442371-30252-1-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2 siblings, 1 reply; 9+ messages in thread
From: Stefan Berger @ 2017-04-17 15:19 UTC (permalink / raw)
To: tpmdd-devel, linux-security-module; +Cc: jgunthorpe, Stefan Berger
Implement the request_locality function. Accept all localties assuming
that the emulator handling the localities will check for a valid locality.
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
---
drivers/char/tpm/tpm_vtpm_proxy.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
index be0a268..bf59426 100644
--- a/drivers/char/tpm/tpm_vtpm_proxy.c
+++ b/drivers/char/tpm/tpm_vtpm_proxy.c
@@ -371,6 +371,11 @@ static bool vtpm_proxy_tpm_req_canceled(struct tpm_chip *chip, u8 status)
return ret;
}
+static int vtpm_proxy_request_locality(struct tpm_chip *chip, int locality)
+{
+ return locality;
+}
+
static const struct tpm_class_ops vtpm_proxy_tpm_ops = {
.flags = TPM_OPS_AUTO_STARTUP,
.recv = vtpm_proxy_tpm_op_recv,
@@ -380,6 +385,7 @@ static const struct tpm_class_ops vtpm_proxy_tpm_ops = {
.req_complete_mask = VTPM_PROXY_REQ_COMPLETE_FLAG,
.req_complete_val = VTPM_PROXY_REQ_COMPLETE_FLAG,
.req_canceled = vtpm_proxy_tpm_req_canceled,
+ .request_locality = vtpm_proxy_request_locality,
};
/*
--
2.4.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/3] tpm: vtpm_proxy: Add ioctl to request locality prepended to command
[not found] ` <1492442371-30252-1-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2017-04-17 15:19 ` Stefan Berger
2017-04-20 11:58 ` Stefan Berger
0 siblings, 1 reply; 9+ messages in thread
From: Stefan Berger @ 2017-04-17 15:19 UTC (permalink / raw)
To: tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-security-module-u79uwXL29TY76Z2rM5mHXA
Add an ioctl to request that the locality be prepended to every TPM
command.
Signed-off-by: Stefan Berger <stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
drivers/char/tpm/tpm_vtpm_proxy.c | 16 ++++++++++++----
include/uapi/linux/vtpm_proxy.h | 4 +++-
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
index bf59426..5f34973 100644
--- a/drivers/char/tpm/tpm_vtpm_proxy.c
+++ b/drivers/char/tpm/tpm_vtpm_proxy.c
@@ -52,7 +52,8 @@ struct proxy_dev {
};
/* all supported flags */
-#define VTPM_PROXY_FLAGS_ALL (VTPM_PROXY_FLAG_TPM2)
+#define VTPM_PROXY_FLAGS_ALL (VTPM_PROXY_FLAG_TPM2 | \
+ VTPM_PROXY_FLAG_PREPEND_LOCALITY)
static struct workqueue_struct *workqueue;
@@ -77,8 +78,9 @@ static ssize_t vtpm_proxy_fops_read(struct file *filp, char __user *buf,
size_t count, loff_t *off)
{
struct proxy_dev *proxy_dev = filp->private_data;
- size_t len;
- int sig, rc;
+ size_t len, offset = 0;
+ int sig, rc = 0;
+ uint8_t locality;
sig = wait_event_interruptible(proxy_dev->wq,
proxy_dev->req_len != 0 ||
@@ -102,7 +104,13 @@ static ssize_t vtpm_proxy_fops_read(struct file *filp, char __user *buf,
return -EIO;
}
- rc = copy_to_user(buf, proxy_dev->buffer, len);
+ if (proxy_dev->flags & VTPM_PROXY_FLAG_PREPEND_LOCALITY) {
+ locality = proxy_dev->chip->locality;
+ offset = sizeof(locality);
+ rc = copy_to_user(buf, &locality, offset);
+ }
+ if (!rc)
+ rc = copy_to_user(&buf[offset], proxy_dev->buffer, len);
memset(proxy_dev->buffer, 0, len);
proxy_dev->req_len = 0;
diff --git a/include/uapi/linux/vtpm_proxy.h b/include/uapi/linux/vtpm_proxy.h
index 83e64e7..512a29e 100644
--- a/include/uapi/linux/vtpm_proxy.h
+++ b/include/uapi/linux/vtpm_proxy.h
@@ -22,9 +22,11 @@
/**
* enum vtpm_proxy_flags - flags for the proxy TPM
* @VTPM_PROXY_FLAG_TPM2: the proxy TPM uses TPM 2.0 protocol
+ * @VTPM_PROXY_PREPEND_LOCALITY:locality byte prepended on each command
*/
enum vtpm_proxy_flags {
- VTPM_PROXY_FLAG_TPM2 = 1,
+ VTPM_PROXY_FLAG_TPM2 = 1,
+ VTPM_PROXY_FLAG_PREPEND_LOCALITY = 2,
};
/**
--
2.4.3
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] tpm: vtpm_proxy: Implement request_locality
2017-04-17 15:19 ` [PATCH 2/3] tpm: vtpm_proxy: Implement request_locality Stefan Berger
@ 2017-04-18 16:47 ` Jason Gunthorpe
2017-04-18 22:41 ` Stefan Berger
0 siblings, 1 reply; 9+ messages in thread
From: Jason Gunthorpe @ 2017-04-18 16:47 UTC (permalink / raw)
To: Stefan Berger; +Cc: tpmdd-devel, linux-security-module
On Mon, Apr 17, 2017 at 11:19:30AM -0400, Stefan Berger wrote:
> Implement the request_locality function. Accept all localties assuming
> that the emulator handling the localities will check for a valid locality.
>
> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
> drivers/char/tpm/tpm_vtpm_proxy.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
> index be0a268..bf59426 100644
> +++ b/drivers/char/tpm/tpm_vtpm_proxy.c
> @@ -371,6 +371,11 @@ static bool vtpm_proxy_tpm_req_canceled(struct tpm_chip *chip, u8 status)
> return ret;
> }
>
> +static int vtpm_proxy_request_locality(struct tpm_chip *chip, int locality)
> +{
> + return locality;
> +}
I thought we had agreed to make this function pass/fail?
Jason
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] tpm: vtpm_proxy: Implement request_locality
2017-04-18 16:47 ` Jason Gunthorpe
@ 2017-04-18 22:41 ` Stefan Berger
2017-04-19 15:35 ` Jarkko Sakkinen
0 siblings, 1 reply; 9+ messages in thread
From: Stefan Berger @ 2017-04-18 22:41 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: tpmdd-devel, linux-security-module
On 04/18/2017 12:47 PM, Jason Gunthorpe wrote:
> On Mon, Apr 17, 2017 at 11:19:30AM -0400, Stefan Berger wrote:
>> Implement the request_locality function. Accept all localties assuming
>> that the emulator handling the localities will check for a valid locality.
>>
>> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
>> drivers/char/tpm/tpm_vtpm_proxy.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
>> index be0a268..bf59426 100644
>> +++ b/drivers/char/tpm/tpm_vtpm_proxy.c
>> @@ -371,6 +371,11 @@ static bool vtpm_proxy_tpm_req_canceled(struct tpm_chip *chip, u8 status)
>> return ret;
>> }
>>
>> +static int vtpm_proxy_request_locality(struct tpm_chip *chip, int locality)
>> +{
>> + return locality;
>> +}
> I thought we had agreed to make this function pass/fail?
What do you mean? The TIS driver for example returns the locality if
accepted, a negative error code otherwise. In the case of the vtpm proxy
I would let the emulator handle the locality on the level of TPM error
codes (TPM_BAD_LOCALITY for TPM1.2 or TPM_RC_LOCALITY for TPM 2).
Stefan
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] tpm: vtpm_proxy: Implement request_locality
2017-04-18 22:41 ` Stefan Berger
@ 2017-04-19 15:35 ` Jarkko Sakkinen
0 siblings, 0 replies; 9+ messages in thread
From: Jarkko Sakkinen @ 2017-04-19 15:35 UTC (permalink / raw)
To: Stefan Berger; +Cc: Jason Gunthorpe, tpmdd-devel, linux-security-module
On Tue, Apr 18, 2017 at 06:41:28PM -0400, Stefan Berger wrote:
> On 04/18/2017 12:47 PM, Jason Gunthorpe wrote:
> > On Mon, Apr 17, 2017 at 11:19:30AM -0400, Stefan Berger wrote:
> > > Implement the request_locality function. Accept all localties assuming
> > > that the emulator handling the localities will check for a valid locality.
> > >
> > > Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
> > > drivers/char/tpm/tpm_vtpm_proxy.c | 6 ++++++
> > > 1 file changed, 6 insertions(+)
> > >
> > > diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
> > > index be0a268..bf59426 100644
> > > +++ b/drivers/char/tpm/tpm_vtpm_proxy.c
> > > @@ -371,6 +371,11 @@ static bool vtpm_proxy_tpm_req_canceled(struct tpm_chip *chip, u8 status)
> > > return ret;
> > > }
> > > +static int vtpm_proxy_request_locality(struct tpm_chip *chip, int locality)
> > > +{
> > > + return locality;
> > > +}
> > I thought we had agreed to make this function pass/fail?
>
>
> What do you mean? The TIS driver for example returns the locality if
> accepted, a negative error code otherwise. In the case of the vtpm proxy I
> would let the emulator handle the locality on the level of TPM error codes
> (TPM_BAD_LOCALITY for TPM1.2 or TPM_RC_LOCALITY for TPM 2).
>
> Stefan
Jason,
I tried to make "lowest common denominator" change for 4.12 just to
get work started and issue in tpm_crb sorted out. We can revisit this
for 4.13.
/Jarkko
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] tpm: vtpm_proxy: Add ioctl to request locality prepended to command
2017-04-17 15:19 ` [PATCH 3/3] tpm: vtpm_proxy: Add ioctl to request locality prepended to command Stefan Berger
@ 2017-04-20 11:58 ` Stefan Berger
2017-04-23 12:18 ` [tpmdd-devel] " Jarkko Sakkinen
0 siblings, 1 reply; 9+ messages in thread
From: Stefan Berger @ 2017-04-20 11:58 UTC (permalink / raw)
To: tpmdd-devel, linux-security-module; +Cc: jgunthorpe
On 04/17/2017 11:19 AM, Stefan Berger wrote:
> Add an ioctl to request that the locality be prepended to every TPM
> command.
>
> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
> ---
> drivers/char/tpm/tpm_vtpm_proxy.c | 16 ++++++++++++----
> include/uapi/linux/vtpm_proxy.h | 4 +++-
> 2 files changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
> index bf59426..5f34973 100644
> --- a/drivers/char/tpm/tpm_vtpm_proxy.c
> +++ b/drivers/char/tpm/tpm_vtpm_proxy.c
> @@ -52,7 +52,8 @@ struct proxy_dev {
> };
>
> /* all supported flags */
> -#define VTPM_PROXY_FLAGS_ALL (VTPM_PROXY_FLAG_TPM2)
> +#define VTPM_PROXY_FLAGS_ALL (VTPM_PROXY_FLAG_TPM2 | \
> + VTPM_PROXY_FLAG_PREPEND_LOCALITY)
>
> static struct workqueue_struct *workqueue;
>
> @@ -77,8 +78,9 @@ static ssize_t vtpm_proxy_fops_read(struct file *filp, char __user *buf,
> size_t count, loff_t *off)
> {
> struct proxy_dev *proxy_dev = filp->private_data;
> - size_t len;
> - int sig, rc;
> + size_t len, offset = 0;
> + int sig, rc = 0;
> + uint8_t locality;
>
> sig = wait_event_interruptible(proxy_dev->wq,
> proxy_dev->req_len != 0 ||
> @@ -102,7 +104,13 @@ static ssize_t vtpm_proxy_fops_read(struct file *filp, char __user *buf,
> return -EIO;
> }
>
> - rc = copy_to_user(buf, proxy_dev->buffer, len);
> + if (proxy_dev->flags & VTPM_PROXY_FLAG_PREPEND_LOCALITY) {
> + locality = proxy_dev->chip->locality;
> + offset = sizeof(locality);
> + rc = copy_to_user(buf, &locality, offset);
> + }
> + if (!rc)
> + rc = copy_to_user(&buf[offset], proxy_dev->buffer, len);
> memset(proxy_dev->buffer, 0, len);
> proxy_dev->req_len = 0;
There 'return' statement of this function needs to say 'return len +
offset'. So I'll resubmit a V2 for that.
Apart from that, any comments?
Stefan
>
> diff --git a/include/uapi/linux/vtpm_proxy.h b/include/uapi/linux/vtpm_proxy.h
> index 83e64e7..512a29e 100644
> --- a/include/uapi/linux/vtpm_proxy.h
> +++ b/include/uapi/linux/vtpm_proxy.h
> @@ -22,9 +22,11 @@
> /**
> * enum vtpm_proxy_flags - flags for the proxy TPM
> * @VTPM_PROXY_FLAG_TPM2: the proxy TPM uses TPM 2.0 protocol
> + * @VTPM_PROXY_PREPEND_LOCALITY:locality byte prepended on each command
> */
> enum vtpm_proxy_flags {
> - VTPM_PROXY_FLAG_TPM2 = 1,
> + VTPM_PROXY_FLAG_TPM2 = 1,
> + VTPM_PROXY_FLAG_PREPEND_LOCALITY = 2,
> };
>
> /**
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [tpmdd-devel] [PATCH 3/3] tpm: vtpm_proxy: Add ioctl to request locality prepended to command
2017-04-20 11:58 ` Stefan Berger
@ 2017-04-23 12:18 ` Jarkko Sakkinen
0 siblings, 0 replies; 9+ messages in thread
From: Jarkko Sakkinen @ 2017-04-23 12:18 UTC (permalink / raw)
To: Stefan Berger; +Cc: tpmdd-devel, linux-security-module
On Thu, Apr 20, 2017 at 07:58:58AM -0400, Stefan Berger wrote:
> On 04/17/2017 11:19 AM, Stefan Berger wrote:
> > Add an ioctl to request that the locality be prepended to every TPM
> > command.
> >
> > Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
> > ---
> > drivers/char/tpm/tpm_vtpm_proxy.c | 16 ++++++++++++----
> > include/uapi/linux/vtpm_proxy.h | 4 +++-
> > 2 files changed, 15 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/char/tpm/tpm_vtpm_proxy.c b/drivers/char/tpm/tpm_vtpm_proxy.c
> > index bf59426..5f34973 100644
> > --- a/drivers/char/tpm/tpm_vtpm_proxy.c
> > +++ b/drivers/char/tpm/tpm_vtpm_proxy.c
> > @@ -52,7 +52,8 @@ struct proxy_dev {
> > };
> >
> > /* all supported flags */
> > -#define VTPM_PROXY_FLAGS_ALL (VTPM_PROXY_FLAG_TPM2)
> > +#define VTPM_PROXY_FLAGS_ALL (VTPM_PROXY_FLAG_TPM2 | \
> > + VTPM_PROXY_FLAG_PREPEND_LOCALITY)
> >
> > static struct workqueue_struct *workqueue;
> >
> > @@ -77,8 +78,9 @@ static ssize_t vtpm_proxy_fops_read(struct file *filp, char __user *buf,
> > size_t count, loff_t *off)
> > {
> > struct proxy_dev *proxy_dev = filp->private_data;
> > - size_t len;
> > - int sig, rc;
> > + size_t len, offset = 0;
> > + int sig, rc = 0;
> > + uint8_t locality;
> >
> > sig = wait_event_interruptible(proxy_dev->wq,
> > proxy_dev->req_len != 0 ||
> > @@ -102,7 +104,13 @@ static ssize_t vtpm_proxy_fops_read(struct file *filp, char __user *buf,
> > return -EIO;
> > }
> >
> > - rc = copy_to_user(buf, proxy_dev->buffer, len);
> > + if (proxy_dev->flags & VTPM_PROXY_FLAG_PREPEND_LOCALITY) {
> > + locality = proxy_dev->chip->locality;
> > + offset = sizeof(locality);
> > + rc = copy_to_user(buf, &locality, offset);
> > + }
> > + if (!rc)
> > + rc = copy_to_user(&buf[offset], proxy_dev->buffer, len);
> > memset(proxy_dev->buffer, 0, len);
> > proxy_dev->req_len = 0;
>
> There 'return' statement of this function needs to say 'return len +
> offset'. So I'll resubmit a V2 for that.
>
> Apart from that, any comments?
>
> Stefan
Will give a proper look next week.
/Jarkko
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2017-04-23 12:18 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-17 15:19 [PATCH 0/3] Extend the vTPM proxy driver to pass locality to emulator Stefan Berger
2017-04-17 15:19 ` [PATCH 1/3] tpm: vtpm_proxy: Add ioctl to get supported flags Stefan Berger
2017-04-17 15:19 ` [PATCH 2/3] tpm: vtpm_proxy: Implement request_locality Stefan Berger
2017-04-18 16:47 ` Jason Gunthorpe
2017-04-18 22:41 ` Stefan Berger
2017-04-19 15:35 ` Jarkko Sakkinen
[not found] ` <1492442371-30252-1-git-send-email-stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-04-17 15:19 ` [PATCH 3/3] tpm: vtpm_proxy: Add ioctl to request locality prepended to command Stefan Berger
2017-04-20 11:58 ` Stefan Berger
2017-04-23 12:18 ` [tpmdd-devel] " Jarkko Sakkinen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).