[comp.sys.sun] Bug in tmp/swap sharing?

dt4100c@medtron.medtronic.com (Derek Terveer) (11/30/90)

I discovered, quite by accident, that the following sequence of commands
on a sparc station 1+ running 4.1 with tmp "sharing" swap will crash the
machine:

user$ cd /tmp
user$ mkdir b
user$ chmod 555 b
user$ mkdir b/1

I haven't fiddled around a great deal with the different types of modes
that will cause the problem.  Typing the above gives the following error
message:  (out of /usr/adm/messages)

Nov 19 16:26:48 rubicon vmunix: assertion failed: tp->tn_dir == NULL, file: ../../tmpfs/tmp_tnode.c, line: 165
Nov 19 16:26:48 rubicon vmunix: panic: assertion failed

If this is done as root, the commands succeed.  Only as an ordinary user
does this result in a panic.  Here is a df of rubicon:

user$ df
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/sd0a               7771    3375    3618    48%    /
/dev/sd0f              79105   68466    2728    96%    /usr
/dev/sd0g              33703     340   29992     1%    /var
swap                   47248       4   47244     0%    /home/root_tmp
pong:/                  7771    4470    2523    64%    /tmp_mnt/net/pong
pong:/usr              79105   70988     206   100%    /tmp_mnt/net/pong/usr
pong:/var              33703    2586   27746     9%    /tmp_mnt/net/pong/var
pong:/home            605538  479031   65953    88%    /tmp_mnt/net/pong/home
pong:/home2           605538  445089   99895    82%    /tmp_mnt/net/pong/home2
pong:/ref             962294  674181  191883    78%    /tmp_mnt/net/pong/ref
medtron:/               7437    2514    4179    38%    /tmp_mnt/net/medtron
medtron:/usr           88520   67734   11934    85%    /tmp_mnt/net/medtron/usr
medtron:/home         434343  206348  184560    53%    /tmp_mnt/net/medtron/home
nova:/                  7608    5681    1166    83%    /tmp_mnt/net/nova
nova:/usr              79132   67576    3642    95%    /tmp_mnt/net/nova/usr
nova:/home            151649  110974   25510    81%    /tmp_mnt/net/nova/home
user$ df /tmp
Filesystem            kbytes    used   avail capacity  Mounted on
swap                   47252       4   47248     0%    /home/root_tmp

pierrot@opal.cs.tu-berlin.de (Tatjana Heuser) (03/24/91)

dt4100c@medtron.medtronic.com (Derek Terveer) writes:

>I discovered, quite by accident, that the following sequence of commands
>on a sparc station 1+ running 4.1 with tmp "sharing" swap will crash the
>machine:

>user$ cd /tmp
>user$ mkdir b
>user$ chmod 555 b
>user$ mkdir b/1
"mknod /tmp/crash p" succeeds as well :-)

This is fixed in SunOS 4.1.1, for 4.1 there's a patch available.