lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200423155116.GA2247@nuc8i5>
Date:   Thu, 23 Apr 2020 23:51:16 +0800
From:   Dejin Zheng <zhengdejin5@...il.com>
To:     Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
Cc:     gregkh@...uxfoundation.org, tglx@...utronix.de,
        FlorianSchandinat@....de, ralf@...ux-mips.org,
        tsbogend@...ha.franken.de, dri-devel@...ts.freedesktop.org,
        linux-fbdev@...r.kernel.org, linux-kernel@...r.kernel.org,
        Andy Shevchenko <andy.shevchenko@...il.com>
Subject: Re: [PATCH v2] console: console: Complete exception handling in
 newport_probe()

On Thu, Apr 23, 2020 at 04:55:35PM +0200, Bartlomiej Zolnierkiewicz wrote:
> 
> Hi,
> 
> I believe that the patch summary line should be:
> 
> "[PATCH v2] console: newport_con: ..."
>
OK, thanks!

> On 4/23/20 4:26 PM, Dejin Zheng wrote:
> > A call of the function ¡°do_take_over_console¡± can fail here.
> > The corresponding system resources were not released then.
> > Thus add a call of the function ¡°iounmap¡± together with the check
> > of a failure predicate.
> > 
> > Fixes: e84de0c6190503 ("MIPS: GIO bus support for SGI IP22/28")
>
> I cannot see how this patch fixes commit e84de0c6190503
> (AFAICS npregs has also been leaked on error before)?
>
yes, you are right, the commit should be e86bb8acc0fdca82d2
("[PATCH] VT binding: Make newport_con support binding")

- move register ioremap from newport_startup() to newport_console_init()

> > CC: Andy Shevchenko <andy.shevchenko@...il.com>
> > Signed-off-by: Dejin Zheng <zhengdejin5@...il.com>
> > ---
> > v1 -> v2:
> > 	- modify the commit comments by Markus'suggestion.
> > 
> >  drivers/video/console/newport_con.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/video/console/newport_con.c b/drivers/video/console/newport_con.c
> > index 00dddf6e08b0..6bfc8e3ffd4a 100644
> > --- a/drivers/video/console/newport_con.c
> > +++ b/drivers/video/console/newport_con.c
> > @@ -720,6 +720,9 @@ static int newport_probe(struct gio_device *dev,
> >  	console_lock();
> >  	err = do_take_over_console(&newport_con, 0, MAX_NR_CONSOLES - 1, 1);
> >  	console_unlock();
> > +
> > +	if (err)
> > +		iounmap((void *)npregs);
> 
> Looks OK but while you are at it, could you please also add missing
> release_mem_region() on error and on device removal:
>
Ok, Thanks, I will send the patch v3 for it.

> 	newport_addr = dev->resource.start + 0xF0000;
> 	if (!request_mem_region(newport_addr, 0x10000, "Newport"))
> 		return -ENODEV;
> 
> 	npregs = (struct newport_regs *)/* ioremap cannot fail */
> 		ioremap(newport_addr, sizeof(struct newport_regs));
> 	console_lock();
> 	err = do_take_over_console(&newport_con, 0, MAX_NR_CONSOLES - 1, 1);
> 	console_unlock();
> 	return err;
> }
> 
> static void newport_remove(struct gio_device *dev)
> {
> 	give_up_console(&newport_con);
> 	iounmap((void *)npregs);
> }
> 
> ?
> 
> >  	return err;
> >  }
> >  
> 
> Best regards,
> --
> Bartlomiej Zolnierkiewicz
> Samsung R&D Institute Poland
> Samsung Electronics

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ