Re: [PATCH] PCI: pci-hyperv: fix build errors on non-SYSFS config

From: Lorenzo Pieralisi
Date: Wed Aug 07 2019 - 11:07:01 EST


On Tue, Jul 23, 2019 at 04:21:07PM -0500, Bjorn Helgaas wrote:
> On Sat, Jul 13, 2019 at 11:03:53AM -0400, Sasha Levin wrote:
> > On Fri, Jul 12, 2019 at 04:04:17PM +0000, Haiyang Zhang wrote:
> > > > -----Original Message-----
> > > > From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> > > > Sent: Friday, July 12, 2019 11:53 AM
> > > > To: linux-pci <linux-pci@xxxxxxxxxxxxxxx>; LKML <linux-
> > > > kernel@xxxxxxxxxxxxxxx>
> > > > Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>; Jake Oshins
> > > > <jakeo@xxxxxxxxxxxxx>; KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang
> > > > Zhang <haiyangz@xxxxxxxxxxxxx>; Stephen Hemminger
> > > > <sthemmin@xxxxxxxxxxxxx>; Stephen Hemminger
> > > > <stephen@xxxxxxxxxxxxxxxxxx>; Sasha Levin <sashal@xxxxxxxxxx>; Bjorn
> > > > Helgaas <bhelgaas@xxxxxxxxxx>; Dexuan Cui <decui@xxxxxxxxxxxxx>
> > > > Subject: [PATCH] PCI: pci-hyperv: fix build errors on non-SYSFS config
>
> Whoever merges this (see below), please update the subject line to
> match:
>
> $ git log --oneline drivers/pci/controller/pci-hyperv.c | head -5
> 4df591b20b80 PCI: hv: Fix a use-after-free bug in hv_eject_device_work()
> 340d45569940 PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary
> 15becc2b56c6 PCI: hv: Add hv_pci_remove_slots() when we unload the driver
> 05f151a73ec2 PCI: hv: Fix a memory leak in hv_eject_device_work()
> c8ccf7599dda PCI: hv: Refactor hv_irq_unmask() to use cpumask_to_vpset()
>
> > > > From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> > > >
> > > > Fix build errors when building almost-allmodconfig but with SYSFS
> > > > not set (not enabled). Fixes these build errors:
> > > >
> > > > ERROR: "pci_destroy_slot" [drivers/pci/controller/pci-hyperv.ko] undefined!
> > > > ERROR: "pci_create_slot" [drivers/pci/controller/pci-hyperv.ko] undefined!
> > > >
> > > > drivers/pci/slot.o is only built when SYSFS is enabled, so
> > > > pci-hyperv.o has an implicit dependency on SYSFS.
> > > > Make that explicit.
> > > >
> > > > Also, depending on X86 && X86_64 is not needed, so just change that
> > > > to depend on X86_64.
> > > >
> > > > Fixes: a15f2c08c708 ("PCI: hv: support reporting serial number as slot
> > > > information")
> > > >
> > > > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> > > > Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> > > > Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx>
> > > > Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>
> > > > Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> > > > Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
> > > > Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
> > > > Cc: Sasha Levin <sashal@xxxxxxxxxx>
> > > > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> > > > Cc: linux-pci@xxxxxxxxxxxxxxx
> > > > Cc: linux-hyperv@xxxxxxxxxxxxxxx
> > > > Cc: Dexuan Cui <decui@xxxxxxxxxxxxx>
> > > > ---
> > > > v3: corrected Fixes: tag [Dexuan Cui <decui@xxxxxxxxxxxxx>]
> > > > This is the Microsoft-preferred version of the patch.
> > > >
> > > > drivers/pci/Kconfig | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > --- lnx-52.orig/drivers/pci/Kconfig
> > > > +++ lnx-52/drivers/pci/Kconfig
> > > > @@ -181,7 +181,7 @@ config PCI_LABEL
> > > >
> > > > config PCI_HYPERV
> > > > tristate "Hyper-V PCI Frontend"
> > > > - depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN
> > > > && X86_64
> > > > + depends on X86_64 && HYPERV && PCI_MSI &&
> > > > PCI_MSI_IRQ_DOMAIN && SYSFS
> > > > help
> > > > The PCI device frontend driver allows the kernel to import arbitrary
> > > > PCI devices from a PCI backend to support PCI driver domains.
> > > >
> > >
> > > Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> >
> > Queued up for hyperv-fixes, thank you!
>
> What merge strategy do you envision for this? Previous
> drivers/pci/controller/pci-hyperv.c changes have generally been merged
> by Lorenzo and incorporated into my PCI tree.
>
> This particular patch doesn't actually touch pci-hyperv.c; it touches
> drivers/pci/Kconfig, so should somehow be coordinated with me.
>
> Does this need to be tagged for stable? a15f2c08c708 appeared in
> v4.19, so my first guess is that it's not stable material.

AFAIC Bjorn's question still stands. Who will pick this patch up ?

Thanks,
Lorenzo