Message ID | 1492442371-30252-3-git-send-email-stefanb@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
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 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
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 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
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 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
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, }; /*
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(+)