2015-06-09 11:37:16

by Jarkko Sakkinen

[permalink] [raw]
Subject: [PATCH] tpm, tpm_crb: fix le64_to_cpu conversions in crb_acpi_add()

Reported-by: Matt Fleming <[email protected]>
Signed-off-by: Jarkko Sakkinen <[email protected]>
---
drivers/char/tpm/tpm_crb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
index b26ceee..44f9d20 100644
--- a/drivers/char/tpm/tpm_crb.c
+++ b/drivers/char/tpm/tpm_crb.c
@@ -267,7 +267,7 @@ static int crb_acpi_add(struct acpi_device *device)

memcpy_fromio(&pa, &priv->cca->cmd_pa, 8);
pa = le64_to_cpu(pa);
- priv->cmd = devm_ioremap_nocache(dev, le64_to_cpu(pa),
+ priv->cmd = devm_ioremap_nocache(dev, pa,
ioread32(&priv->cca->cmd_size));
if (!priv->cmd) {
dev_err(dev, "ioremap of the command buffer failed\n");
@@ -276,7 +276,7 @@ static int crb_acpi_add(struct acpi_device *device)

memcpy_fromio(&pa, &priv->cca->rsp_pa, 8);
pa = le64_to_cpu(pa);
- priv->rsp = devm_ioremap_nocache(dev, le64_to_cpu(pa),
+ priv->rsp = devm_ioremap_nocache(dev, pa,
ioread32(&priv->cca->rsp_size));
if (!priv->rsp) {
dev_err(dev, "ioremap of the response buffer failed\n");
--
2.1.4


2015-06-09 16:23:16

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] tpm, tpm_crb: fix le64_to_cpu conversions in crb_acpi_add()

On Tue, Jun 09, 2015 at 02:36:49PM +0300, Jarkko Sakkinen wrote:

Needs a commit message, bug description, Fixes: header and does it go
to -stable ?

> Reported-by: Matt Fleming <[email protected]>
> Signed-off-by: Jarkko Sakkinen <[email protected]>
> drivers/char/tpm/tpm_crb.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

Obviously there is a problem here with the double swap. But that
should be a nop on x86 hardware, I didn't think there was a BE arch
using ACPI??

Reviewed-By: Jason Gunthorpe <[email protected]>

Jason

2015-06-10 05:53:35

by Jarkko Sakkinen

[permalink] [raw]
Subject: Re: [PATCH] tpm, tpm_crb: fix le64_to_cpu conversions in crb_acpi_add()

On Tue, Jun 09, 2015 at 10:22:40AM -0600, Jason Gunthorpe wrote:
> On Tue, Jun 09, 2015 at 02:36:49PM +0300, Jarkko Sakkinen wrote:
>
> Needs a commit message, bug description, Fixes: header and does it go
> to -stable ?
>
> > Reported-by: Matt Fleming <[email protected]>
> > Signed-off-by: Jarkko Sakkinen <[email protected]>
> > drivers/char/tpm/tpm_crb.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Obviously there is a problem here with the double swap. But that
> should be a nop on x86 hardware, I didn't think there was a BE arch
> using ACPI??

No but I don't want to write CRB driver assuming that CRB will be only
used on LE platform like x86 even though current HW implementations are
only on x86.

> Reviewed-By: Jason Gunthorpe <[email protected]>
>
> Jason

/Jarkko