[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201210151631.GN2789@kadam>
Date: Thu, 10 Dec 2020 18:16:31 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: shaojie.dong@...c.iscas.ac.cn
Cc: Larry.Finger@...inger.net, florian.c.schilhabel@...glemail.com,
gregkh@...uxfoundation.org, devel@...verdev.osuosl.org,
linux-kernel@...r.kernel.org
Subject: Re: Re: [PATCH] staging: rtl8712: check register_netdev() return
value
On Thu, Dec 10, 2020 at 11:05:34PM +0800, shaojie.dong@...c.iscas.ac.cn wrote:
> Hi
>
> >
> > This function should not be calling register_netdev(). What does that
> > have to do with firmware? It should also not free_netdev() because
> > that will just lead to a use after free in the caller.
> >
>
> --> check code history author<larry.finger@...inger.net> changed synchronous firmware loading to asynchronous firmware loading
> before this change, register_netdev() was not calling in firmware related function.
> For asynchronous loading, maybe register_netdev() be calling in rtl871x_load_fw_cb() is to ensure the netdev be registered after firmware loading completed
>
> --> for potential use after free issue
> Could I only call "free_irq(adapter->pnetdev->irq, adapter->pnetdev)" when register_netdev() failed ?
> If no need to change drivers/staging/rtl8712/hal_init.c file, I could give up my patch, thank you !
>
Cleaning this up is a bit complicated and requires reworking the
firmware loading and it requires testing. I don't think you have the
hardware to actually test this driver? Probably, just leave this code
for another day.
regards,
dan carpenter
Powered by blists - more mailing lists