On Mon, Apr 13, 2020 at 11:15 PM Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > > Hi Stafford, > > On 4/13/20 1:33 AM, Stafford Horne wrote: > > On Sun, Apr 12, 2020 at 11:29:43PM +0200, Philippe Mathieu-Daudé wrote: > >> Switch to using the qdev gpio API which is preferred over > >> qemu_allocate_irqs(). Doing so we also stop leaking the > >> allocated memory. One step to eventually deprecate and > >> remove qemu_allocate_irqs() one day. > >> > >> Patch created mechanically using spatch with this script > >> inspired from commit d6ef883d9d7: > >> > >> @@ > >> typedef qemu_irq; > >> identifier irqs, handler; > >> expression opaque, count, i; > >> @@ > >> - qemu_irq *irqs; > >> ... > >> - irqs = qemu_allocate_irqs(handler, opaque, count); > >> + qdev_init_gpio_in(DEVICE(opaque), handler, count); > >> <+... > >> - irqs[i] > >> + qdev_get_gpio_in(DEVICE(opaque), i) > >> ...+> > >> ?- g_free(irqs); > >> > >> Inspired-by: Peter Maydell <peter.mayd...@linaro.org> > >> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > >> --- > >> hw/openrisc/pic_cpu.c | 5 ++--- > >> 1 file changed, 2 insertions(+), 3 deletions(-) > >> > >> diff --git a/hw/openrisc/pic_cpu.c b/hw/openrisc/pic_cpu.c > >> index 36f9350830..4b0c92f842 100644 > >> --- a/hw/openrisc/pic_cpu.c > >> +++ b/hw/openrisc/pic_cpu.c > >> @@ -52,10 +52,9 @@ static void openrisc_pic_cpu_handler(void *opaque, int > >> irq, int level) > >> void cpu_openrisc_pic_init(OpenRISCCPU *cpu) > >> { > >> int i; > >> - qemu_irq *qi; > >> - qi = qemu_allocate_irqs(openrisc_pic_cpu_handler, cpu, NR_IRQS); > >> + qdev_init_gpio_in(DEVICE(cpu), openrisc_pic_cpu_handler, NR_IRQS); > >> > >> for (i = 0; i < NR_IRQS; i++) { > >> - cpu->env.irq[i] = qi[i]; > >> + cpu->env.irq[i] = qdev_get_gpio_in(DEVICE(cpu), i); > >> } > >> } > > > > This looks fine to me. > > > > Why do you have the '5.0?' in the subject? > > Simply because similar commit d6ef883d9d7 was merged in 5.0-rc1 (and it > fixes a bug reported by Coverity, I'm not sure why Coverity didn't > reported this too).
Actually Coverity reported this issue as CID1421934 "Resource leak" on 2020-03-19 18:52:20. The system resource will not be reclaimed and reused, reducing the future availability of the resource. In cpu_openrisc_pic_init: Leak of memory or pointers to system resources (CWE-404) > > > > > -Stafford > >