From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751995AbdIMQHH (ORCPT ); Wed, 13 Sep 2017 12:07:07 -0400 Received: from mail-wm0-f42.google.com ([74.125.82.42]:46909 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751067AbdIMQHE (ORCPT ); Wed, 13 Sep 2017 12:07:04 -0400 X-Google-Smtp-Source: AOwi7QAOa1wrcymdOkvpb2bhrVRZDP21hI8k6e1Eu7ZWXpml6QWoC9+UOgXiP+B5SQBQ/WMgbD0bBw== From: Andrey Konovalov To: Greg Kroah-Hartman , Johan Hovold , "Gustavo A . R . Silva" , Arvind Yadav , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Dmitry Vyukov , Kostya Serebryany , Andrey Konovalov Subject: [PATCH v2] uwb: properly check kthread_run return value Date: Wed, 13 Sep 2017 18:06:58 +0200 Message-Id: <20170913160658.18131-1-andreyknvl@google.com> X-Mailer: git-send-email 2.14.1.581.gf28d330327-goog Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Also add a check to uwbd_stop(). Signed-off-by: Andrey Konovalov --- drivers/uwb/uwbd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/uwb/uwbd.c b/drivers/uwb/uwbd.c index 01c20a260a8b..2a3cc48d837c 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 @@ -313,7 +313,8 @@ void uwbd_start(struct uwb_rc *rc) /* Stop the UWB daemon and free any unprocessed events */ void uwbd_stop(struct uwb_rc *rc) { - kthread_stop(rc->uwbd.task); + if (!IS_ERR(rc->uwbd.task)) + kthread_stop(rc->uwbd.task); uwbd_flush(rc); } -- 2.14.1.581.gf28d330327-goog