Re: [PATCH] vTPM: set virtual device before passing to ibmvtpm_reset_crq

From: Hon Ching (Vicky) Lo
Date: Tue Jun 16 2015 - 17:19:56 EST


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@xxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Joy Latten <jmlatten@xxxxxxxxxxxxxxxxxx>
> > ---
> > 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
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/