diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-03-03 13:01:12 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-03-03 13:01:12 +0000 |
commit | 021c466c282bcf38cbcebbf68e1328f9916c002c (patch) | |
tree | 848e7efad085a5b619e33b8afb445496099e5ba5 /libc/sysdeps/linux/common/ustat.c | |
parent | c997deaaee99ebf42bde248673d037a7e1023b7b (diff) | |
download | uClibc-alpine-021c466c282bcf38cbcebbf68e1328f9916c002c.tar.bz2 uClibc-alpine-021c466c282bcf38cbcebbf68e1328f9916c002c.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/ustat.c')
-rw-r--r-- | libc/sysdeps/linux/common/ustat.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libc/sysdeps/linux/common/ustat.c b/libc/sysdeps/linux/common/ustat.c index 09edaa369..e97fa76bb 100644 --- a/libc/sysdeps/linux/common/ustat.c +++ b/libc/sysdeps/linux/common/ustat.c @@ -12,14 +12,15 @@ #include <sys/sysmacros.h> #define __NR___syscall_ustat __NR_ustat +/* Kernel's fs/super.c defines this: + * long sys_ustat(unsigned dev, struct ustat __user * ubuf), + * thus we use unsigned, not __kernel_dev_t. + */ static __inline__ _syscall2(int, __syscall_ustat, - unsigned short int, kdev_t, struct ustat *, ubuf) + unsigned, kdev_t, + struct ustat *, ubuf) int ustat(dev_t dev, struct ustat *ubuf) { - /* We must convert the dev_t value to a __kernel_dev_t */ - __kernel_dev_t k_dev; - - k_dev = ((major(dev) & 0xff) << 8) | (minor(dev) & 0xff); - return __syscall_ustat(k_dev, ubuf); + return __syscall_ustat(dev, ubuf); } |