Messages in this thread | | | From | Kyle Moffett <> | Subject | PAG/tokens in the kernel (again) | Date | Tue, 18 May 2004 19:50:39 -0400 |
| |
From what I can tell searching the web and reading the LKML archives, the issue of PAGs in the kernel is still mostly unresolved. I guess currently the reason that all of the patches have been rejected is due to the combination of the patch with parts of AFS or NFSv4 or Coda or whatever. I've looked at most of the complaints about the patches proposed on the list and decided introduce a cleaner alternative idea.
What if each process had a PAG entry associated with it (Similar to earlier proposals). Each PAG would have a set of associated tokens (AFS, NFSv4, Coda, whatever), and a parent PAG. The search for tokens would begin in the process's PAG and continue up the list until it either found a token or hit the end. All user processes would be able to push a new empty PAG onto the front of their PAG list (up to a limit). Thus it is possible to create a new set of tokens (admin tokens or whatever) that hide the older ones for a given process and its subprocesses. Thus the PAG originally created when logging in on one console could be pointed to by several processes and several other PAGs.
It would also perhaps be useful to allow any process with the CAP_PAG bit set to modify the chain in other ways on any process. One example could be to allow sshd/rshd to connect a user's new session to an already existing PAG, without hiding anything in the user's newly created PAG.
I'm sure that there are holes in this idea somewhere, please feel free to point them out. If other people like it or would like to see a patch I'll try to hack up one, but I'd rather not waste the effort if this has some utterly fatal flaw.
Cheers, Kyle Moffett
-----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCM/CS/IT/U d- s++: a17 C++++>$ UB/L/X/*++++(+)>$ P+++(++++)>$ L++++(+++) E W++(+) N+++(++) o? K? w--- O? M++ V? PS+() PE+(-) Y+ PGP+++ t+(+++) 5 X R? tv-(--) b++++(++) DI+ D+ G e->++++$ h!*()>++$ r !y?(-) ------END GEEK CODE BLOCK------
- 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/
| |