Re: [PATCH] net: wireless: fix missing checks for ioremap

From: Kangjie Lu
Date: Fri Mar 22 2019 - 23:58:41 EST



Can someone review the patch?

Thanks.

> On Mar 11, 2019, at 2:54 AM, Kangjie Lu <kjlu@xxxxxxx> wrote:
>
> ioremap could fail and returns NULL. The fix actively checks
> its return value and handles potential failures.
>
> Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
> ---
> drivers/net/wireless/ray_cs.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
> index 44a943d18b84..cecd18a2f2de 100644
> --- a/drivers/net/wireless/ray_cs.c
> +++ b/drivers/net/wireless/ray_cs.c
> @@ -394,6 +394,10 @@ static int ray_config(struct pcmcia_device *link)
> goto failed;
> local->sram = ioremap(link->resource[2]->start,
> resource_size(link->resource[2]));
> + if (!local->sram) {
> + ret = -ENOMEM;
> + goto failed;
> + }
>
> /*** Set up 16k window for shared memory (receive buffer) ***************/
> link->resource[3]->flags |=
> @@ -408,6 +412,10 @@ static int ray_config(struct pcmcia_device *link)
> goto failed;
> local->rmem = ioremap(link->resource[3]->start,
> resource_size(link->resource[3]));
> + if (!local->rmem) {
> + ret = -ENOMEM;
> + goto failed;
> + }
>
> /*** Set up window for attribute memory ***********************************/
> link->resource[4]->flags |=
> @@ -422,6 +430,10 @@ static int ray_config(struct pcmcia_device *link)
> goto failed;
> local->amem = ioremap(link->resource[4]->start,
> resource_size(link->resource[4]));
> + if (!local->amem) {
> + ret = -ENOMEM;
> + goto failed;
> + }
>
> dev_dbg(&link->dev, "ray_config sram=%p\n", local->sram);
> dev_dbg(&link->dev, "ray_config rmem=%p\n", local->rmem);
> --
> 2.17.1
>