summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/mknod.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2009-03-03 13:00:48 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2009-03-03 13:00:48 +0000
commit7f5cc205a72e8e4d9523193de1aa4058976be3eb (patch)
treecd70fe3cf94913c2a75d5d6697ea0e92552255e7 /libc/sysdeps/linux/common/mknod.c
parenteb097eb48273ccf1830c2e74639ce9069a4f9f3a (diff)
downloaduClibc-alpine-7f5cc205a72e8e4d9523193de1aa4058976be3eb.tar.bz2
uClibc-alpine-7f5cc205a72e8e4d9523193de1aa4058976be3eb.tar.xz
mknod: widen the parameters to match kernel
ustat: same, + remove superfluous "conversion" which does nothing at best, loses high dev bits at worst i386/bits/kernel_stat.h: update to reflect reality (wider dev_t) h8300/bits/kernel_stat.h: same arm/bits/kernel_stat.h: cosmetics to match kernel header to the letter
Diffstat (limited to 'libc/sysdeps/linux/common/mknod.c')
-rw-r--r--libc/sysdeps/linux/common/mknod.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/common/mknod.c b/libc/sysdeps/linux/common/mknod.c
index 5c7f9a5fd..7428e8be8 100644
--- a/libc/sysdeps/linux/common/mknod.c
+++ b/libc/sysdeps/linux/common/mknod.c
@@ -11,14 +11,18 @@
#include <sys/stat.h>
#include <sys/sysmacros.h>
-/* libc_hidden_proto(mknod) */
-
#define __NR___syscall_mknod __NR_mknod
-static __inline__ _syscall3(int, __syscall_mknod, const char *, path,
- __kernel_mode_t, mode, __kernel_dev_t, dev)
+/* kernel's fs/namei.c defines this:
+ * long sys_mknod(const char __user *filename, int mode, unsigned dev),
+ * so, no __kernel_mode_t and no __kernel_dev_t, please.
+ */
+static __inline__ _syscall3(int, __syscall_mknod,
+ const char *, path,
+ int /* __kernel_mode_t */, mode,
+ unsigned /* __kernel_dev_t */, dev)
int mknod(const char *path, mode_t mode, dev_t dev)
{
- return __syscall_mknod(path, mode, (__kernel_dev_t)dev);
+ return __syscall_mknod(path, mode, dev);
}
libc_hidden_def(mknod)