Subject: port-i386/1248: Linux mkdir syscall is missing mode argument
To: None <gnats-bugs@gnats.netbsd.org>
From: Brad Spencer <brad@anduin.eldar.org>
List: netbsd-bugs
Date: 07/20/1995 20:04:33
>Number:         1248
>Category:       port-i386
>Synopsis:       Linux mkdir syscall is missing mode argument
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 21 00:20:01 1995
>Last-Modified:
>Originator:     Brad Spencer
>Organization:
	Home
>Release:        sup around 7/9
>Environment:
	NetBSD-current with standard stuff
System: NetBSD anduin.eldar.org 1.0A NetBSD 1.0A (ANDUIN) #2: Sun Jul 9 18:49:41 EDT 1995 brad@anduin.eldar.org:/usr/src/sys/arch/i386/compile/ANDUIN i386


>Description:

All evidence would suggest that the Linux mkdir system call has two
arguments, the path and the mode.  The mode argument is missing
completly.  The end result of this is that the mode of a directory
created with the Linux system call will be wrong [the directory may
not be writeable, for example, by the person who created it].

>How-To-Repeat:

Get a copy of the Linux mkdir, or anything which can make a directory,
such as Executor and note that the permission on the new directory
will probably be wrong.

>Fix:

Change the following [more or less] in /sys/compat/linux:

linux_file.c
linux_syscall.h
linux_syscallargs.h
linux_syscalls.c
linux_sysent.c
syscalls.master

to allow the mode argument to the mkdir system call.

[Sorry for not including a diff]
>Audit-Trail:
>Unformatted: