From: Anton Blanchard <anton@samba.org>
To: akpm@osdl.org
Cc: paulus@samba.org, tony.luck@intel.com, ak@suse.de,
matthew@wil.cx, ralf@linux-mips.org, schwidefsky@de.ibm.com,
linux-kernel@vger.kernel.org
Subject: [PATCH] Problems disabling SYSCTL
Date: Sun, 23 Jan 2005 16:01:02 +1100 [thread overview]
Message-ID: <20050123050102.GD5920@krispykreme.ozlabs.ibm.com> (raw)
Create a cond_syscall for sys32_sysctl and make all architectures use
it. Also fix the architectures that dont wrap their 32bit compat sysctl
code.
Signed-off-by: Anton Blanchard <anton@samba.org>
diff -puN arch/ia64/ia32/sys_ia32.c~sysctl_fixup2 arch/ia64/ia32/sys_ia32.c
--- foobar2/arch/ia64/ia32/sys_ia32.c~sysctl_fixup2 2005-01-13 10:40:35.995198406 +1100
+++ foobar2-anton/arch/ia64/ia32/sys_ia32.c 2005-01-13 10:40:36.058193579 +1100
@@ -1973,10 +1973,10 @@ struct sysctl32 {
unsigned int __unused[4];
};
+#ifdef CONFIG_SYSCTL
asmlinkage long
sys32_sysctl (struct sysctl32 __user *args)
{
-#ifdef CONFIG_SYSCTL
struct sysctl32 a32;
mm_segment_t old_fs = get_fs ();
void __user *oldvalp, *newvalp;
@@ -2015,10 +2015,8 @@ sys32_sysctl (struct sysctl32 __user *ar
return -EFAULT;
return ret;
-#else
- return -ENOSYS;
-#endif
}
+#endif
asmlinkage long
sys32_newuname (struct new_utsname __user *name)
diff -puN arch/mips/kernel/linux32.c~sysctl_fixup2 arch/mips/kernel/linux32.c
--- foobar2/arch/mips/kernel/linux32.c~sysctl_fixup2 2005-01-13 10:40:36.000198023 +1100
+++ foobar2-anton/arch/mips/kernel/linux32.c 2005-01-13 10:40:36.051194115 +1100
@@ -1194,13 +1194,6 @@ asmlinkage long sys32_sysctl(struct sysc
return error;
}
-#else /* CONFIG_SYSCTL */
-
-asmlinkage long sys32_sysctl(struct sysctl_args32 *args)
-{
- return -ENOSYS;
-}
-
#endif /* CONFIG_SYSCTL */
asmlinkage long sys32_newuname(struct new_utsname * name)
diff -puN arch/parisc/kernel/sys_parisc32.c~sysctl_fixup2 arch/parisc/kernel/sys_parisc32.c
--- foobar2/arch/parisc/kernel/sys_parisc32.c~sysctl_fixup2 2005-01-13 10:40:36.005197640 +1100
+++ foobar2-anton/arch/parisc/kernel/sys_parisc32.c 2005-01-13 10:40:36.060193425 +1100
@@ -165,12 +165,6 @@ asmlinkage long sys32_sysctl(struct __sy
return error;
}
-#else /* CONFIG_SYSCTL */
-
-asmlinkage long sys32_sysctl(struct __sysctl_args *args)
-{
- return -ENOSYS;
-}
#endif /* CONFIG_SYSCTL */
asmlinkage long sys32_sched_rr_get_interval(pid_t pid,
diff -puN arch/ppc64/kernel/sys_ppc32.c~sysctl_fixup2 arch/ppc64/kernel/sys_ppc32.c
--- foobar2/arch/ppc64/kernel/sys_ppc32.c~sysctl_fixup2 2005-01-13 10:40:36.011197180 +1100
+++ foobar2-anton/arch/ppc64/kernel/sys_ppc32.c 2005-01-13 10:40:36.046194498 +1100
@@ -1106,6 +1106,7 @@ asmlinkage long sys32_umask(u32 mask)
return sys_umask((int)mask);
}
+#ifdef CONFIG_SYSCTL
struct __sysctl_args32 {
u32 name;
int nlen;
@@ -1155,6 +1156,7 @@ asmlinkage long sys32_sysctl(struct __sy
}
return error;
}
+#endif
asmlinkage int sys32_olduname(struct oldold_utsname __user * name)
{
diff -puN arch/s390/kernel/compat_linux.c~sysctl_fixup2 arch/s390/kernel/compat_linux.c
--- foobar2/arch/s390/kernel/compat_linux.c~sysctl_fixup2 2005-01-13 10:40:36.016196797 +1100
+++ foobar2-anton/arch/s390/kernel/compat_linux.c 2005-01-13 10:40:36.063193195 +1100
@@ -906,6 +906,7 @@ asmlinkage long sys32_adjtimex(struct ti
return ret;
}
+#ifdef CONFIG_SYSCTL
struct __sysctl_args32 {
u32 name;
int nlen;
@@ -953,6 +954,7 @@ asmlinkage long sys32_sysctl(struct __sy
}
return error;
}
+#endif
struct stat64_emu31 {
unsigned long long st_dev;
diff -puN arch/x86_64/ia32/sys_ia32.c~sysctl_fixup2 arch/x86_64/ia32/sys_ia32.c
--- foobar2/arch/x86_64/ia32/sys_ia32.c~sysctl_fixup2 2005-01-13 10:40:36.021196414 +1100
+++ foobar2-anton/arch/x86_64/ia32/sys_ia32.c 2005-01-13 10:40:36.066192966 +1100
@@ -653,6 +653,7 @@ sys32_pause(void)
}
+#ifdef CONFIG_SYSCTL
struct sysctl_ia32 {
unsigned int name;
int nlen;
@@ -667,9 +668,6 @@ struct sysctl_ia32 {
asmlinkage long
sys32_sysctl(struct sysctl_ia32 __user *args32)
{
-#ifndef CONFIG_SYSCTL
- return -ENOSYS;
-#else
struct sysctl_ia32 a32;
mm_segment_t old_fs = get_fs ();
void *oldvalp, *newvalp;
@@ -710,8 +708,8 @@ sys32_sysctl(struct sysctl_ia32 __user *
return -EFAULT;
return ret;
-#endif
}
+#endif
/* warning: next two assume little endian */
asmlinkage long
diff -puN kernel/sys_ni.c~sysctl_fixup2 kernel/sys_ni.c
--- foobar2/kernel/sys_ni.c~sysctl_fixup2 2005-01-13 10:40:36.026196031 +1100
+++ foobar2-anton/kernel/sys_ni.c 2005-01-13 10:40:36.047194422 +1100
@@ -82,3 +82,4 @@ cond_syscall(sys_pciconfig_read)
cond_syscall(sys_pciconfig_write)
cond_syscall(sys_pciconfig_iobase)
cond_syscall(sys32_ipc)
+cond_syscall(sys32_sysctl)
_
next reply other threads:[~2005-01-23 5:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-23 5:01 Anton Blanchard [this message]
2005-01-23 14:35 ` [PATCH] Problems disabling SYSCTL Matthew Wilcox
2005-01-23 19:17 ` Andi Kleen
2005-01-24 13:50 ` Anton Blanchard
2005-01-24 16:00 ` Andi Kleen
2005-01-24 16:14 ` Matthew Wilcox
2005-01-24 16:21 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050123050102.GD5920@krispykreme.ozlabs.ibm.com \
--to=anton@samba.org \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=paulus@samba.org \
--cc=ralf@linux-mips.org \
--cc=schwidefsky@de.ibm.com \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox