Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7cbc3e9 authored by Kangjie Lu's avatar Kangjie Lu Committed by David S. Miller
Browse files

net: 8390: fix potential NULL pointer dereferences



In case ioremap fails, the fix releases resources and returns
to avoid NULL pointer dereferences.

Signed-off-by: default avatarKangjie Lu <kjlu@umn.edu>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9f4d6358
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -289,6 +289,11 @@ static struct hw_info *get_hwinfo(struct pcmcia_device *link)

    virt = ioremap(link->resource[2]->start,
	    resource_size(link->resource[2]));
    if (unlikely(!virt)) {
	    pcmcia_release_window(link, link->resource[2]);
	    return NULL;
    }

    for (i = 0; i < NR_INFO; i++) {
	pcmcia_map_mem_page(link, link->resource[2],
		hw_info[i].offset & ~(resource_size(link->resource[2])-1));
@@ -1423,6 +1428,11 @@ static int setup_shmem_window(struct pcmcia_device *link, int start_pg,
    /* Try scribbling on the buffer */
    info->base = ioremap(link->resource[3]->start,
			resource_size(link->resource[3]));
    if (unlikely(!info->base)) {
	    ret = -ENOMEM;
	    goto failed;
    }

    for (i = 0; i < (TX_PAGES<<8); i += 2)
	__raw_writew((i>>1), info->base+offset+i);
    udelay(100);