We need type fixes and appropriate prototypes in scope for intird handling on 32-bit big-endian machines. fs/namei.c | 3 +-- include/linux/fs.h | 1 + init/do_mounts.h | 4 ++-- init/initramfs.c | 3 +-- 4 files changed, 5 insertions(+), 6 deletions(-) diff -puN fs/namei.c~64-bit-dev_t-init_rd-fixes fs/namei.c --- 25/fs/namei.c~64-bit-dev_t-init_rd-fixes 2003-08-07 17:11:41.000000000 -0700 +++ 25-akpm/fs/namei.c 2003-08-07 17:11:41.000000000 -0700 @@ -1431,8 +1431,7 @@ int vfs_mknod(struct inode *dir, struct return error; } -static long -do_mknod(const char __user *filename, int mode, dev_t dev) +long do_mknod(const char __user *filename, int mode, dev_t dev) { int error = 0; char *tmp; diff -puN init/do_mounts.h~64-bit-dev_t-init_rd-fixes init/do_mounts.h --- 25/init/do_mounts.h~64-bit-dev_t-init_rd-fixes 2003-08-07 17:11:41.000000000 -0700 +++ 25-akpm/init/do_mounts.h 2003-08-07 17:11:41.000000000 -0700 @@ -8,9 +8,9 @@ #include #include #include +#include asmlinkage long sys_unlink(const char *name); -asmlinkage long sys_mknod(const char *name, int mode, dev_t 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 do_mknod(name, S_IFBLK|0600, dev); } #endif diff -puN init/initramfs.c~64-bit-dev_t-init_rd-fixes init/initramfs.c --- 25/init/initramfs.c~64-bit-dev_t-init_rd-fixes 2003-08-07 17:11:41.000000000 -0700 +++ 25-akpm/init/initramfs.c 2003-08-07 17:25:08.000000000 -0700 @@ -24,7 +24,6 @@ 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_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); @@ -264,7 +263,7 @@ static int __init do_name(void) } else if (S_ISBLK(mode) || S_ISCHR(mode) || S_ISFIFO(mode) || S_ISSOCK(mode)) { if (maybe_link() == 0) { - sys_mknod(collected, mode, rdev); + do_mknod(collected, mode, rdev); sys_chown(collected, uid, gid); } } else diff -puN include/linux/fs.h~64-bit-dev_t-init_rd-fixes include/linux/fs.h --- 25/include/linux/fs.h~64-bit-dev_t-init_rd-fixes 2003-08-07 17:11:41.000000000 -0700 +++ 25-akpm/include/linux/fs.h 2003-08-07 17:24:57.000000000 -0700 @@ -715,6 +715,7 @@ extern int vfs_link(struct dentry *, str extern int vfs_rmdir(struct inode *, struct dentry *); extern int vfs_unlink(struct inode *, struct dentry *); extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *); +extern long do_mknod(const char __user *filename, int mode, dev_t dev); /* * File types _