Re: [PATCH] net: 8390: fix potential NULL pointer dereferences

2019-03-10 Thread David Miller
From: Kangjie Lu 
Date: Sun, 10 Mar 2019 03:14:53 -0500

> In case ioremap fails, the fix returns to avoid NULL pointer
> dereferences.
> 
> Signed-off-by: Kangjie Lu 
> ---
>  drivers/net/ethernet/8390/pcnet_cs.c | 8 
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/net/ethernet/8390/pcnet_cs.c 
> b/drivers/net/ethernet/8390/pcnet_cs.c
> index 61e43802b9a5..d82ecedf7366 100644
> --- a/drivers/net/ethernet/8390/pcnet_cs.c
> +++ b/drivers/net/ethernet/8390/pcnet_cs.c
> @@ -289,6 +289,9 @@ static struct hw_info *get_hwinfo(struct pcmcia_device 
> *link)
>  
>  virt = ioremap(link->resource[2]->start,
>   resource_size(link->resource[2]));
> + if (unlikely(!virt))
> + return NULL;

Please retain the existing indentation, otherwise your changes are
impossible to read.


[PATCH] net: 8390: fix potential NULL pointer dereferences

2019-03-10 Thread Kangjie Lu
In case ioremap fails, the fix returns to avoid NULL pointer
dereferences.

Signed-off-by: Kangjie Lu 
---
 drivers/net/ethernet/8390/pcnet_cs.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/drivers/net/ethernet/8390/pcnet_cs.c 
b/drivers/net/ethernet/8390/pcnet_cs.c
index 61e43802b9a5..d82ecedf7366 100644
--- a/drivers/net/ethernet/8390/pcnet_cs.c
+++ b/drivers/net/ethernet/8390/pcnet_cs.c
@@ -289,6 +289,9 @@ static struct hw_info *get_hwinfo(struct pcmcia_device 
*link)
 
 virt = ioremap(link->resource[2]->start,
resource_size(link->resource[2]));
+   if (unlikely(!virt))
+   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 +1426,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);
-- 
2.17.1