Messages in this thread | | | Subject | Re: [PATCH 1/2] tpm/tpm_ibmvtpm: Fail in ibmvtpm_get_data if driver_data is bad | From | "Hon Ching (Vicky) Lo" <> | Date | Wed, 03 Dec 2014 18:11:32 -0500 |
| |
Hi Anton,
vio_bus_probe now calls vio_cmo_bus_probe before calling probe. This results in calling get_desired_dma to get rtce buf size before we have called probe which initializes vtpm driver and sets up the tpm data, i.e. rtce buf size.
ibmvtpm_get_data returns NULL in get_desired_dma is a special case where the device is not initialized.
Regards, Vicky
On Wed, 2014-12-03 at 08:20 +1100, Anton Blanchard wrote: > Hi, > > > is this patchset still needed after Vicky's patch > > "[tpmdd-devel] Fix NULL return in tpm_ibmvtpm_get_desired_dma" > > https://patchwork.ozlabs.org/patch/402315/ > > > > Ashley raised some concerns. > > > > Since merge window is coming up, a fast reply is appreciated. > > We definitely need a way to catch an invalid driver data pointer, but it > looks like that needs to be reworked after Vicky's patch. > > Vicky could you look at all uses of ibmvtpm_get_data and make > sure we don't blindly dereference it? eg: > > static int tpm_ibmvtpm_resume(struct device *dev) > { > struct ibmvtpm_dev *ibmvtpm = ibmvtpm_get_data(dev); > ... > > rc = plpar_hcall_norets(H_ENABLE_CRQ, > ibmvtpm->vdev->unit_address); > > Anton >
| |