Re: [BUG][PATCH -mm] avoid BUG() in __stop_machine_run()

From: Ingo Molnar
Date: Fri Jun 20 2008 - 09:21:44 EST



* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

>> This simply introduces a flag to allow us to disable the capability
>> checks for internal callers (this is simpler than splitting the
>> sched_setscheduler() function, since it loops checking permissions).
>>
> What about?
>
> int sched_setscheduler(struct task_struct *p, int policy,
> struct sched_param *param)
> {
> return __sched_setscheduler(p, policy, param, true);
> }
>
>
> int sched_setscheduler_nocheck(struct task_struct *p, int policy,
> struct sched_param *param)
> {
> return __sched_setscheduler(p, policy, param, false);
> }
>
>
> (With the appropriate transformation of sched_setscheduler -> __)
>
> Better than scattering stray true/falses around the code.

agreed - it would also be less intrusive on the API change side.

i've created a new tip/sched/new-API-sched_setscheduler topic for this
to track it, but it would be nice to have a v2 of this patch that
introduces the new API the way suggested by Jeremy. (Hence the new topic
is auto-merged into tip/master but not into linux-next yet.) Thanks,

Ingo
--
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/