浏览代码

x86_64 fixes: make sure the fall back routine for using umount2() for umount() actually works :)

Mike Frysinger 20 年之前
父节点
当前提交
8b7d5c86ca
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      libc/sysdeps/linux/common/umount.c

+ 7 - 2
libc/sysdeps/linux/common/umount.c

@@ -12,13 +12,19 @@
 #ifdef __NR_umount	/* Some newer archs only have umount2 */
 #include <sys/mount.h>
 _syscall1(int, umount, const char *, specialfile);
+
 #elif defined __NR_umount2
 /* No umount syscall, but umount2 is available....  Try to
  * emulate umount() using umount2() */
+
+#define __NR___syscall_umount2 __NR_umount2
+static inline _syscall2(int, umount2, const char *, special_file, int, flags);
+
 int umount(const char *special_file, int flags)
 {
-	return _syscall2(int, umount2, const char *, special_file, int, flags);
+	return (__syscall_umount2(special_file, flags));
 }
+
 #else
 int umount(const char *special_file)
 {
@@ -26,4 +32,3 @@ int umount(const char *special_file)
 	return -1;
 }
 #endif
-