diff mbox

[1/2] vfio/ccw: allocate irq info with the right size

Message ID 20170718014926.44781-2-bjsdjshi@linux.vnet.ibm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Dong Jia Shi July 18, 2017, 1:49 a.m. UTC
From: Jing Zhang <bjzhjing@linux.vnet.ibm.com>

When allocating memory for the vfio_irq_info parameter of the
VFIO_DEVICE_GET_IRQ_INFO ioctl, we used the wrong size. Let's
fix it by using the right size.

Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Signed-off-by: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
---
 hw/vfio/ccw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Cornelia Huck July 18, 2017, 8:32 a.m. UTC | #1
On Tue, 18 Jul 2017 03:49:25 +0200
Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:

> From: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
> 
> When allocating memory for the vfio_irq_info parameter of the
> VFIO_DEVICE_GET_IRQ_INFO ioctl, we used the wrong size. Let's
> fix it by using the right size.
> 
> Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> Signed-off-by: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
> Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> ---
>  hw/vfio/ccw.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> index 12d0262336..8d97b53e77 100644
> --- a/hw/vfio/ccw.c
> +++ b/hw/vfio/ccw.c
> @@ -168,7 +168,7 @@ static void vfio_ccw_register_io_notifier(VFIOCCWDevice *vcdev, Error **errp)
>          return;
>      }
>  
> -    argsz = sizeof(*irq_set);
> +    argsz = sizeof(*irq_info);
>      irq_info = g_malloc0(argsz);
>      irq_info->index = VFIO_CCW_IO_IRQ_INDEX;
>      irq_info->argsz = argsz;

irq_set is larger than irq_info, but yes, let's do this correctly.

Out of curiosity, how did you spot this?
Dong Jia Shi July 18, 2017, 8:49 a.m. UTC | #2
* Cornelia Huck <cohuck@redhat.com> [2017-07-18 10:32:13 +0200]:

> On Tue, 18 Jul 2017 03:49:25 +0200
> Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
> 
> > From: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
> > 
> > When allocating memory for the vfio_irq_info parameter of the
> > VFIO_DEVICE_GET_IRQ_INFO ioctl, we used the wrong size. Let's
> > fix it by using the right size.
> > 
> > Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> > Signed-off-by: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
> > Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> > ---
> >  hw/vfio/ccw.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> > index 12d0262336..8d97b53e77 100644
> > --- a/hw/vfio/ccw.c
> > +++ b/hw/vfio/ccw.c
> > @@ -168,7 +168,7 @@ static void vfio_ccw_register_io_notifier(VFIOCCWDevice *vcdev, Error **errp)
> >          return;
> >      }
> >  
> > -    argsz = sizeof(*irq_set);
> > +    argsz = sizeof(*irq_info);
> >      irq_info = g_malloc0(argsz);
> >      irq_info->index = VFIO_CCW_IO_IRQ_INDEX;
> >      irq_info->argsz = argsz;
> 
> irq_set is larger than irq_info, but yes, let's do this correctly.
> 
> Out of curiosity, how did you spot this?
> 

I'm trying to reuse the code here, while introducing some new MMIO
regions, which you will see them some days later. ;>
Cornelia Huck July 18, 2017, 9:07 a.m. UTC | #3
On Tue, 18 Jul 2017 16:49:43 +0800
Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:

> * Cornelia Huck <cohuck@redhat.com> [2017-07-18 10:32:13 +0200]:
> 
> > On Tue, 18 Jul 2017 03:49:25 +0200
> > Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
> >   
> > > From: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
> > > 
> > > When allocating memory for the vfio_irq_info parameter of the
> > > VFIO_DEVICE_GET_IRQ_INFO ioctl, we used the wrong size. Let's
> > > fix it by using the right size.
> > > 
> > > Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> > > Signed-off-by: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
> > > Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> > > ---
> > >  hw/vfio/ccw.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> > > index 12d0262336..8d97b53e77 100644
> > > --- a/hw/vfio/ccw.c
> > > +++ b/hw/vfio/ccw.c
> > > @@ -168,7 +168,7 @@ static void vfio_ccw_register_io_notifier(VFIOCCWDevice *vcdev, Error **errp)
> > >          return;
> > >      }
> > >  
> > > -    argsz = sizeof(*irq_set);
> > > +    argsz = sizeof(*irq_info);
> > >      irq_info = g_malloc0(argsz);
> > >      irq_info->index = VFIO_CCW_IO_IRQ_INDEX;
> > >      irq_info->argsz = argsz;  
> > 
> > irq_set is larger than irq_info, but yes, let's do this correctly.
> > 
> > Out of curiosity, how did you spot this?
> >   
> 
> I'm trying to reuse the code here, while introducing some new MMIO
> regions, which you will see them some days later. ;>
> 

Looking forward to that :)
Dong Jia Shi July 19, 2017, 12:32 a.m. UTC | #4
* Cornelia Huck <cohuck@redhat.com> [2017-07-18 11:07:49 +0200]:

> On Tue, 18 Jul 2017 16:49:43 +0800
> Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
> 
> > * Cornelia Huck <cohuck@redhat.com> [2017-07-18 10:32:13 +0200]:
> > 
> > > On Tue, 18 Jul 2017 03:49:25 +0200
> > > Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
> > >   
> > > > From: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
> > > > 
> > > > When allocating memory for the vfio_irq_info parameter of the
> > > > VFIO_DEVICE_GET_IRQ_INFO ioctl, we used the wrong size. Let's
> > > > fix it by using the right size.
> > > > 
> > > > Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> > > > Signed-off-by: Jing Zhang <bjzhjing@linux.vnet.ibm.com>
> > > > Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> > > > ---
> > > >  hw/vfio/ccw.c | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> > > > index 12d0262336..8d97b53e77 100644
> > > > --- a/hw/vfio/ccw.c
> > > > +++ b/hw/vfio/ccw.c
> > > > @@ -168,7 +168,7 @@ static void vfio_ccw_register_io_notifier(VFIOCCWDevice *vcdev, Error **errp)
> > > >          return;
> > > >      }
> > > >  
> > > > -    argsz = sizeof(*irq_set);
> > > > +    argsz = sizeof(*irq_info);
> > > >      irq_info = g_malloc0(argsz);
> > > >      irq_info->index = VFIO_CCW_IO_IRQ_INDEX;
> > > >      irq_info->argsz = argsz;  
> > > 
> > > irq_set is larger than irq_info, but yes, let's do this correctly.
> > > 
> > > Out of curiosity, how did you spot this?
> > >   
> > 
> > I'm trying to reuse the code here, while introducing some new MMIO
> > regions, which you will see them some days later. ;>
> > 
> 
> Looking forward to that :)
> 

If they are lucky enough to survive the internal review to meet you.
haha.
diff mbox

Patch

diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
index 12d0262336..8d97b53e77 100644
--- a/hw/vfio/ccw.c
+++ b/hw/vfio/ccw.c
@@ -168,7 +168,7 @@  static void vfio_ccw_register_io_notifier(VFIOCCWDevice *vcdev, Error **errp)
         return;
     }
 
-    argsz = sizeof(*irq_set);
+    argsz = sizeof(*irq_info);
     irq_info = g_malloc0(argsz);
     irq_info->index = VFIO_CCW_IO_IRQ_INDEX;
     irq_info->argsz = argsz;