From: Anton Blanchard Remove bogus sys_oldumount sign extension code. We were sign extending the flags argument which doesnt make sense. --- 25-akpm/arch/ppc64/kernel/misc.S | 2 +- 25-akpm/arch/ppc64/kernel/sys_ppc32.c | 11 ----------- 2 files changed, 1 insertion(+), 12 deletions(-) diff -puN arch/ppc64/kernel/misc.S~ppc64-oldumount_fix arch/ppc64/kernel/misc.S --- 25/arch/ppc64/kernel/misc.S~ppc64-oldumount_fix 2004-03-14 15:32:35.655882224 -0800 +++ 25-akpm/arch/ppc64/kernel/misc.S 2004-03-14 15:32:35.660881464 -0800 @@ -624,7 +624,7 @@ _GLOBAL(sys_call_table32) .llong .sys_geteuid .llong .sys_getegid /* 50 */ .llong .sys_acct - .llong .sys32_umount + .llong .sys_umount .llong .sys_ni_syscall /* old lock syscall */ .llong .compat_sys_ioctl .llong .compat_sys_fcntl /* 55 */ diff -puN arch/ppc64/kernel/sys_ppc32.c~ppc64-oldumount_fix arch/ppc64/kernel/sys_ppc32.c --- 25/arch/ppc64/kernel/sys_ppc32.c~ppc64-oldumount_fix 2004-03-14 15:32:35.657881920 -0800 +++ 25-akpm/arch/ppc64/kernel/sys_ppc32.c 2004-03-14 15:32:35.662881160 -0800 @@ -2577,17 +2577,6 @@ asmlinkage long sys32_umask(u32 mask) return sys_umask((int)mask); } - -/* Note: it is necessary to treat flags as an unsigned int, - * with the corresponding cast to a signed int to insure that the - * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) - * and the register representation of a signed int (msr in 64-bit mode) is performed. - */ -asmlinkage long sys32_umount(char * name, u32 flags) -{ - return sys_umount(name, (int)flags); -} - struct __sysctl_args32 { u32 name; int nlen; _