summaryrefslogtreecommitdiffstats
path: root/arch/ia64/ia32
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/ia32')
-rw-r--r--arch/ia64/ia32/Makefile4
-rw-r--r--arch/ia64/ia32/sys_ia32.c11
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: