Re: [patch] threading fix, tid-2.5.47-A3

From: Luca Barbieri (ldb@ldb.ods.org)
Date: Sun Nov 17 2002 - 14:54:35 EST


The new definition of the clone flags is binary incompatible with older
2.5 kernels.
How about this instead:
#define CLONE_PARENT_SETTID 0x00100000
#define CLONE_CHILD_CLEARTID 0x00200000
#define CLONE_DETACHED 0x00400000
#define CLONE_UNTRACED 0x00800000
#define CLONE_CHILD_SETTID 0x01000000

> -#if CONFIG_SMP || CONFIG_PREEMPT
> +asmlinkage void FASTCALL(schedule_tail(task_t *prev));
> asmlinkage void schedule_tail(task_t *prev)
> {
> finish_arch_switch(this_rq(), prev);
Maybe finish_arch_switch should only be called if CONFIG_SMP ||
CONFIG_PREEMPT, like what happened without this patch?

> + if (clone_flags & CLONE_PARENT_SETTID)
> + put_user(p->pid, parent_tidptr);
How about failing if put_user fails?



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



This archive was generated by hypermail 2b29 : Sat Nov 23 2002 - 22:00:19 EST