Skip to contentSkip to conversation

Clean up sys_ioperm stubs

PATCH In review Brian Gerst 3 participants 5 messages Feb 26, 2004

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Clean up sys_ioperm stubs

Remove stubs for sys_ioperm for non-x86 arches, using sys_ni_syscall instead where applicable.

PS. Can we nuke the KDADDIO etc. ioctls in drivers/char/vt_ioctl.c? They apparently were used by ancient versions of X, but nothing should be using them now, considering they are limited to the VGA ports only (I also checked svgalib).

--
Brian Gerst

arch/h8300/kernel/syscalls.S +1 -1
diff -urN linux-bk/arch/h8300/kernel/syscalls.S linux/arch/h8300/kernel/syscalls.S
@@ -116,7 +116,7 @@
 	.long SYMBOL_NAME(sys_ni_syscall)				/* old profil syscall holder */
 	.long SYMBOL_NAME(sys_statfs)
 	.long SYMBOL_NAME(sys_fstatfs)		/* 100 */
-	.long SYMBOL_NAME(sys_ioperm)
+	.long SYMBOL_NAME(sys_ni_syscall)	/* ioperm for i386 */
 	.long SYMBOL_NAME(sys_socketcall)
 	.long SYMBOL_NAME(sys_syslog)
 	.long SYMBOL_NAME(sys_setitimer)
arch/h8300/kernel/sys_h8300.c +0 -5
diff -urN linux-bk/arch/h8300/kernel/sys_h8300.c linux/arch/h8300/kernel/sys_h8300.c
@@ -260,11 +260,6 @@
 	return -EINVAL;
 }
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-  return -ENOSYS;
-}
-
 /* sys_cacheflush -- no support.  */
 asmlinkage int
 sys_cacheflush (unsigned long addr, int scope, int cache, unsigned long len)
arch/m68k/kernel/entry.S +1 -1
diff -urN linux-bk/arch/m68k/kernel/entry.S linux/arch/m68k/kernel/entry.S
@@ -528,7 +528,7 @@
 	.long sys_ni_syscall				/* old profil syscall holder */
 	.long sys_statfs
 	.long sys_fstatfs	/* 100 */
-	.long sys_ioperm
+	.long sys_ni_syscall				/* ioperm for i386 */
 	.long sys_socketcall
 	.long sys_syslog
 	.long sys_setitimer
arch/m68k/kernel/sys_m68k.c +0 -6
diff -urN linux-bk/arch/m68k/kernel/sys_m68k.c linux/arch/m68k/kernel/sys_m68k.c
@@ -261,12 +261,6 @@
 	return -EINVAL;
 }
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-  return -ENOSYS;
-}
-
-
 /* Convert virtual (user) address VADDR to physical address PADDR */
 #define virt_to_phys_040(vaddr)						\
 ({									\
arch/m68knommu/kernel/syscalltable.S +1 -1
diff -urN linux-bk/arch/m68knommu/kernel/syscalltable.S linux/arch/m68knommu/kernel/syscalltable.S
@@ -120,7 +120,7 @@
 	.long sys_ni_syscall	/* old profil syscall holder */
 	.long sys_statfs
 	.long sys_fstatfs	/* 100 */
-	.long sys_ioperm
+	.long sys_ni_syscall	/* ioperm for i386 */
 	.long sys_socketcall
 	.long sys_syslog
 	.long sys_setitimer
arch/m68knommu/kernel/sys_m68k.c +0 -6
diff -urN linux-bk/arch/m68knommu/kernel/sys_m68k.c linux/arch/m68knommu/kernel/sys_m68k.c
@@ -193,12 +193,6 @@
 	return -EINVAL;
 }
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-  return -ENOSYS;
-}
-
-
 /* sys_cacheflush -- flush (part of) the processor cache.  */
 asmlinkage int
 sys_cacheflush (unsigned long addr, int scope, int cache, unsigned long len)
arch/parisc/kernel/sys_parisc.c +0 -8
diff -urN linux-bk/arch/parisc/kernel/sys_parisc.c linux/arch/parisc/kernel/sys_parisc.c
@@ -242,14 +242,6 @@
 	return sys_readahead(fd, (loff_t)high << 32 | low, count);
 }
 
-/*
- * This changes the io permissions bitmap in the current task.
- */
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
-{
-	return -ENOSYS;
-}
-
 asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr, unsigned long len, int prot, int flag)
 {
 	return -ENOMEM;
arch/s390/kernel/syscalls.S +1 -1
diff -urN linux-bk/arch/s390/kernel/syscalls.S linux/arch/s390/kernel/syscalls.S
@@ -109,7 +109,7 @@
 NI_SYSCALL							/* old profil syscall */
 SYSCALL(sys_statfs,sys_statfs,compat_sys_statfs_wrapper)
 SYSCALL(sys_fstatfs,sys_fstatfs,compat_sys_fstatfs_wrapper)	/* 100 */
-SYSCALL(sys_ioperm,sys_ni_syscall,sys_ni_syscall)
+NI_SYSCALL							/* ioperm for i386 */
 SYSCALL(sys_socketcall,sys_socketcall,compat_sys_socketcall_wrapper)
 SYSCALL(sys_syslog,sys_syslog,sys32_syslog_wrapper)
 SYSCALL(sys_setitimer,sys_setitimer,compat_sys_setitimer_wrapper)
arch/s390/kernel/sys_s390.c +0 -5
diff -urN linux-bk/arch/s390/kernel/sys_s390.c linux/arch/s390/kernel/sys_s390.c
@@ -289,11 +289,6 @@
 	return error;
 }
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-	return -ENOSYS;
-}
-
 #else /* CONFIG_ARCH_S390X */
 
 asmlinkage int s390x_newuname(struct new_utsname * name)
arch/sparc/kernel/setup.c +0 -5
diff -urN linux-bk/arch/sparc/kernel/setup.c linux/arch/sparc/kernel/setup.c
@@ -390,11 +390,6 @@
 }
 console_initcall(set_preferred_console);
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-	return -EIO;
-}
-
 extern char *sparc_cpu_type[];
 extern char *sparc_fpu_type[];
 
arch/sparc64/kernel/setup.c +0 -5
diff -urN linux-bk/arch/sparc64/kernel/setup.c linux/arch/sparc64/kernel/setup.c
@@ -603,11 +603,6 @@
 }
 console_initcall(set_preferred_console);
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-	return -EIO;
-}
-
 /* BUFFER is PAGE_SIZE bytes long. */
 
 extern char *sparc_cpu_type;
arch/sparc64/kernel/sys_sparc32.c +0 -5
diff -urN linux-bk/arch/sparc64/kernel/sys_sparc32.c linux/arch/sparc64/kernel/sys_sparc32.c
@@ -282,11 +282,6 @@
 		 __put_user(i->tv_usec, &o->tv_usec)));
 }
 
-asmlinkage long sys32_ioperm(u32 from, u32 num, int on)
-{
-	return sys_ioperm((unsigned long)from, (unsigned long)num, on);
-}
-
 struct msgbuf32 { s32 mtype; char mtext[1]; };
 
 struct ipc_perm32
include/asm-h8300/unistd.h +1 -2
diff -urN linux-bk/include/asm-h8300/unistd.h linux/include/asm-h8300/unistd.h
@@ -105,7 +105,7 @@
 #define __NR_profil		 98
 #define __NR_statfs		 99
 #define __NR_fstatfs		100
-#define __NR_ioperm		101
+#define __NR_ioperm		/* 101 */ not supported
 #define __NR_socketcall		102
 #define __NR_syslog		103
 #define __NR_setitimer		104
@@ -490,7 +490,6 @@
 			int dummy, ...);
 asmlinkage int sys_pipe(unsigned long *fildes);
 asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
include/asm-m68k/unistd.h +1 -2
diff -urN linux-bk/include/asm-m68k/unistd.h linux/include/asm-m68k/unistd.h
@@ -105,7 +105,7 @@
 #define __NR_profil		 98
 #define __NR_statfs		 99
 #define __NR_fstatfs		100
-#define __NR_ioperm		101
+#define __NR_ioperm		/* 101 */ not supported
 #define __NR_socketcall		102
 #define __NR_syslog		103
 #define __NR_setitimer		104
@@ -374,7 +374,6 @@
 asmlinkage int sys_execve(char *name, char **argv, char **envp);
 asmlinkage int sys_pipe(unsigned long *fildes);
 asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct pt_regs;
 int sys_request_irq(unsigned int,
 			irqreturn_t (*)(int, void *, struct pt_regs *),
include/asm-m68knommu/unistd.h +1 -2
diff -urN linux-bk/include/asm-m68knommu/unistd.h linux/include/asm-m68knommu/unistd.h
@@ -105,7 +105,7 @@
 #define __NR_profil		 98
 #define __NR_statfs		 99
 #define __NR_fstatfs		100
-#define __NR_ioperm		101
+#define __NR_ioperm		/* 101 */ not supported
 #define __NR_socketcall		102
 #define __NR_syslog		103
 #define __NR_setitimer		104
@@ -416,7 +416,6 @@
 asmlinkage int sys_execve(char *name, char **argv, char **envp);
 asmlinkage int sys_pipe(unsigned long *fildes);
 asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct pt_regs;
 int sys_request_irq(unsigned int,
 			irqreturn_t (*)(int, void *, struct pt_regs *),
include/asm-parisc/unistd.h +0 -1
diff -urN linux-bk/include/asm-parisc/unistd.h linux/include/asm-parisc/unistd.h
@@ -909,7 +909,6 @@
 int sys_vfork(struct pt_regs *regs);
 int sys_pipe(int *fildes);
 long sys_ptrace(long request, pid_t pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
include/asm-s390/unistd.h +0 -1
diff -urN linux-bk/include/asm-s390/unistd.h linux/include/asm-s390/unistd.h
@@ -554,7 +554,6 @@
 #endif /* CONFIG_ARCH_S390X */
 asmlinkage __SYS_RETTYPE sys_pipe(unsigned long *fildes);
 asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
include/asm-sparc/unistd.h +0 -1
diff -urN linux-bk/include/asm-sparc/unistd.h linux/include/asm-sparc/unistd.h
@@ -461,7 +461,6 @@
 				unsigned long addr, unsigned long len,
 				unsigned long prot, unsigned long flags,
 				unsigned long fd, unsigned long pgoff);
-asmlinkage int sys_ioperm(unsigned long from, unsigned long num, int on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
include/asm-sparc64/unistd.h +0 -1
diff -urN linux-bk/include/asm-sparc64/unistd.h linux/include/asm-sparc64/unistd.h
@@ -447,7 +447,6 @@
 				unsigned long addr, unsigned long len,
 				unsigned long prot, unsigned long flags,
 				unsigned long fd, unsigned long off);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
#1 lore raw
Quoted 2 lines · Brian Gerst

Remove stubs for sys_ioperm for non-x86 arches, using sys_ni_syscall instead where applicable.

I have better suggestion: make sys_ioperm() a cond_syscall(). Then kill its implementation on all platforms where it just returns -ENOSYS.

#2 lore raw
Quoted 7 lines · [email protected] wrote:
Quoted 2 lines · Brian Gerst

Remove stubs for sys_ioperm for non-x86 arches, using sys_ni_syscall instead where applicable.

I have better suggestion: make sys_ioperm() a cond_syscall(). Then kill its implementation on all platforms where it just returns -ENOSYS.

Why is that better? Sticking a pointer to the not-implemented-syscall into the syscall table is pretty darn explicit.

#3 lore raw
Quoted 11 lines · Andrew Morton
Quoted 7 lines · [email protected] wrote:
Quoted 2 lines · Brian Gerst

Remove stubs for sys_ioperm for non-x86 arches, using sys_ni_syscall instead where applicable.

I have better suggestion: make sys_ioperm() a cond_syscall(). Then kill its implementation on all platforms where it just returns -ENOSYS.

Why is that better? Sticking a pointer to the not-implemented-syscall into the syscall table is pretty darn explicit.

No chance of reuse. BTW,
#define __NR_ioperm /* 101 */ <uncommented text>
is asking for trouble. You get the symbol defined (so that will fool any ifdef) and it expands to something completely bogus.

#4 lore raw
Quoted 11 lines · [email protected] wrote:
Quoted 9 lines · Andrew Morton
Quoted 6 lines · [email protected] wrote:
Quoted 1 line · Brian Gerst

Remove stubs for sys_ioperm for non-x86 arches, using sys_ni_syscall instead where applicable.

I have better suggestion: make sys_ioperm() a cond_syscall(). Then kill its implementation on all platforms where it just returns -ENOSYS.

Quoted 9 lines
Quoted 2 lines

Why is that better? Sticking a pointer to the not-implemented-syscall into the syscall table is pretty darn explicit.

No chance of reuse. BTW,
#define __NR_ioperm /* 101 */ <uncommented text>
is asking for trouble. You get the symbol defined (so that will fool any ifdef) and it expands to something completely bogus.

cond_syscall() should be used for cases where a config option controls the syscall. Support for sys_ioperm is unconditionally no for non-x86 arches.

In practice, new syscalls are added to the end of the table, so reuse isn't a major issue. I backed out the uncommened text with __NR_ioperm, but there are other examples of this in those files that I just copied.
An audit of unistd.h needs to be done.

--
Brian Gerst

arch/h8300/kernel/syscalls.S +1 -1
diff -urN linux-bk/arch/h8300/kernel/syscalls.S linux/arch/h8300/kernel/syscalls.S
@@ -116,7 +116,7 @@
 	.long SYMBOL_NAME(sys_ni_syscall)				/* old profil syscall holder */
 	.long SYMBOL_NAME(sys_statfs)
 	.long SYMBOL_NAME(sys_fstatfs)		/* 100 */
-	.long SYMBOL_NAME(sys_ioperm)
+	.long SYMBOL_NAME(sys_ni_syscall)	/* ioperm for i386 */
 	.long SYMBOL_NAME(sys_socketcall)
 	.long SYMBOL_NAME(sys_syslog)
 	.long SYMBOL_NAME(sys_setitimer)
arch/h8300/kernel/sys_h8300.c +0 -5
diff -urN linux-bk/arch/h8300/kernel/sys_h8300.c linux/arch/h8300/kernel/sys_h8300.c
@@ -260,11 +260,6 @@
 	return -EINVAL;
 }
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-  return -ENOSYS;
-}
-
 /* sys_cacheflush -- no support.  */
 asmlinkage int
 sys_cacheflush (unsigned long addr, int scope, int cache, unsigned long len)
arch/m68k/kernel/entry.S +1 -1
diff -urN linux-bk/arch/m68k/kernel/entry.S linux/arch/m68k/kernel/entry.S
@@ -528,7 +528,7 @@
 	.long sys_ni_syscall				/* old profil syscall holder */
 	.long sys_statfs
 	.long sys_fstatfs	/* 100 */
-	.long sys_ioperm
+	.long sys_ni_syscall				/* ioperm for i386 */
 	.long sys_socketcall
 	.long sys_syslog
 	.long sys_setitimer
arch/m68k/kernel/sys_m68k.c +0 -6
diff -urN linux-bk/arch/m68k/kernel/sys_m68k.c linux/arch/m68k/kernel/sys_m68k.c
@@ -261,12 +261,6 @@
 	return -EINVAL;
 }
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-  return -ENOSYS;
-}
-
-
 /* Convert virtual (user) address VADDR to physical address PADDR */
 #define virt_to_phys_040(vaddr)						\
 ({									\
arch/m68knommu/kernel/syscalltable.S +1 -1
diff -urN linux-bk/arch/m68knommu/kernel/syscalltable.S linux/arch/m68knommu/kernel/syscalltable.S
@@ -120,7 +120,7 @@
 	.long sys_ni_syscall	/* old profil syscall holder */
 	.long sys_statfs
 	.long sys_fstatfs	/* 100 */
-	.long sys_ioperm
+	.long sys_ni_syscall	/* ioperm for i386 */
 	.long sys_socketcall
 	.long sys_syslog
 	.long sys_setitimer
arch/m68knommu/kernel/sys_m68k.c +0 -6
diff -urN linux-bk/arch/m68knommu/kernel/sys_m68k.c linux/arch/m68knommu/kernel/sys_m68k.c
@@ -193,12 +193,6 @@
 	return -EINVAL;
 }
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-  return -ENOSYS;
-}
-
-
 /* sys_cacheflush -- flush (part of) the processor cache.  */
 asmlinkage int
 sys_cacheflush (unsigned long addr, int scope, int cache, unsigned long len)
arch/parisc/kernel/sys_parisc.c +0 -8
diff -urN linux-bk/arch/parisc/kernel/sys_parisc.c linux/arch/parisc/kernel/sys_parisc.c
@@ -242,14 +242,6 @@
 	return sys_readahead(fd, (loff_t)high << 32 | low, count);
 }
 
-/*
- * This changes the io permissions bitmap in the current task.
- */
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
-{
-	return -ENOSYS;
-}
-
 asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr, unsigned long len, int prot, int flag)
 {
 	return -ENOMEM;
arch/s390/kernel/syscalls.S +1 -1
diff -urN linux-bk/arch/s390/kernel/syscalls.S linux/arch/s390/kernel/syscalls.S
@@ -109,7 +109,7 @@
 NI_SYSCALL							/* old profil syscall */
 SYSCALL(sys_statfs,sys_statfs,compat_sys_statfs_wrapper)
 SYSCALL(sys_fstatfs,sys_fstatfs,compat_sys_fstatfs_wrapper)	/* 100 */
-SYSCALL(sys_ioperm,sys_ni_syscall,sys_ni_syscall)
+NI_SYSCALL							/* ioperm for i386 */
 SYSCALL(sys_socketcall,sys_socketcall,compat_sys_socketcall_wrapper)
 SYSCALL(sys_syslog,sys_syslog,sys32_syslog_wrapper)
 SYSCALL(sys_setitimer,sys_setitimer,compat_sys_setitimer_wrapper)
arch/s390/kernel/sys_s390.c +0 -5
diff -urN linux-bk/arch/s390/kernel/sys_s390.c linux/arch/s390/kernel/sys_s390.c
@@ -289,11 +289,6 @@
 	return error;
 }
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-	return -ENOSYS;
-}
-
 #else /* CONFIG_ARCH_S390X */
 
 asmlinkage int s390x_newuname(struct new_utsname * name)
arch/sparc/kernel/setup.c +0 -5
diff -urN linux-bk/arch/sparc/kernel/setup.c linux/arch/sparc/kernel/setup.c
@@ -390,11 +390,6 @@
 }
 console_initcall(set_preferred_console);
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-	return -EIO;
-}
-
 extern char *sparc_cpu_type[];
 extern char *sparc_fpu_type[];
 
arch/sparc64/kernel/setup.c +0 -5
diff -urN linux-bk/arch/sparc64/kernel/setup.c linux/arch/sparc64/kernel/setup.c
@@ -603,11 +603,6 @@
 }
 console_initcall(set_preferred_console);
 
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on)
-{
-	return -EIO;
-}
-
 /* BUFFER is PAGE_SIZE bytes long. */
 
 extern char *sparc_cpu_type;
arch/sparc64/kernel/sys_sparc32.c +0 -5
diff -urN linux-bk/arch/sparc64/kernel/sys_sparc32.c linux/arch/sparc64/kernel/sys_sparc32.c
@@ -282,11 +282,6 @@
 		 __put_user(i->tv_usec, &o->tv_usec)));
 }
 
-asmlinkage long sys32_ioperm(u32 from, u32 num, int on)
-{
-	return sys_ioperm((unsigned long)from, (unsigned long)num, on);
-}
-
 struct msgbuf32 { s32 mtype; char mtext[1]; };
 
 struct ipc_perm32
include/asm-h8300/unistd.h +0 -1
diff -urN linux-bk/include/asm-h8300/unistd.h linux/include/asm-h8300/unistd.h
@@ -490,7 +490,6 @@
 			int dummy, ...);
 asmlinkage int sys_pipe(unsigned long *fildes);
 asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
include/asm-m68k/unistd.h +0 -1
diff -urN linux-bk/include/asm-m68k/unistd.h linux/include/asm-m68k/unistd.h
@@ -374,7 +374,6 @@
 asmlinkage int sys_execve(char *name, char **argv, char **envp);
 asmlinkage int sys_pipe(unsigned long *fildes);
 asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct pt_regs;
 int sys_request_irq(unsigned int,
 			irqreturn_t (*)(int, void *, struct pt_regs *),
include/asm-m68knommu/unistd.h +0 -1
diff -urN linux-bk/include/asm-m68knommu/unistd.h linux/include/asm-m68knommu/unistd.h
@@ -416,7 +416,6 @@
 asmlinkage int sys_execve(char *name, char **argv, char **envp);
 asmlinkage int sys_pipe(unsigned long *fildes);
 asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct pt_regs;
 int sys_request_irq(unsigned int,
 			irqreturn_t (*)(int, void *, struct pt_regs *),
include/asm-parisc/unistd.h +0 -1
diff -urN linux-bk/include/asm-parisc/unistd.h linux/include/asm-parisc/unistd.h
@@ -909,7 +909,6 @@
 int sys_vfork(struct pt_regs *regs);
 int sys_pipe(int *fildes);
 long sys_ptrace(long request, pid_t pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
include/asm-s390/unistd.h +0 -1
diff -urN linux-bk/include/asm-s390/unistd.h linux/include/asm-s390/unistd.h
@@ -554,7 +554,6 @@
 #endif /* CONFIG_ARCH_S390X */
 asmlinkage __SYS_RETTYPE sys_pipe(unsigned long *fildes);
 asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
include/asm-sparc/unistd.h +0 -1
diff -urN linux-bk/include/asm-sparc/unistd.h linux/include/asm-sparc/unistd.h
@@ -461,7 +461,6 @@
 				unsigned long addr, unsigned long len,
 				unsigned long prot, unsigned long flags,
 				unsigned long fd, unsigned long pgoff);
-asmlinkage int sys_ioperm(unsigned long from, unsigned long num, int on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,
include/asm-sparc64/unistd.h +0 -1
diff -urN linux-bk/include/asm-sparc64/unistd.h linux/include/asm-sparc64/unistd.h
@@ -447,7 +447,6 @@
 				unsigned long addr, unsigned long len,
 				unsigned long prot, unsigned long flags,
 				unsigned long fd, unsigned long off);
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
 struct sigaction;
 asmlinkage long sys_rt_sigaction(int sig,
 				const struct sigaction __user *act,