arch/arm/kernel/setup.c | 2 +- arch/arm26/kernel/setup.c | 2 +- arch/i386/kernel/setup.c | 2 +- arch/mips/kernel/sysirix.c | 10 +++++----- arch/parisc/hpux/sys_hpux.c | 2 +- arch/ppc/platforms/pmac_setup.c | 2 +- arch/sh/kernel/setup.c | 2 +- arch/sparc/kernel/setup.c | 2 +- arch/sparc64/kernel/setup.c | 2 +- arch/sparc64/solaris/fs.c | 6 +++--- arch/x86_64/ia32/sys_ia32.c | 2 +- arch/x86_64/kernel/setup.c | 2 +- fs/namei.c | 10 +++++++--- fs/super.c | 4 ++-- init/do_mounts.c | 8 ++++---- init/do_mounts.h | 4 ++-- init/do_mounts_devfs.c | 4 ++-- init/do_mounts_initrd.c | 6 +++--- init/do_mounts_md.c | 2 +- init/initramfs.c | 6 +++--- 20 files changed, 42 insertions(+), 38 deletions(-) diff -puN arch/arm26/kernel/setup.c~KD38-syscalls-B5 arch/arm26/kernel/setup.c --- 25/arch/arm26/kernel/setup.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/arm26/kernel/setup.c 2003-09-21 22:35:19.000000000 -0700 @@ -286,7 +286,7 @@ static int __init parse_tag_core(const s if (tag->hdr.size > 2) { if ((tag->u.core.flags & 1) == 0) root_mountflags &= ~MS_RDONLY; - ROOT_DEV = tag->u.core.rootdev; + ROOT_DEV = old_decode_dev(tag->u.core.rootdev); } return 0; } diff -puN arch/arm/kernel/setup.c~KD38-syscalls-B5 arch/arm/kernel/setup.c --- 25/arch/arm/kernel/setup.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/arm/kernel/setup.c 2003-09-21 22:35:19.000000000 -0700 @@ -498,7 +498,7 @@ static int __init parse_tag_core(const s if (tag->hdr.size > 2) { if ((tag->u.core.flags & 1) == 0) root_mountflags &= ~MS_RDONLY; - ROOT_DEV = tag->u.core.rootdev; + ROOT_DEV = old_decode_dev(tag->u.core.rootdev); } return 0; } diff -puN arch/i386/kernel/setup.c~KD38-syscalls-B5 arch/i386/kernel/setup.c --- 25/arch/i386/kernel/setup.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/i386/kernel/setup.c 2003-09-21 22:35:19.000000000 -0700 @@ -957,7 +957,7 @@ void __init setup_arch(char **cmdline_p) pre_setup_arch_hook(); early_cpu_init(); - ROOT_DEV = ORIG_ROOT_DEV; + ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); drive_info = DRIVE_INFO; screen_info = SCREEN_INFO; edid_info = EDID_INFO; diff -puN arch/mips/kernel/sysirix.c~KD38-syscalls-B5 arch/mips/kernel/sysirix.c --- 25/arch/mips/kernel/sysirix.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/mips/kernel/sysirix.c 2003-09-21 22:35:19.000000000 -0700 @@ -1188,7 +1188,7 @@ asmlinkage int irix_uname(struct iuname #undef DEBUG_XSTAT static inline u32 -linux_to_irix_dev_t (dev_t t) +linux_to_irix_dev_t(dev_t t) { return MAJOR (t) << 18 | MINOR (t); } @@ -1360,17 +1360,17 @@ asmlinkage int irix_fxstat(int version, return error; } -extern asmlinkage int sys_mknod(const char * filename, int mode, dev_t dev); +extern asmlinkage int sys_mknod(const char * filename, int mode, unsigned dev); -asmlinkage int irix_xmknod(int ver, char *filename, int mode, dev_t dev) +asmlinkage int irix_xmknod(int ver, char *filename, int mode, unsigned dev) { int retval; - printk("[%s:%d] Wheee.. irix_xmknod(%d,%s,%x,%x)\n", - current->comm, current->pid, ver, filename, mode, (int) dev); + current->comm, current->pid, ver, filename, mode, dev); switch(ver) { case 2: + /* shouldn't we convert here as well as on stat()? */ retval = sys_mknod(filename, mode, dev); break; diff -puN arch/parisc/hpux/sys_hpux.c~KD38-syscalls-B5 arch/parisc/hpux/sys_hpux.c --- 25/arch/parisc/hpux/sys_hpux.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/parisc/hpux/sys_hpux.c 2003-09-21 22:35:19.000000000 -0700 @@ -272,7 +272,7 @@ int hpux_utssys(char *ubuf, int n, int t break ; case 2: /* ustat(): */ - return( hpux_ustat((dev_t)n, (struct hpux_ustat *)ubuf) ); + return( hpux_ustat(old_decode_dev(n), (struct hpux_ustat *)ubuf) ); break ; case 3: /* setuname(): diff -puN arch/ppc/platforms/pmac_setup.c~KD38-syscalls-B5 arch/ppc/platforms/pmac_setup.c --- 25/arch/ppc/platforms/pmac_setup.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/ppc/platforms/pmac_setup.c 2003-09-21 22:35:19.000000000 -0700 @@ -107,7 +107,7 @@ extern char saved_command_line[]; extern int pmac_newworld; -#define DEFAULT_ROOT_DEVICE 0x0801 /* sda1 - slightly silly choice */ +#define DEFAULT_ROOT_DEVICE Root_SDA1 /* sda1 - slightly silly choice */ extern void zs_kgdb_hook(int tty_num); static void ohare_init(void); diff -puN arch/sh/kernel/setup.c~KD38-syscalls-B5 arch/sh/kernel/setup.c --- 25/arch/sh/kernel/setup.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/sh/kernel/setup.c 2003-09-21 22:35:19.000000000 -0700 @@ -353,7 +353,7 @@ void __init setup_arch(char **cmdline_p) sh_console_init(); #endif - ROOT_DEV = ORIG_ROOT_DEV; + ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); #ifdef CONFIG_BLK_DEV_RAM rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK; diff -puN arch/sparc64/kernel/setup.c~KD38-syscalls-B5 arch/sparc64/kernel/setup.c --- 25/arch/sparc64/kernel/setup.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/sparc64/kernel/setup.c 2003-09-21 22:35:19.000000000 -0700 @@ -517,7 +517,7 @@ void __init setup_arch(char **cmdline_p) if (!root_flags) root_mountflags &= ~MS_RDONLY; - ROOT_DEV = root_dev; + ROOT_DEV = old_decode_dev(root_dev); #ifdef CONFIG_BLK_DEV_INITRD rd_image_start = ram_flags & RAMDISK_IMAGE_START_MASK; rd_prompt = ((ram_flags & RAMDISK_PROMPT_FLAG) != 0); diff -puN arch/sparc64/solaris/fs.c~KD38-syscalls-B5 arch/sparc64/solaris/fs.c --- 25/arch/sparc64/solaris/fs.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/sparc64/solaris/fs.c 2003-09-21 22:35:19.000000000 -0700 @@ -257,13 +257,13 @@ asmlinkage int solaris_fstat64(unsigned asmlinkage int solaris_mknod(u32 path, u32 mode, s32 dev) { - int (*sys_mknod)(const char *,int,dev_t) = - (int (*)(const char *,int,dev_t))SYS(mknod); + int (*sys_mknod)(const char *,int,unsigned) = + (int (*)(const char *,int,unsigned))SYS(mknod); int major, minor; if ((major = R4_MAJOR(dev)) > 255 || (minor = R4_MINOR(dev)) > 255) return -EINVAL; - return sys_mknod((const char *)A(path), mode, MKDEV(major,minor)); + return sys_mknod((const char *)A(path), mode, old_encode_dev(MKDEV(major,minor))); } asmlinkage int solaris_xmknod(int vers, u32 path, u32 mode, s32 dev) diff -puN arch/sparc/kernel/setup.c~KD38-syscalls-B5 arch/sparc/kernel/setup.c --- 25/arch/sparc/kernel/setup.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/sparc/kernel/setup.c 2003-09-21 22:35:19.000000000 -0700 @@ -321,7 +321,7 @@ void __init setup_arch(char **cmdline_p) if (!root_flags) root_mountflags &= ~MS_RDONLY; - ROOT_DEV = root_dev; + ROOT_DEV = old_decode_dev(root_dev); #ifdef CONFIG_BLK_DEV_INITRD rd_image_start = ram_flags & RAMDISK_IMAGE_START_MASK; rd_prompt = ((ram_flags & RAMDISK_PROMPT_FLAG) != 0); diff -puN arch/x86_64/ia32/sys_ia32.c~KD38-syscalls-B5 arch/x86_64/ia32/sys_ia32.c --- 25/arch/x86_64/ia32/sys_ia32.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/x86_64/ia32/sys_ia32.c 2003-09-21 22:35:19.000000000 -0700 @@ -1476,7 +1476,7 @@ long sys32_uname(struct old_utsname * na extern int sys_ustat(dev_t, struct ustat *); -long sys32_ustat(dev_t dev, struct ustat32 *u32p) +long sys32_ustat(unsigned dev, struct ustat32 *u32p) { struct ustat u; mm_segment_t seg; diff -puN arch/x86_64/kernel/setup.c~KD38-syscalls-B5 arch/x86_64/kernel/setup.c --- 25/arch/x86_64/kernel/setup.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/arch/x86_64/kernel/setup.c 2003-09-21 22:35:19.000000000 -0700 @@ -317,7 +317,7 @@ void __init setup_arch(char **cmdline_p) { unsigned long low_mem_size; - ROOT_DEV = ORIG_ROOT_DEV; + ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); drive_info = DRIVE_INFO; screen_info = SCREEN_INFO; edid_info = EDID_INFO; diff -puN fs/namei.c~KD38-syscalls-B5 fs/namei.c --- 25/fs/namei.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/fs/namei.c 2003-09-21 22:35:19.000000000 -0700 @@ -1473,7 +1473,7 @@ int vfs_mknod(struct inode *dir, struct return error; } -asmlinkage long sys_mknod(const char __user * filename, int mode, dev_t dev) +asmlinkage long sys_mknod(const char __user * filename, int mode, unsigned dev) { int error = 0; char * tmp; @@ -1499,8 +1499,12 @@ asmlinkage long sys_mknod(const char __u case 0: case S_IFREG: error = vfs_create(nd.dentry->d_inode,dentry,mode,&nd); break; - case S_IFCHR: case S_IFBLK: case S_IFIFO: case S_IFSOCK: - error = vfs_mknod(nd.dentry->d_inode,dentry,mode,dev); + case S_IFCHR: case S_IFBLK: + error = vfs_mknod(nd.dentry->d_inode,dentry,mode, + old_decode_dev(dev)); + break; + case S_IFIFO: case S_IFSOCK: + error = vfs_mknod(nd.dentry->d_inode,dentry,mode,0); break; case S_IFDIR: error = -EPERM; diff -puN fs/super.c~KD38-syscalls-B5 fs/super.c --- 25/fs/super.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/fs/super.c 2003-09-21 22:35:19.000000000 -0700 @@ -405,14 +405,14 @@ rescan: return NULL; } -asmlinkage long sys_ustat(dev_t dev, struct ustat __user * ubuf) +asmlinkage long sys_ustat(unsigned dev, struct ustat __user * ubuf) { struct super_block *s; struct ustat tmp; struct kstatfs sbuf; int err = -EINVAL; - s = user_get_super(dev); + s = user_get_super(old_decode_dev(dev)); if (s == NULL) goto out; err = vfs_statfs(s, &sbuf); diff -puN init/do_mounts.c~KD38-syscalls-B5 init/do_mounts.c --- 25/init/do_mounts.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/init/do_mounts.c 2003-09-21 22:35:19.000000000 -0700 @@ -80,7 +80,7 @@ static dev_t __init try_name(char *name, /* * Nope. Try old-style "0321" */ - res = (dev_t)simple_strtoul(buf, &s, 16); + res = old_decode_dev(simple_strtoul(buf, &s, 16)); if (*s) goto fail; } @@ -107,7 +107,7 @@ static dev_t __init try_name(char *name, if (part < range) return res + part; fail: - return (dev_t) 0; + return 0; } /* @@ -146,7 +146,7 @@ dev_t name_to_dev_t(char *name) if (sscanf(name, "%u:%u", &maj, &min) == 2) { res = MKDEV(maj, min); } else { - res = (dev_t)simple_strtoul(name, &p, 16); + res = old_decode_dev(simple_strtoul(name, &p, 16)); if (*p) goto fail; } @@ -187,7 +187,7 @@ out: sys_rmdir("/sys"); return res; fail: - res = (dev_t) 0; + res = 0; goto done; } diff -puN init/do_mounts_devfs.c~KD38-syscalls-B5 init/do_mounts_devfs.c --- 25/init/do_mounts_devfs.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/init/do_mounts_devfs.c 2003-09-21 22:35:19.000000000 -0700 @@ -78,7 +78,7 @@ static void * __init read_dir(char *path /* * recursively scan , looking for a device node of type */ -static int __init find_in_devfs(char *path, dev_t dev) +static int __init find_in_devfs(char *path, unsigned dev) { struct stat buf; char *end = path + strlen(path); @@ -140,7 +140,7 @@ int __init create_dev(char *name, dev_t if (!dev) return -1; strcpy(path, "/dev"); - if (find_in_devfs(path, dev) < 0) + if (find_in_devfs(path, old_encode_dev(dev)) < 0) return -1; return sys_symlink(path + 5, name); } diff -puN init/do_mounts.h~KD38-syscalls-B5 init/do_mounts.h --- 25/init/do_mounts.h~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/init/do_mounts.h 2003-09-21 22:35:19.000000000 -0700 @@ -10,7 +10,7 @@ #include asmlinkage long sys_unlink(const char *name); -asmlinkage long sys_mknod(const char *name, int mode, dev_t dev); +asmlinkage long sys_mknod(const char *name, int mode, unsigned dev); asmlinkage long sys_newstat(char * filename, struct stat * statbuf); asmlinkage long sys_ioctl(int fd, int cmd, unsigned long arg); asmlinkage long sys_mkdir(const char *name, int mode); @@ -43,7 +43,7 @@ static inline void umount_devfs(const ch static inline int create_dev(char *name, dev_t dev, char *devfs_name) { sys_unlink(name); - return sys_mknod(name, S_IFBLK|0600, dev); + return sys_mknod(name, S_IFBLK|0600, old_encode_dev(dev)); } #endif diff -puN init/do_mounts_initrd.c~KD38-syscalls-B5 init/do_mounts_initrd.c --- 25/init/do_mounts_initrd.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/init/do_mounts_initrd.c 2003-09-21 22:35:19.000000000 -0700 @@ -40,7 +40,7 @@ static void __init handle_initrd(void) int error; int i, pid; - real_root_dev = ROOT_DEV; + real_root_dev = old_encode_dev(ROOT_DEV); create_dev("/dev/root.old", Root_RAM0, NULL); /* mount initrd on rootfs' /root */ mount_block_root("/dev/root.old", root_mountflags & ~MS_RDONLY); @@ -69,12 +69,12 @@ static void __init handle_initrd(void) close(root_fd); umount_devfs("/old/dev"); - if (real_root_dev == Root_RAM0) { + if (old_decode_dev(real_root_dev) == Root_RAM0) { sys_chdir("/old"); return; } - ROOT_DEV = real_root_dev; + ROOT_DEV = old_decode_dev(real_root_dev); mount_root(); printk(KERN_NOTICE "Trying to move old root to /initrd ... "); diff -puN init/do_mounts_md.c~KD38-syscalls-B5 init/do_mounts_md.c --- 25/init/do_mounts_md.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/init/do_mounts_md.c 2003-09-21 22:35:19.000000000 -0700 @@ -136,7 +136,7 @@ static void __init md_setup_drive(void) snprintf(comp_name, 63, "/dev/%s", devname); if (sys_newstat(comp_name, &buf) == 0 && S_ISBLK(buf.st_mode)) - dev = buf.st_rdev; + dev = old_decode_dev(buf.st_rdev); if (!dev) { printk(KERN_WARNING "md: Unknown device name: %s\n", devname); break; diff -puN init/initramfs.c~KD38-syscalls-B5 init/initramfs.c --- 25/init/initramfs.c~KD38-syscalls-B5 2003-09-21 22:35:19.000000000 -0700 +++ 25-akpm/init/initramfs.c 2003-09-21 22:35:19.000000000 -0700 @@ -24,7 +24,7 @@ static void __init free(void *where) } asmlinkage long sys_mkdir(char *name, int mode); -asmlinkage long sys_mknod(char *name, int mode, dev_t dev); +asmlinkage long sys_mknod(char *name, int mode, unsigned dev); asmlinkage long sys_symlink(char *old, char *new); asmlinkage long sys_link(char *old, char *new); asmlinkage long sys_write(int fd, const char *buf, size_t size); @@ -92,7 +92,7 @@ static __initdata mode_t mode; static __initdata unsigned long body_len, name_len; static __initdata uid_t uid; static __initdata gid_t gid; -static __initdata dev_t rdev; +static __initdata unsigned rdev; static void __init parse_header(char *s) { @@ -113,7 +113,7 @@ static void __init parse_header(char *s) body_len = parsed[6]; major = parsed[7]; minor = parsed[8]; - rdev = MKDEV(parsed[9], parsed[10]); + rdev = old_encode_dev(MKDEV(parsed[9], parsed[10])); name_len = parsed[11]; } _