Added dummy mount/umount() syscalls for bogus Linux applications that
authoretheisen <etheisen@openbsd.org>
Sun, 28 Apr 1996 07:38:22 +0000 (07:38 +0000)
committeretheisen <etheisen@openbsd.org>
Sun, 28 Apr 1996 07:38:22 +0000 (07:38 +0000)
blindly call mount().  These dummy calls always return EPERM.  Fixed
uncommented NetBSD tag problem encountered when using makesyscalls.sh.

sys/compat/linux/files.linux
sys/compat/linux/linux_mount.c [new file with mode: 0644]
sys/compat/linux/syscalls.master

index 7d733b0..129d967 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: files.linux,v 1.3 1996/04/17 05:23:42 mickey Exp $
+#      $OpenBSD: files.linux,v 1.4 1996/04/28 07:38:22 etheisen Exp $
 #      $NetBSD: files.linux,v 1.4 1996/03/08 04:55:59 mycroft Exp $
 #
 # Config.new file description for machine-independent Linux compat code.
@@ -19,3 +19,4 @@ file  compat/linux/linux_socket.c             compat_linux
 file   compat/linux/linux_syscalls.c           compat_linux
 file   compat/linux/linux_sysent.c             compat_linux
 file   compat/linux/linux_termios.c            compat_linux
+file   compat/linux/linux_mount.c              compat_linux
diff --git a/sys/compat/linux/linux_mount.c b/sys/compat/linux/linux_mount.c
new file mode 100644 (file)
index 0000000..12eca6e
--- /dev/null
@@ -0,0 +1,60 @@
+/*     $OpenBSD: linux_mount.c,v 1.1 1996/04/28 07:38:23 etheisen Exp $        */
+/*
+ * Copyright (c) 1996 Erik Theisen
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <compat/linux/linux_errno.h>
+
+/*
+ * These are just dummy mount/umount functions
+ * who's purpose is to satisfy brain dead code
+ * that bindly calls mount().  They always 
+ * return EPERM.
+ *
+ * You really shouldn't be running code via
+ * emulation that mounts FSs.
+ */
+int
+linux_sys_mount(specialfile, dir, filesystemtype, rwflag, data)
+        char *specialfile;
+        char *dir;
+        char *filesystemtype;
+        long  rwflag;
+        void *data;
+{
+        return(LINUX_EPERM);
+}
+
+int
+linux_sys_umount(specialfile)
+        char *specialfile;
+{
+        return(LINUX_EPERM);
+}
+
+        
+
+        
+        
index f5f4982..77884b8 100644 (file)
@@ -1,5 +1,5 @@
-       $OpenBSD: syscalls.master,v 1.4 1996/04/17 05:24:13 mickey Exp $
-       $NetBSD: syscalls.master,v 1.15 1995/12/18 14:35:10 fvdl Exp $
+       $OpenBSD: syscalls.master,v 1.5 1996/04/28 07:38:24 etheisen Exp $
+;      $NetBSD: syscalls.master,v 1.15 1995/12/18 14:35:10 fvdl Exp $
 
 ;      @(#)syscalls.master     8.1 (Berkeley) 7/19/93
 
@@ -68,8 +68,9 @@
 19     NOARGS          { long compat_43_sys_lseek(int fd, long offset, \
                            int whence); }
 20     NOARGS          { pid_t sys_getpid(void); }
-21     UNIMPL          mount
-22     UNIMPL          umount
+21     STD             { int linux_sys_mount(char *specialfile, char *dir, \
+                           char *filesystemtype, long rwflag, void *data); }
+22     STD             { int linux_sys_umount(char *specialfile); }
 23     NOARGS          { int sys_setuid(uid_t uid); }
 24     NOARGS          { uid_t sys_getuid(void); }
 25     UNIMPL          stime