Re: [PATCH] staging: wilc1000: fix check of kthread_run() return value

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Vladimir,

On Thu, Mar 10, 2016 at 10:13 AM, Vladimir Zapolskiy <vz@xxxxxxxxx> wrote:
> The kthread_run() function returns either a valid task_struct or
> ERR_PTR() value, check for NULL is invalid. The change fixes potential
> oops, e.g. in OOM situation.
>
> Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx>
> ---
>  drivers/staging/wilc1000/linux_wlan.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
> index 54fe9d7..5077c30 100644
> --- a/drivers/staging/wilc1000/linux_wlan.c
> +++ b/drivers/staging/wilc1000/linux_wlan.c
> @@ -849,10 +849,10 @@ static int wlan_initialize_threads(struct net_device *dev)
>         PRINT_D(INIT_DBG, "Creating kthread for transmission\n");
>         wilc->txq_thread = kthread_run(linux_wlan_txq_task, (void *)dev,
>                                      "K_TXQ_TASK");
> -       if (!wilc->txq_thread) {
> +       if (IS_ERR(wilc->txq_thread)) {
>                 PRINT_ER("couldn't create TXQ thread\n");
>                 wilc->close = 0;
> -               return -ENOBUFS;
> +               return PTR_ERR(wilc->txq_thread);

Are you sure changing the error returned is correct? Do all the
callers of wlan_initialize_threads() handle the full range of errors
from kthread_run()?

Thanks,

-- 
Julian Calaby

Email: julian.calaby@xxxxxxxxx
Profile: http://www.google.com/profiles/julian.calaby/
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux