Skip to content

Commit c7cbc3e

Browse files
kengiterdavem330
authored andcommitted
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>
1 parent 9f4d635 commit c7cbc3e

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

drivers/net/ethernet/8390/pcnet_cs.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,11 @@ static struct hw_info *get_hwinfo(struct pcmcia_device *link)
289289

290290
virt = ioremap(link->resource[2]->start,
291291
resource_size(link->resource[2]));
292+
if (unlikely(!virt)) {
293+
pcmcia_release_window(link, link->resource[2]);
294+
return NULL;
295+
}
296+
292297
for (i = 0; i < NR_INFO; i++) {
293298
pcmcia_map_mem_page(link, link->resource[2],
294299
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,
14231428
/* Try scribbling on the buffer */
14241429
info->base = ioremap(link->resource[3]->start,
14251430
resource_size(link->resource[3]));
1431+
if (unlikely(!info->base)) {
1432+
ret = -ENOMEM;
1433+
goto failed;
1434+
}
1435+
14261436
for (i = 0; i < (TX_PAGES<<8); i += 2)
14271437
__raw_writew((i>>1), info->base+offset+i);
14281438
udelay(100);

0 commit comments

Comments
 (0)