Messages in this thread | | | Date | Thu, 12 Oct 2023 18:31:47 +0300 (EEST) | From | Ilpo Järvinen <> | Subject | Re: [PATCH V3 02/16] platform/x86/intel/vsec: remove platform_info from vsec device structure |
| |
On Wed, 11 Oct 2023, David E. Box wrote:
> In preparation for exporting an API to register Intel Vendor Specific > Extended Capabilities (VSEC) from other drivers, remove the pointer to > platform_info from intel_vsec_device. This prevents a potential page fault > when auxiliary drivers probe and attempt to dereference this pointer to > access the needed quirks field. Instead, just add the quirks to > intel_vsec_device. > > Signed-off-by: David E. Box <david.e.box@linux.intel.com> > Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > --- > V3 - No change > > V2 - New patch splitting previous PATCH 1 > > drivers/platform/x86/intel/pmt/class.c | 2 +- > drivers/platform/x86/intel/vsec.c | 2 +- > drivers/platform/x86/intel/vsec.h | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/platform/x86/intel/pmt/class.c b/drivers/platform/x86/intel/pmt/class.c > index f32a233470de..2ad91d2fd954 100644 > --- a/drivers/platform/x86/intel/pmt/class.c > +++ b/drivers/platform/x86/intel/pmt/class.c > @@ -31,7 +31,7 @@ bool intel_pmt_is_early_client_hw(struct device *dev) > * differences from the server platforms (which use the Out Of Band > * Management Services Module OOBMSM). > */ > - return !!(ivdev->info->quirks & VSEC_QUIRK_EARLY_HW); > + return !!(ivdev->quirks & VSEC_QUIRK_EARLY_HW); > } > EXPORT_SYMBOL_NS_GPL(intel_pmt_is_early_client_hw, INTEL_PMT); > > diff --git a/drivers/platform/x86/intel/vsec.c b/drivers/platform/x86/intel/vsec.c > index 6bb233a23414..15866b7d3117 100644 > --- a/drivers/platform/x86/intel/vsec.c > +++ b/drivers/platform/x86/intel/vsec.c > @@ -201,7 +201,7 @@ static int intel_vsec_add_dev(struct pci_dev *pdev, struct intel_vsec_header *he > intel_vsec_dev->pcidev = pdev; > intel_vsec_dev->resource = res; > intel_vsec_dev->num_resources = header->num_entries; > - intel_vsec_dev->info = info; > + intel_vsec_dev->quirks = info->quirks; > > if (header->id == VSEC_ID_SDSI) > intel_vsec_dev->ida = &intel_vsec_sdsi_ida; > diff --git a/drivers/platform/x86/intel/vsec.h b/drivers/platform/x86/intel/vsec.h > index c242c07ea69c..8b9fad170503 100644 > --- a/drivers/platform/x86/intel/vsec.h > +++ b/drivers/platform/x86/intel/vsec.h > @@ -79,11 +79,11 @@ struct intel_vsec_device { > struct pci_dev *pcidev; > struct resource *resource; > struct ida *ida; > - struct intel_vsec_platform_info *info; > int num_resources; > int id; /* xa */
What is this based on??
Unfortunately, I couldn't review some of your later patches efficiently because this patch failed to apply.
-- i.
| |