ACK: [PATCH] uwb: properly check kthread_run return value
Stefan Bader
stefan.bader at canonical.com
Thu Jul 19 12:23:56 UTC 2018
On 10.07.2018 13:49, Paolo Pisati wrote:
> From: Andrey Konovalov <andreyknvl at google.com>
>
> 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 <andreyknvl at google.com>
> Cc: stable <stable at vger.kernel.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> (cherry picked from commit bbf26183b7a6236ba602f4d6a2f7cade35bba043)
> Signed-off-by: Paolo Pisati <paolo.pisati at canonical.com>
Acked-by: Stefan Bader <stefan.bader at canonical.com>
> ---
> drivers/uwb/uwbd.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/uwb/uwbd.c b/drivers/uwb/uwbd.c
> index bdcb13c..5c98283 100644
> --- a/drivers/uwb/uwbd.c
> +++ b/drivers/uwb/uwbd.c
> @@ -303,18 +303,22 @@ static int uwbd(void *param)
> /** Start the UWB daemon */
> void uwbd_start(struct uwb_rc *rc)
> {
> - rc->uwbd.task = kthread_run(uwbd, rc, "uwbd");
> - if (rc->uwbd.task == NULL)
> + struct task_struct *task = kthread_run(uwbd, rc, "uwbd");
> + if (IS_ERR(task)) {
> + rc->uwbd.task = NULL;
> printk(KERN_ERR "UWB: Cannot start management daemon; "
> "UWB won't work\n");
> - else
> + } else {
> + rc->uwbd.task = task;
> rc->uwbd.pid = rc->uwbd.task->pid;
> + }
> }
>
> /* Stop the UWB daemon and free any unprocessed events */
> void uwbd_stop(struct uwb_rc *rc)
> {
> - kthread_stop(rc->uwbd.task);
> + if (rc->uwbd.task)
> + kthread_stop(rc->uwbd.task);
> uwbd_flush(rc);
> }
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20180719/67b010d6/attachment.sig>
More information about the kernel-team
mailing list