hw/pci/pcie_sriov.c | 1 - 1 file changed, 1 deletion(-)
g_new() aborts if the allocation fails so it returns NULL only if the
requested allocation size is zero. register_vfs() makes such an
allocation if NumVFs is zero so it should not assert that g_new()
returns a non-NULL value.
Fixes: 7c0fa8dff8 ("pcie: Add support for Single Root I/O Virtualization (SR/IOV)")
Buglink: https://issues.redhat.com/browse/RHEL-17209
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
hw/pci/pcie_sriov.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
index 5ef8950940..a1fe65f5d8 100644
--- a/hw/pci/pcie_sriov.c
+++ b/hw/pci/pcie_sriov.c
@@ -178,7 +178,6 @@ static void register_vfs(PCIDevice *dev)
num_vfs = pci_get_word(dev->config + sriov_cap + PCI_SRIOV_NUM_VF);
dev->exp.sriov_pf.vf = g_new(PCIDevice *, num_vfs);
- assert(dev->exp.sriov_pf.vf);
trace_sriov_register_vfs(dev->name, PCI_SLOT(dev->devfn),
PCI_FUNC(dev->devfn), num_vfs);
--
2.42.1
On 11/23/23 08:56, Akihiko Odaki wrote:
> g_new() aborts if the allocation fails so it returns NULL only if the
> requested allocation size is zero. register_vfs() makes such an
> allocation if NumVFs is zero so it should not assert that g_new()
> returns a non-NULL value.
>
> Fixes: 7c0fa8dff8 ("pcie: Add support for Single Root I/O Virtualization (SR/IOV)")
> Buglink: https://issues.redhat.com/browse/RHEL-17209
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> hw/pci/pcie_sriov.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
> index 5ef8950940..a1fe65f5d8 100644
> --- a/hw/pci/pcie_sriov.c
> +++ b/hw/pci/pcie_sriov.c
> @@ -178,7 +178,6 @@ static void register_vfs(PCIDevice *dev)
> num_vfs = pci_get_word(dev->config + sriov_cap + PCI_SRIOV_NUM_VF);
>
> dev->exp.sriov_pf.vf = g_new(PCIDevice *, num_vfs);
> - assert(dev->exp.sriov_pf.vf);
>
> trace_sriov_register_vfs(dev->name, PCI_SLOT(dev->devfn),
> PCI_FUNC(dev->devfn), num_vfs);
After applying this patch, the VM with a igbvf will not crash during reboot.
Tested-by: Yanghang Liu<yanghliu@redhat.com>
On Mon, Nov 27, 2023 at 5:12 PM Cédric Le Goater <clg@redhat.com> wrote:
> On 11/23/23 08:56, Akihiko Odaki wrote:
> > g_new() aborts if the allocation fails so it returns NULL only if the
> > requested allocation size is zero. register_vfs() makes such an
> > allocation if NumVFs is zero so it should not assert that g_new()
> > returns a non-NULL value.
> >
> > Fixes: 7c0fa8dff8 ("pcie: Add support for Single Root I/O Virtualization
> (SR/IOV)")
> > Buglink: https://issues.redhat.com/browse/RHEL-17209
> > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
>
>
> Reviewed-by: Cédric Le Goater <clg@redhat.com>
>
> Thanks,
>
> C.
>
>
> > ---
> > hw/pci/pcie_sriov.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
> > index 5ef8950940..a1fe65f5d8 100644
> > --- a/hw/pci/pcie_sriov.c
> > +++ b/hw/pci/pcie_sriov.c
> > @@ -178,7 +178,6 @@ static void register_vfs(PCIDevice *dev)
> > num_vfs = pci_get_word(dev->config + sriov_cap + PCI_SRIOV_NUM_VF);
> >
> > dev->exp.sriov_pf.vf = g_new(PCIDevice *, num_vfs);
> > - assert(dev->exp.sriov_pf.vf);
> >
> > trace_sriov_register_vfs(dev->name, PCI_SLOT(dev->devfn),
> > PCI_FUNC(dev->devfn), num_vfs);
>
>
>
On 11/30/23 10:52, YangHang Liu wrote:
> After applying this patch, the VM with a igbvf will not crash during reboot.
>
> Tested-by: Yanghang Liu<yanghliu@redhat.com <mailto:yanghliu@redhat.com>>
Michael, do you have plans to send a PR for -rc3 ?
Thanks,
C.
>
> On Mon, Nov 27, 2023 at 5:12 PM Cédric Le Goater <clg@redhat.com <mailto:clg@redhat.com>> wrote:
>
> On 11/23/23 08:56, Akihiko Odaki wrote:
> > g_new() aborts if the allocation fails so it returns NULL only if the
> > requested allocation size is zero. register_vfs() makes such an
> > allocation if NumVFs is zero so it should not assert that g_new()
> > returns a non-NULL value.
> >
> > Fixes: 7c0fa8dff8 ("pcie: Add support for Single Root I/O Virtualization (SR/IOV)")
> > Buglink: https://issues.redhat.com/browse/RHEL-17209 <https://issues.redhat.com/browse/RHEL-17209>
> > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com <mailto:akihiko.odaki@daynix.com>>
>
>
> Reviewed-by: Cédric Le Goater <clg@redhat.com <mailto:clg@redhat.com>>
>
> Thanks,
>
> C.
>
>
> > ---
> > hw/pci/pcie_sriov.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
> > index 5ef8950940..a1fe65f5d8 100644
> > --- a/hw/pci/pcie_sriov.c
> > +++ b/hw/pci/pcie_sriov.c
> > @@ -178,7 +178,6 @@ static void register_vfs(PCIDevice *dev)
> > num_vfs = pci_get_word(dev->config + sriov_cap + PCI_SRIOV_NUM_VF);
> >
> > dev->exp.sriov_pf.vf = g_new(PCIDevice *, num_vfs);
> > - assert(dev->exp.sriov_pf.vf);
> >
> > trace_sriov_register_vfs(dev->name, PCI_SLOT(dev->devfn),
> > PCI_FUNC(dev->devfn), num_vfs);
>
>
On Thu, Nov 30, 2023 at 04:37:43PM +0100, Cédric Le Goater wrote:
> On 11/30/23 10:52, YangHang Liu wrote:
> > After applying this patch, the VM with a igbvf will not crash during reboot.
> >
> > Tested-by: Yanghang Liu<yanghliu@redhat.com <mailto:yanghliu@redhat.com>>
>
> Michael, do you have plans to send a PR for -rc3 ?
>
> Thanks,
>
> C.
Yes.
>
>
> >
> > On Mon, Nov 27, 2023 at 5:12 PM Cédric Le Goater <clg@redhat.com <mailto:clg@redhat.com>> wrote:
> >
> > On 11/23/23 08:56, Akihiko Odaki wrote:
> > > g_new() aborts if the allocation fails so it returns NULL only if the
> > > requested allocation size is zero. register_vfs() makes such an
> > > allocation if NumVFs is zero so it should not assert that g_new()
> > > returns a non-NULL value.
> > >
> > > Fixes: 7c0fa8dff8 ("pcie: Add support for Single Root I/O Virtualization (SR/IOV)")
> > > Buglink: https://issues.redhat.com/browse/RHEL-17209 <https://issues.redhat.com/browse/RHEL-17209>
> > > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com <mailto:akihiko.odaki@daynix.com>>
> >
> >
> > Reviewed-by: Cédric Le Goater <clg@redhat.com <mailto:clg@redhat.com>>
> >
> > Thanks,
> >
> > C.
> >
> >
> > > ---
> > > hw/pci/pcie_sriov.c | 1 -
> > > 1 file changed, 1 deletion(-)
> > >
> > > diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
> > > index 5ef8950940..a1fe65f5d8 100644
> > > --- a/hw/pci/pcie_sriov.c
> > > +++ b/hw/pci/pcie_sriov.c
> > > @@ -178,7 +178,6 @@ static void register_vfs(PCIDevice *dev)
> > > num_vfs = pci_get_word(dev->config + sriov_cap + PCI_SRIOV_NUM_VF);
> > >
> > > dev->exp.sriov_pf.vf = g_new(PCIDevice *, num_vfs);
> > > - assert(dev->exp.sriov_pf.vf);
> > >
> > > trace_sriov_register_vfs(dev->name, PCI_SLOT(dev->devfn),
> > > PCI_FUNC(dev->devfn), num_vfs);
> >
> >
On 23/11/23 08:56, Akihiko Odaki wrote:
> g_new() aborts if the allocation fails so it returns NULL only if the
> requested allocation size is zero. register_vfs() makes such an
> allocation if NumVFs is zero so it should not assert that g_new()
> returns a non-NULL value.
>
> Fixes: 7c0fa8dff8 ("pcie: Add support for Single Root I/O Virtualization (SR/IOV)")
> Buglink: https://issues.redhat.com/browse/RHEL-17209
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
> hw/pci/pcie_sriov.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
> index 5ef8950940..a1fe65f5d8 100644
> --- a/hw/pci/pcie_sriov.c
> +++ b/hw/pci/pcie_sriov.c
> @@ -178,7 +178,6 @@ static void register_vfs(PCIDevice *dev)
> num_vfs = pci_get_word(dev->config + sriov_cap + PCI_SRIOV_NUM_VF);
>
> dev->exp.sriov_pf.vf = g_new(PCIDevice *, num_vfs);
> - assert(dev->exp.sriov_pf.vf);
>
> trace_sriov_register_vfs(dev->name, PCI_SLOT(dev->devfn),
> PCI_FUNC(dev->devfn), num_vfs);
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
© 2016 - 2026 Red Hat, Inc.