[comp.sys.sgi] Arenas

pratt@mira.cs.nps.navy.mil (david pratt) (03/22/91)

Greetings,
   Thanks to everyone who answered my posting about VAX -> SGI format
 conversions. I have two more questions on a new topic, arenas.
   1. It seems that only eight processes can access an arena. I have run
several test and have not been able to get the ninth process to connect. Is 
there a way around this?
   2. I want to create an arena that two different users can access. Once again
I get a no go (Permission denied). I have tried changing the protection on 
the file and that doesn't work. Any ideas? I know this can create a security
problem for some applications.
   As always, any help is greatly appreciated.           
                                                                 Dave
 
-- 
Dave Pratt                  pratt@cs.nps.navy.mil              (408) 646-2865
Department of Computer Science, Naval Postgraduate School, Monterey, CA 93940
If the meek shall inherit the earth, I'm SOL!
These are my opinions, who knows what the Navy thinks.

micah@flobb4.csd.sgi.com (Micah Altman) (03/22/91)

In <1964@mira.cs.nps.navy.mil> pratt@mira.cs.nps.navy.mil (david pratt) writes:

>   1. It seems that only eight processes can access an arena. I have run
>several test and have not been able to get the ninth process to connect. Is 
>there a way around this?

Eight users is the default. This is changeable through the usconfig(3P) call.
Call usconfig(CONF_INITUSERS,$ of processes to share ). You must do the
usconfig() before creating the arena with usinit(). The usconfig() call
also lets you set other nifty arena parameters, the man page goes over
all of them.

>   2. I want to create an arena that two different users can access. Once again
>I get a no go (Permission denied). I have tried changing the protection on 
>the file and that doesn't work. Any ideas? I know this can create a security
>problem for some applications.

Current (3.3,3.3.1,3.3.2) arenas don't allow sharing by different users (
independently created processes with the same uid would work, but not
processes with different uid's). This will change in release 4.0.


--
	"Entia non sunt multiplicanda sine necessitate." - William of Ockham
	Micah Altman, "Computational Juggler"	   	   micah@csd.sgi.com
	Phone (415) 335-1866				   FAX (415) 965-2309
	Disclaimer: 	Everything in this document is a lie.	

Dan Karron@UCBVAX.BERKELEY.EDU (03/23/91)

>From: david pratt <lll-winken.llnl.gov!taurus!mira!pratt>
>Organization: Naval Postgraduate School, Monterey CA
>Subject: Arenas
>Greetings,
>   Thanks to everyone who answered my posting about VAX -> SGI format
> conversions. I have two more questions on a new topic, arenas.
I trust my info to you was correct.
>   1. It seems that only eight processes can access an arena. I have run
>several test and have not been able to get the ninth process to connect. Is 
>there a way around this?
     
Look at the man page for usconfig() 

     CONF_INITUSERS  Sets the maximum number of users for a given group of
                     semaphores and locks to the value given by arg0.  The
                     maximum allowable is 512 users, and the default is 8.
                     This only has effect if called before usinit(3P).  Each
                     process that calls usinit(3P) is considered a user, as is
                     each process that uses a spinlock.  It returns the
                     previously set value.

Also declare and initalize the _utrace extern var so you can see debugging
info about your arena. Note also that you need to use the multiply threaded
c library, -lmpc instead of the default -lc or -lc_s libraries. Again look
at the man page.

>   2. I want to create an arena that two different users can access. Once again
>I get a no go (Permission denied). I have tried changing the protection on 
>the file and that doesn't work. Any ideas? I know this can create a security
>problem for some applications.

I have not tried exchanging data between two different uid/gid's. This
clearly should be allowed, and controlled by the file directory bits.


>-- 
>Dave Pratt                  pratt@cs.nps.navy.mil              (408) 646-2865
>Department of Computer Science, Naval Postgraduate School, Monterey, CA 93940
>If the meek shall inherit the earth, I'm SOL!
>These are my opinions, who knows what the Navy thinks.
>

Cheers!

dan.
+-----------------------------------------------------------------------------+
| karron@nyu.edu (E-mail alias that will always find me)                      |
| Fax: 212 263 7190           *           Dan Karron, Research Associate      |
| . . . . . . . . . . . . . . *           New York University Medical Center  |
| 560 First Avenue           \*\    Pager <1> (212) 397 9330                  |
| New York, New York 10016    \**\        <2> 10896   <3> <your-number-here>  |
| (212) 263 5210               \***\_________________________________________ |
| Main machine: karron.med.nyu.edu (128.122.135.3) IRIS 85GT                  |
+-----------------------------------------------------------------------------+

robert@texas.asd.sgi.com (Robert Skinner) (03/23/91)

In article <1964@mira.cs.nps.navy.mil>, david pratt writes:
Greetings,
   Thanks to everyone who answered my posting about VAX -> SGI format
 conversions. I have two more questions on a new topic, arenas.
   1. It seems that only eight processes can access an arena. I have run
several test and have not been able to get the ninth process to connect. Is 
there a way around this?

usconfig( CONF_INITUSERS, numUsers ) should set a new maximum number of 
users before you call usinit.  The max is 512 for 3.3.2, it was lower in previous 
versions.  Check out the man page for usconfig on your system.

   2. I want to create an arena that two different users can access. Once again
I get a no go (Permission denied). I have tried changing the protection on 
the file and that doesn't work. Any ideas? I know this can create a security
problem for some applications.
 
not sure about this...

jwag@moose.asd.sgi.com (Chris Wagner) (03/28/91)

In article <1964@mira.cs.nps.navy.mil>, pratt@mira.cs.nps.navy.mil
(david pratt) writes:
> Greetings,
>    Thanks to everyone who answered my posting about VAX -> SGI format
>  conversions. I have two more questions on a new topic, arenas.
>    1. It seems that only eight processes can access an arena. I have run
> several test and have not been able to get the ninth process to connect. Is 
> there a way around this?
>    2. I want to create an arena that two different users can access.
Once again
> I get a no go (Permission denied). I have tried changing the protection on 
> the file and that doesn't work. Any ideas? I know this can create a security
> problem for some applications.
>    As always, any help is greatly appreciated.           

Look at usconfig(CONF_MAXUSERS) - set that to the # you want BEFORE
calling usinit.

As for the permissions, that is a bug/feature that has been fixed
in 4.0. In 4.0 you can now set the permissions on  the arena and the underlying
hardware lock devices.

The only work around I can think of is to change the mode on both the arena
file AND the /dev/hl/xxx file that is associated with that arena.


Chris Wagner