--- ./arch/um/kernel/syscall_kern.c.proc_mm 2003-12-21 23:11:47.000000000 +0100 +++ ./arch/um/kernel/syscall_kern.c 2003-12-25 17:53:08.000000000 +0100 @@ -65,6 +65,21 @@ return(ret); } +/* If SKAS patch is applied and PROC_MM is on, then we get this def from + * linux/mm.h; but this will maybe change, as it's unclean. But anyway skas3 + * is going away, so who cares? Without CONFIG_PROC_MM, the first param is just + * ignored, i.e. it is always current->mm. This is safe as without that patch + * nobody passes us a different value.*/ +#ifndef CONFIG_PROC_MM +static inline unsigned long __do_mmap_pgoff( + struct mm_struct *mm, struct file *file, + unsigned long addr, unsigned long len, + unsigned long prot, unsigned long flag, + unsigned long pgoff) { + return do_mmap_pgoff(file, addr, len, prot, flag, pgoff); +} +#endif + /* common code for old and new mmaps */ long do_mmap2(struct mm_struct *mm, unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, @@ -81,7 +96,7 @@ } down_write(&mm->mmap_sem); - error = do_mmap_pgoff(mm, file, addr, len, prot, flags, pgoff); + error = __do_mmap_pgoff(mm, file, addr, len, prot, flags, pgoff); up_write(&mm->mmap_sem); if (file) --- ./arch/um/kernel/ptrace.c.proc_mm 2003-12-21 23:11:47.000000000 +0100 +++ ./arch/um/kernel/ptrace.c 2003-12-25 17:43:59.000000000 +0100 @@ -24,11 +24,6 @@ { } -extern long do_mmap2(struct task_struct *task, unsigned long addr, - unsigned long len, unsigned long prot, - unsigned long flags, unsigned long fd, - unsigned long pgoff); - int sys_ptrace(long request, long pid, long addr, long data) { struct task_struct *child; --- ./arch/um/Kconfig.proc_mm 2003-12-21 23:11:47.000000000 +0100 +++ ./arch/um/Kconfig 2003-12-25 18:03:30.000000000 +0100 @@ -196,9 +196,6 @@ config HIGHMEM bool "Highmem support" -config PROC_MM - bool "/proc/mm support" - config KERNEL_STACK_ORDER int "Kernel stack size order" default 2