[Patch]: Create Global Privilege

Corinna Vinschen cygwin-patches@cygwin.com
Mon Dec 1 11:18:00 GMT 2003


On Sun, Nov 30, 2003 at 12:07:22AM +0100, Corinna Vinschen wrote:
> On Wed, Nov 26, 2003 at 10:45:57AM -0500, Pierre A. Humblet wrote:
> > At 03:32 PM 11/26/2003 +0100, Corinna Vinschen wrote:
> > >Imagine a sshd service is running on the system.  This service has the
> > >SE_CREATE_GLOBAL_NAME privilege and would create the global object on
> > >system startup (given the service is in automatic mode).  Other processes
> > >would then be able to access the global object, regardless if running in
> > >a terminal session or not.  This would keep the process list together,
> > >for instance.
> > [...]
> > The problem with the track you start on is that one can end up with a
> > split system, e.g. the cygwin share in global space and a tty in local
> > space, invisible to the rest of the system. I am unsure of what can
> > happen then. Also the user share could be either global or local, depending
> > if a user (or a seteuid process) is already running at the console/service
> > at the moment a session starts under Terminal Services. 
> > That leads to indeterminate behavior.
> 
> If we make sure that the first process started in a process hirarchy
> determines where the shared mem is, that shouldn't be a problem.  The
> decision should be made only once.

I've applied the patch which just a minor change to remove the
`if (!prefix)'.

However, I think the right thing to do would be to add prefix to
cygheap_init so that it survives exec(2) calls.

Chris, any problem with this?  It's another 8 bytes...

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.



More information about the Cygwin-patches mailing list