From: Linus Torvalds Date: Fri, 4 Apr 2008 21:30:31 +0000 (-0700) Subject: parport_pc: make sure to release IO ports after probing for IT87XX X-Git-Tag: v2.6.25-rc9~72 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=4ed919014eb2b591eb8fdd4dd00226a65faddef4;p=linux-2.6-omap-h63xx.git parport_pc: make sure to release IO ports after probing for IT87XX Commit f63fd7e299ee13da071ecfce2b90b58c5e1562b1 ("parport_pc: detection for SuperIO IT87XX POST") only released the IO port region on success, not when the probe for the IT87XX chip failed. That caused not only a reserved region to leak, but also caused an oops when the driver module was unloaded and somebody tried to cat /proc/ioports - because the string that was assigned to the IO port region was a static string in the module virtual address area. Reported-by: Lubos Lunak Cc: Jan Kara Cc: Petr Cvek Acked-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c index d76d37bcb9c..a8580893820 100644 --- a/drivers/parport/parport_pc.c +++ b/drivers/parport/parport_pc.c @@ -1568,9 +1568,8 @@ static void __devinit detect_and_report_it87(void) outb(r | 8, 0x2F); outb(0x02, 0x2E); /* Lock */ outb(0x02, 0x2F); - - release_region(0x2e, 1); } + release_region(0x2e, 1); } #endif /* CONFIG_PARPORT_PC_SUPERIO */