Hello, I would like to write a module that it seems to me is somewhat simple so I would like to know if such a thing already exists or if my understanding of the problem is perhaps warped. The desired module would be a file I/O interface backed by kernel memory with fancy access control. The access control code is the important part and may be used to restrict access to this "file" using any one or possibly combination of methods including but not limited to the following: o A uid associated with the file would indicate that only a caller with that uid has access to the file. o A ppid associated with the file would indicate that only a calling process with that pid or decendent of a process with that pid has access to the file. o An inode of a .so associated with the file would indicate that only code originating from the specified library can access the file. The primary motivation for this module is as a secure storage for security context information such as basic user information, credentials, priviledges, groups, etc. For example, imagine an HTTP server that accepts Kerberos credentials that are to be used by worker processes to communicate with other tiers. The only way to do this using conventional code from Heimdal or MIT is to place the credentials into disk files. But because the disk files are all owned by the HTTP server, all worker processes have access to all credentials. If the Kerberos libraries used the secure storage module I described the accepting worker could place the credential there protected by pid, perform it's work on behalf of the client, and then delete the storage without ever exposing the credentials to other workers. >From userspace the code might look something like: int fd = open("/dev/sss0", flags) ioctl(fd, req, "krb5_cc[uid=1234,ppid=5678]") FILE *ccachefp = fdopen(fd, mode) So the kernel extension could be a simple device file implementation. The ioctl data "krb5_cc[uid=1234,ppid=5678]" indicates the name of the storage and some access control parameters. If the storage is created vs opened the access control parameters are set. Is anyone aware of something like this that I can start from? Thanks, Mike -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ