mirror of https://gitee.com/openkylin/linux.git
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: Kangjie Lu <kjlu@umn.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9f4d6358e1
commit
c7cbc3e937
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue