Re: Syslets, signals, and security

From: Andi Kleen
Date: Mon Jun 04 2007 - 16:01:18 EST


Jeff Dike <jdike@xxxxxxxxxxx> writes:

> How about splitting the credentials out of the task_struct and making
> them sharable ala ->mm et al? You change uid there and it changes for
> everyone. It will make fork slightly more expensive though.

Strictly that's required by POSIX anyways. But it's a real mess.

The problem is that you would need to reference count/lock them in every
syscall or ioctl or similar. Otherwise another thread
could change them in the middle of a syscall which wouldn't be
good. Doing this full reference counting would be probably somewhat
expensive with more locked cycles and also a lot of work to implement.
You would need to audit large parts of the source tree.

I don't think it's a good idea.

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