linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] vTPM: set virtual device before passing to ibmvtpm_reset_crq
@ 2015-05-22 17:23 Hon Ching(Vicky) Lo
  2015-06-02  5:50 ` Ashley Lai
  2015-06-16 20:37 ` Peter Hüwe
  0 siblings, 2 replies; 4+ messages in thread
From: Hon Ching(Vicky) Lo @ 2015-05-22 17:23 UTC (permalink / raw)
  To: tpmdd-devel
  Cc: Peter Huewe, Ashley Lai, Vicky Lo, linux-kernel,
	Hon Ching(Vicky) Lo, Joy Latten

tpm_ibmvtpm_probe() calls ibmvtpm_reset_crq(ibmvtpm) without having yet
set the virtual device in the ibmvtpm structure. So in ibmvtpm_reset_crq,
the phype call contains empty unit addresses, ibmvtpm->vdev->unit_address.

Signed-off-by: Hon Ching(Vicky) Lo <honclo@linux.vnet.ibm.com>
Signed-off-by: Joy Latten <jmlatten@linux.vnet.ibm.com>
---
 drivers/char/tpm/tpm_ibmvtpm.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/char/tpm/tpm_ibmvtpm.c b/drivers/char/tpm/tpm_ibmvtpm.c
index 42ffa5e..27ebf95 100644
--- a/drivers/char/tpm/tpm_ibmvtpm.c
+++ b/drivers/char/tpm/tpm_ibmvtpm.c
@@ -578,6 +578,9 @@ static int tpm_ibmvtpm_probe(struct vio_dev *vio_dev,
 		goto cleanup;
 	}
 
+	ibmvtpm->dev = dev;
+	ibmvtpm->vdev = vio_dev;
+
 	crq_q = &ibmvtpm->crq_queue;
 	crq_q->crq_addr = (struct ibmvtpm_crq *)get_zeroed_page(GFP_KERNEL);
 	if (!crq_q->crq_addr) {
@@ -622,8 +625,6 @@ static int tpm_ibmvtpm_probe(struct vio_dev *vio_dev,
 
 	crq_q->index = 0;
 
-	ibmvtpm->dev = dev;
-	ibmvtpm->vdev = vio_dev;
 	TPM_VPRIV(chip) = (void *)ibmvtpm;
 
 	spin_lock_init(&ibmvtpm->rtce_lock);
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] vTPM: set virtual device before passing to ibmvtpm_reset_crq
  2015-05-22 17:23 [PATCH] vTPM: set virtual device before passing to ibmvtpm_reset_crq Hon Ching(Vicky) Lo
@ 2015-06-02  5:50 ` Ashley Lai
  2015-06-16 20:37 ` Peter Hüwe
  1 sibling, 0 replies; 4+ messages in thread
From: Ashley Lai @ 2015-06-02  5:50 UTC (permalink / raw)
  To: Hon Ching(Vicky) Lo
  Cc: tpmdd-devel, Peter Huewe, Ashley Lai, Vicky Lo, linux-kernel, Joy Latten

Thanks for the patch.  Looks good to me.

Reviewed-by: Ashley Lai <ashley@ahsleylai.com>

--Ashley Lai

On Fri, 22 May 2015, Hon Ching(Vicky) Lo wrote:

> tpm_ibmvtpm_probe() calls ibmvtpm_reset_crq(ibmvtpm) without having yet
> set the virtual device in the ibmvtpm structure. So in ibmvtpm_reset_crq,
> the phype call contains empty unit addresses, ibmvtpm->vdev->unit_address.
>
> Signed-off-by: Hon Ching(Vicky) Lo <honclo@linux.vnet.ibm.com>
> Signed-off-by: Joy Latten <jmlatten@linux.vnet.ibm.com>
> ---
> drivers/char/tpm/tpm_ibmvtpm.c |    5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/char/tpm/tpm_ibmvtpm.c b/drivers/char/tpm/tpm_ibmvtpm.c
> index 42ffa5e..27ebf95 100644
> --- a/drivers/char/tpm/tpm_ibmvtpm.c
> +++ b/drivers/char/tpm/tpm_ibmvtpm.c
> @@ -578,6 +578,9 @@ static int tpm_ibmvtpm_probe(struct vio_dev *vio_dev,
> 		goto cleanup;
> 	}
>
> +	ibmvtpm->dev = dev;
> +	ibmvtpm->vdev = vio_dev;
> +
> 	crq_q = &ibmvtpm->crq_queue;
> 	crq_q->crq_addr = (struct ibmvtpm_crq *)get_zeroed_page(GFP_KERNEL);
> 	if (!crq_q->crq_addr) {
> @@ -622,8 +625,6 @@ static int tpm_ibmvtpm_probe(struct vio_dev *vio_dev,
>
> 	crq_q->index = 0;
>
> -	ibmvtpm->dev = dev;
> -	ibmvtpm->vdev = vio_dev;
> 	TPM_VPRIV(chip) = (void *)ibmvtpm;
>
> 	spin_lock_init(&ibmvtpm->rtce_lock);
> -- 
> 1.7.1
>
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] vTPM: set virtual device before passing to ibmvtpm_reset_crq
  2015-05-22 17:23 [PATCH] vTPM: set virtual device before passing to ibmvtpm_reset_crq Hon Ching(Vicky) Lo
  2015-06-02  5:50 ` Ashley Lai
@ 2015-06-16 20:37 ` Peter Hüwe
  2015-06-16 21:18   ` Hon Ching (Vicky) Lo
  1 sibling, 1 reply; 4+ messages in thread
From: Peter Hüwe @ 2015-06-16 20:37 UTC (permalink / raw)
  To: Hon Ching(Vicky) Lo
  Cc: tpmdd-devel, Ashley Lai, Vicky Lo, linux-kernel, Joy Latten

Hey,

Am Freitag, 22. Mai 2015, 19:23:02 schrieb Hon Ching(Vicky) Lo:
> tpm_ibmvtpm_probe() calls ibmvtpm_reset_crq(ibmvtpm) without having yet
> set the virtual device in the ibmvtpm structure. So in ibmvtpm_reset_crq,
> the phype call contains empty unit addresses, ibmvtpm->vdev->unit_address.
> 
> Signed-off-by: Hon Ching(Vicky) Lo <honclo@linux.vnet.ibm.com>
> Signed-off-by: Joy Latten <jmlatten@linux.vnet.ibm.com>
> ---
>  drivers/char/tpm/tpm_ibmvtpm.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/char/tpm/tpm_ibmvtpm.c
> b/drivers/char/tpm/tpm_ibmvtpm.c index 42ffa5e..27ebf95 100644
> --- a/drivers/char/tpm/tpm_ibmvtpm.c
> +++ b/drivers/char/tpm/tpm_ibmvtpm.c
> @@ -578,6 +578,9 @@ static int tpm_ibmvtpm_probe(struct vio_dev *vio_dev,
>  		goto cleanup;
>  	}
> 
> +	ibmvtpm->dev = dev;
> +	ibmvtpm->vdev = vio_dev;
> +
>  	crq_q = &ibmvtpm->crq_queue;
>  	crq_q->crq_addr = (struct ibmvtpm_crq *)get_zeroed_page(GFP_KERNEL);
>  	if (!crq_q->crq_addr) {
> @@ -622,8 +625,6 @@ static int tpm_ibmvtpm_probe(struct vio_dev *vio_dev,
> 
>  	crq_q->index = 0;
> 
> -	ibmvtpm->dev = dev;
> -	ibmvtpm->vdev = vio_dev;
>  	TPM_VPRIV(chip) = (void *)ibmvtpm;
> 
>  	spin_lock_init(&ibmvtpm->rtce_lock);

Is this a fix for something?
does it need to go through stable?

Thanks,
Peter

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] vTPM: set virtual device before passing to ibmvtpm_reset_crq
  2015-06-16 20:37 ` Peter Hüwe
@ 2015-06-16 21:18   ` Hon Ching (Vicky) Lo
  0 siblings, 0 replies; 4+ messages in thread
From: Hon Ching (Vicky) Lo @ 2015-06-16 21:18 UTC (permalink / raw)
  To: Peter Hüwe
  Cc: tpmdd-devel, Ashley Lai, Vicky Lo, linux-kernel, Joy Latten

Hi Peter,

Yes, it's a fix to a kernel dump caused by enabling both vtpm and kdump.


On Tue, 2015-06-16 at 22:37 +0200, Peter Hüwe wrote:
> Hey,
> 
> Am Freitag, 22. Mai 2015, 19:23:02 schrieb Hon Ching(Vicky) Lo:
> > tpm_ibmvtpm_probe() calls ibmvtpm_reset_crq(ibmvtpm) without having yet
> > set the virtual device in the ibmvtpm structure. So in ibmvtpm_reset_crq,
> > the phype call contains empty unit addresses, ibmvtpm->vdev->unit_address.
> > 
> > Signed-off-by: Hon Ching(Vicky) Lo <honclo@linux.vnet.ibm.com>
> > Signed-off-by: Joy Latten <jmlatten@linux.vnet.ibm.com>
> > ---
> >  drivers/char/tpm/tpm_ibmvtpm.c |    5 +++--
> >  1 files changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/char/tpm/tpm_ibmvtpm.c
> > b/drivers/char/tpm/tpm_ibmvtpm.c index 42ffa5e..27ebf95 100644
> > --- a/drivers/char/tpm/tpm_ibmvtpm.c
> > +++ b/drivers/char/tpm/tpm_ibmvtpm.c
> > @@ -578,6 +578,9 @@ static int tpm_ibmvtpm_probe(struct vio_dev *vio_dev,
> >  		goto cleanup;
> >  	}
> > 
> > +	ibmvtpm->dev = dev;
> > +	ibmvtpm->vdev = vio_dev;
> > +
> >  	crq_q = &ibmvtpm->crq_queue;
> >  	crq_q->crq_addr = (struct ibmvtpm_crq *)get_zeroed_page(GFP_KERNEL);
> >  	if (!crq_q->crq_addr) {
> > @@ -622,8 +625,6 @@ static int tpm_ibmvtpm_probe(struct vio_dev *vio_dev,
> > 
> >  	crq_q->index = 0;
> > 
> > -	ibmvtpm->dev = dev;
> > -	ibmvtpm->vdev = vio_dev;
> >  	TPM_VPRIV(chip) = (void *)ibmvtpm;
> > 
> >  	spin_lock_init(&ibmvtpm->rtce_lock);
> 
> Is this a fix for something?
> does it need to go through stable?
> 
> Thanks,
> Peter
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-06-16 21:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-22 17:23 [PATCH] vTPM: set virtual device before passing to ibmvtpm_reset_crq Hon Ching(Vicky) Lo
2015-06-02  5:50 ` Ashley Lai
2015-06-16 20:37 ` Peter Hüwe
2015-06-16 21:18   ` Hon Ching (Vicky) Lo

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).