diff options
Diffstat (limited to 'arch/ia64/ia32')
-rw-r--r-- | arch/ia64/ia32/Makefile | 4 | ||||
-rw-r--r-- | arch/ia64/ia32/sys_ia32.c | 11 |
2 files changed, 6 insertions, 9 deletions
diff --git a/arch/ia64/ia32/Makefile b/arch/ia64/ia32/Makefile index 674a6eb6e..82017941c 100644 --- a/arch/ia64/ia32/Makefile +++ b/arch/ia64/ia32/Makefile @@ -3,9 +3,9 @@ # .S.s: - $(CC) -D__ASSEMBLY__ $(AFLAGS) -E -o $*.s $< + $(CPP) $(AFLAGS) -o $*.s $< .S.o: - $(CC) -D__ASSEMBLY__ $(AFLAGS) -c -o $*.o $< + $(CC) $(AFLAGS) -c -o $*.o $< all: ia32.o diff --git a/arch/ia64/ia32/sys_ia32.c b/arch/ia64/ia32/sys_ia32.c index 8d4e4a8fd..00eca716d 100644 --- a/arch/ia64/ia32/sys_ia32.c +++ b/arch/ia64/ia32/sys_ia32.c @@ -2298,7 +2298,9 @@ copy_mount_stuff_to_kernel(const void *user, unsigned long *kernel) return 0; } -extern asmlinkage int sys_mount(char * dev_name, char * dir_name, char * type, +extern asmlinkage long sys_mount(char * dev_name, char * dir_name, char * type, + unsigned long new_flags, void *data); +extern long do_sys_mount(char * dev_name, char * dir_name, char * type, unsigned long new_flags, void *data); #define SMBFS_NAME "smbfs" @@ -2328,7 +2330,6 @@ sys32_mount(char *dev_name, char *dir_name, char *type, (void *)AA(data)); } else { unsigned long dev_page, dir_page, data_page; - mm_segment_t old_fs; err = copy_mount_stuff_to_kernel((const void *)dev_name, &dev_page); @@ -2348,13 +2349,9 @@ sys32_mount(char *dev_name, char *dir_name, char *type, do_smb_super_data_conv((void *)data_page); else panic("The problem is here..."); - old_fs = get_fs(); - set_fs(KERNEL_DS); - err = sys_mount((char *)dev_page, (char *)dir_page, + err = do_sys_mount((char *)dev_page, (char *)dir_page, (char *)type_page, new_flags, (void *)data_page); - set_fs(old_fs); - if(data_page) free_page(data_page); dir_out: |