[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Coverity CID 1421984

From: Philippe Mathieu-Daudé
Subject: Re: Coverity CID 1421984
Date: Mon, 23 Mar 2020 16:28:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 3/23/20 3:46 PM, Peter Maydell wrote:
On Mon, 23 Mar 2020 at 14:43, BALATON Zoltan <address@hidden> wrote:

On Mon, 23 Mar 2020, Peter Maydell wrote:
On Mon, 23 Mar 2020 at 14:06, BALATON Zoltan <address@hidden> wrote:
On Mon, 23 Mar 2020, Peter Maydell wrote:
Coverity has flagged up a lot of leaks involving qemu_allocate_irqs();
most of them I've for the moment just set as "insignificant, fix
required" because they're in called-once functions like board init.
If this device can't be hot-unplugged and so we will only ever call
realize once, it would fall in that category too. Otherwise I'd
suggest conversion to qdev_init_gpio_in(). (This allocates arrays
of IRQs under the hood too, but the device_finalize() function will
automatically free them for you, so it's easier to use non-leakily.)

I think I can't do that in sii3112 becuase I need to pass irq to this func:

void ide_init2(IDEBus *bus, qemu_irq irq);

ide_init2(bus, qdev_get_gpio_in(DEVICE(dev), i);

should do what you want, I think.

I don't understand what you mean.

I mean that if you allocate the IRQs with qdev_init_gpio_in()
then the way to get a qemu_irq from within them to pass
to another function is to call qdev_get_gpio_in(). So you
just want to make your call to ide_init2() be the line I
suggest above.

I understand Zoltan can have hard time understanding qdev_get_gpio_in() because it has no documentation. What would be the best example to follow?

Sent a patch that I think might fix this
warning for now. I'd leave qdevifying ide code to someone else.

There's no need to qdevify IDE for this.

-- PMM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]