Re: [PATCH] sys_ioprio_set: minor do_each_thread+break fix

From: Jens Axboe
Date: Mon Aug 21 2006 - 02:23:44 EST


On Sun, Aug 20 2006, Oleg Nesterov wrote:
> From include/linux/sched.h:
> /*
> * Careful: do_each_thread/while_each_thread is a double loop so
> * 'break' will not work as expected - use goto instead.
> */
>
> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
>
> --- 2.6.18-rc4/fs/ioprio.c~2_break 2006-07-16 01:53:08.000000000 +0400
> +++ 2.6.18-rc4/fs/ioprio.c 2006-08-20 18:57:38.000000000 +0400
> @@ -111,9 +111,9 @@ asmlinkage long sys_ioprio_set(int which
> continue;
> ret = set_task_ioprio(p, ioprio);
> if (ret)
> - break;
> + goto free_uid;
> } while_each_thread(g, p);
> -
> +free_uid:
> if (who)
> free_uid(user);
> break;

Good catch, applied!

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/