Re: [PATCH 097/190] Revert "video: imsttfb: fix potential NULL pointer dereferences"

Rob Herring
2021-04-22T02:13:47Z

On Wed, Apr 21, 2021 at 8:05 AM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> This reverts commit 1d84353d205a953e2381044953b7fa31c8c9702d.
>
> Commits from @umn.edu addresses have been found to be submitted in "bad
> faith" to try to test the kernel community's ability to review "known
> malicious" changes. The result of these submissions can be found in a
> paper published at the 42nd IEEE Symposium on Security and Privacy
> entitled, "Open Source Insecurity: Stealthily Introducing
> Vulnerabilities via Hypocrite Commits" written by Qiushi Wu (University
> of Minnesota) and Kangjie Lu (University of Minnesota).
>
> Because of this, all submissions from this group must be reverted from
> the kernel tree and will need to be re-reviewed again to determine if
> they actually are a valid fix. Until that work is complete, remove this
> change to ensure that no problems are being introduced into the
> codebase.
>
> Cc: Kangjie Lu <kjlu@umn.edu>
> Cc: Aditya Pakki <pakki001@umn.edu>
> Cc: Finn Thain <fthain@telegraphics.com.au>
> Cc: Rob Herring <robh@kernel.org>

Sigh, get_maintainers.pl likes to punish people for treewide clean-ups...

> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/video/fbdev/imsttfb.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/drivers/video/fbdev/imsttfb.c b/drivers/video/fbdev/imsttfb.c
> index 3ac053b88495..e04411701ec8 100644
> --- a/drivers/video/fbdev/imsttfb.c
> +++ b/drivers/video/fbdev/imsttfb.c
> @@ -1512,11 +1512,6 @@ static int imsttfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> info->fix.smem_start = addr;
> info->screen_base = (__u8 *)ioremap(addr, par->ramdac == IBM ?
> 0x400000 : 0x800000);
> - if (!info->screen_base) {
> - release_mem_region(addr, size);
> - framebuffer_release(info);
> - return -ENOMEM;
> - }

The original change appears to be valid, but incomplete...

> info->fix.mmio_start = addr + 0x800000;
> par->dc_regs = ioremap(addr + 0x800000, 0x1000);

...because what about cleanup when this ioremap fails.

> par->cmap_regs_phys = addr + 0x840000;

Then again, if anyone really cared about this driver and h/w (a
PowerMac era PCI display card), it would not still be using fbdev and
would use devm_* apis.

Rob