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] [day] [month] [year] [list]
Date:   Thu, 23 Apr 2020 22:52:40 +0800
From:   Dejin Zheng <zhengdejin5@...il.com>
To:     Markus Elfring <Markus.Elfring@....de>
Cc:     dri-devel@...ts.freedesktop.org, linux-fbdev@...r.kernel.org,
        Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
        Sudip Mukherjee <sudipm.mukherjee@...il.com>,
        Teddy Wang <teddy.wang@...iconmotion.com>,
        linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Andy Shevchenko <andy.shevchenko@...il.com>
Subject: Re: [PATCH v1] fbdev: sm712fb: fix an issue about iounmap for a
 wrong address

On Thu, Apr 23, 2020 at 02:14:48PM +0200, Markus Elfring wrote:
> > the sfb->fb->screen_base is not save the value get by iounmap() when
> > the chip id is 0x720.
> 
> I suggest to improve this change description.
> How did you determine relevant differences for the mentioned chip model?
>
Read and check its codes。

smtcfb_pci_probe() --> smtc_map_smem()

smtcfb_pci_probe()
switch (sfb->chip_id) {
        case 0x710:
        case 0x712:
		sfb->lfb = ioremap(mmio_base, mmio_addr);
	case 0x720:
		sfb->dp_regs = ioremap(mmio_base, 0x00200000 + smem_size);
                sfb->lfb = sfb->dp_regs + 0x00200000;
	}
smtc_map_smem()
	sfb->fb->screen_base = sfb->lfb;


smtcfb_pci_remove() --> smtc_unmap_smem()

smtc_unmap_smem()
	iounmap(sfb->fb->screen_base);

> 
> > so iounmap() for address sfb->fb->screen_base is not right.
> 
> Will another imperative wording become helpful here?
> 
yes, this is why need to change this code.

> 
> …
> > +++ b/drivers/video/fbdev/sm712fb.c
> > @@ -1429,6 +1429,8 @@  static int smtc_map_smem(struct smtcfb_info *sfb,
> >  static void smtc_unmap_smem(struct smtcfb_info *sfb)
> >  {
> >  	if (sfb && sfb->fb->screen_base) {
> > +		if (sfb->chip_id == 0x720)
> > +			sfb->fb->screen_base -= 0x00200000;
> >  		iounmap(sfb->fb->screen_base);
> 
> How do you think about to use descriptive identifiers for
> the shown constants?
>
These two constants are originally in the driver, I don't know enough
about its meaning, There are a lot of constants in this driver. If I
replace it with the macro, I worry that the name of the macro may not
be accurate.

> Would you like to clarify any related software analysis approaches?
>
just read coedes and check it.

> Regards,
> Markus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ