Re: [PATCH v2] PCI: hv: fix reading of PCI_INTERRUPT_PIN

From: Wei Liu
Date: Mon Jul 01 2024 - 16:02:14 EST


On Mon, Jul 01, 2024 at 12:20:53PM -0500, Bjorn Helgaas wrote:
> On Mon, Jul 01, 2024 at 06:16:18AM +0000, Wei Liu wrote:
> > On Wed, Jun 26, 2024 at 10:10:39AM -0500, Bjorn Helgaas wrote:
> > > 1) Capitalize subject to match history
> >
> > What do you mean here? I got the "PCI: hv: ..." format from recent
> > commits. "PCI" is capitalized. You want to to capitalize "fix"?
>
> Yes. Look at the history:
>
> $ git log --oneline --no-merges drivers/pci/controller/pci-hyperv.c
> b5ff74c1ef50 PCI: hv: Fix ring buffer size calculation
> 07e8f88568f5 x86/apic: Drop apic::delivery_mode
> f741bcadfe52 PCI: hv: Annotate struct hv_dr_state with __counted_by
> 04bbe863241a PCI: hv: Fix a crash in hv_pci_restore_msi_msg() during hibernation
> 067d6ec7ed5b PCI: hv: Add a per-bus mutex state_lock
> a847234e24d0 Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally"
> add9195e69c9 PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev
> 2738d5ab7929 PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic
> ...
>
> > > 2) Say something more specific than "fix reading ..."
> > >
> > > Apparently this returns garbage in some case where you want to return
> > > zero?
> >
> > Yes. *val is not changed in the old code, so garbage is returned.
> >
> > Here is the updated commit message. I can resend once you confirm you're
> > happy with it.
> >
> > PCI: hv: Fix reading of PCI_INTERRUPT_PIN
>
> Maybe:
>
> PCI: hv: Return zero, not garbage, when reading PCI_INTERRUPT_PIN
>
> > The intent of the code snippet is to always return 0 for both
> > PCI_INTERRUPT_LINE and PCI_INTERRUPT_PIN.
> >
> > The check misses PCI_INTERRUPT_PIN. This patch fixes that.
> >
> > This is discovered by this call in VFIO:
> >
> > pci_read_config_byte(vdev->pdev, PCI_INTERRUPT_PIN, &pin);
> >
> > The old code does not set *val to 0 because it misses the check for
> > PCI_INTERRUPT_PIN. Garbage is returned in this case.
> >
> > Fixes: 4daace0d8ce8 ("PCI: hv: Add paravirtual PCI front-end for Microsoft Hyper-V VMs")
> > Cc: stable@xxxxxxxxxx
> > Signed-off-by: Wei Liu <wei.liu@xxxxxxxxxx>
>
> Looks fine.

Thanks. I will resend with the updated commit message.