Re: [PATCH 2.6.9] fork: move security_task_alloc() after p->parent initialization

From: Greg KH
Date: Tue Nov 23 2004 - 10:54:39 EST


On Tue, Nov 23, 2004 at 03:38:51PM +0100, Guillaume Thouvenin wrote:
> If we register a LSM hook and if we use the parameter passed to
> security_task_alloc(struct task_struct *p), the value of p->parent is
> wrong. This patch move the call to security_task_alloc() after the
> initialization of the field p->parent.

No, that's way too late for this hook.

> --- kernel/fork.c.orig 2004-10-19 08:41:53.000000000 +0200
> +++ kernel/fork.c 2004-11-23 15:29:25.799903744 +0100
> @@ -1006,8 +1006,6 @@ static task_t *copy_process(unsigned lon
> }
> #endif
>
> - if ((retval = security_task_alloc(p)))
> - goto bad_fork_cleanup_policy;
> if ((retval = audit_alloc(p)))
> goto bad_fork_cleanup_security;
> /* copy all the process information */
> @@ -1092,6 +1090,9 @@ static task_t *copy_process(unsigned lon
> p->real_parent = current;
> p->parent = p->real_parent;
>
> + if ((retval = security_task_alloc(p)))
> + goto bad_fork_cleanup_policy;
> +

And the error path is wrong :)

thanks,

greg k-h
-
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/