Messages in this thread | | | From | Andrey Konovalov <> | Date | Wed, 13 Sep 2017 17:59:59 +0200 | Subject | Re: [PATCH] uwb: properly check kthread_run return value |
| |
On Wed, Sep 13, 2017 at 5:06 PM, Andrey Konovalov <andreyknvl@google.com> wrote: > uwbd_start() calls kthread_run() and checks that the return value is > not NULL. But the return value is not NULL in case kthread_run() fails, > it takes the form of ERR_PTR(-EINTR). > > Use IS_ERR() instead.
This uncovers another issue, there's no check of rc->uwbd.task in uwbd_stop(). Will mail v2.
> > Signed-off-by: Andrey Konovalov <andreyknvl@google.com> > --- > drivers/uwb/uwbd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/uwb/uwbd.c b/drivers/uwb/uwbd.c > index 01c20a260a8b..9f615b303576 100644 > --- a/drivers/uwb/uwbd.c > +++ b/drivers/uwb/uwbd.c > @@ -303,7 +303,7 @@ static int uwbd(void *param) > void uwbd_start(struct uwb_rc *rc) > { > rc->uwbd.task = kthread_run(uwbd, rc, "uwbd"); > - if (rc->uwbd.task == NULL) > + if (IS_ERR(rc->uwbd.task)) > printk(KERN_ERR "UWB: Cannot start management daemon; " > "UWB won't work\n"); > else > -- > 2.14.1.581.gf28d330327-goog >
| |