[PATCH] remove unused sysctls from kernel/personality.c

From: Christoph Hellwig
Date: Wed Sep 01 2004 - 04:57:11 EST


These are only used by the out of tree linux-abi project, so it makes
sense to define them in those modules.


--- 1.6/include/linux/personality.h 2003-09-01 01:13:59 +02:00
+++ edited/include/linux/personality.h 2004-07-11 17:40:34 +02:00
@@ -12,17 +12,6 @@
extern int unregister_exec_domain(struct exec_domain *);
extern int __set_personality(unsigned long);

-
-/*
- * Sysctl variables related to binary emulation.
- */
-extern unsigned long abi_defhandler_coff;
-extern unsigned long abi_defhandler_elf;
-extern unsigned long abi_defhandler_lcall7;
-extern unsigned long abi_defhandler_libcso;
-extern int abi_fake_utsname;
-
-
/*
* Flags for bug emulation.
*
===== kernel/exec_domain.c 1.16 vs edited =====
--- 1.16/kernel/exec_domain.c 2004-03-31 15:43:33 +02:00
+++ edited/kernel/exec_domain.c 2004-07-11 17:40:15 +02:00
@@ -44,29 +44,7 @@
static void
default_handler(int segment, struct pt_regs *regp)
{
- u_long pers = 0;
-
- /*
- * This may have been a static linked SVr4 binary, so we would
- * have the personality set incorrectly. Or it might have been
- * a Solaris/x86 binary. We can tell which because the former
- * uses lcall7, while the latter used lcall 0x27.
- * Try to find or load the appropriate personality, and fall back
- * to just forcing a SEGV.
- *
- * XXX: this is IA32-specific and should be moved to the MD-tree.
- */
- switch (segment) {
-#ifdef __i386__
- case 0x07:
- pers = abi_defhandler_lcall7;
- break;
- case 0x27:
- pers = PER_SOLARIS;
- break;
-#endif
- }
- set_personality(pers);
+ set_personality(0);

if (current_thread_info()->exec_domain->handler != default_handler)
current_thread_info()->exec_domain->handler(segment, regp);
@@ -228,100 +206,3 @@
EXPORT_SYMBOL(register_exec_domain);
EXPORT_SYMBOL(unregister_exec_domain);
EXPORT_SYMBOL(__set_personality);
-
-/*
- * We have to have all sysctl handling for the Linux-ABI
- * in one place as the dynamic registration of sysctls is
- * horribly crufty in Linux <= 2.4.
- *
- * I hope the new sysctl schemes discussed for future versions
- * will obsolete this.
- *
- * --hch
- */
-
-u_long abi_defhandler_coff = PER_SCOSVR3;
-u_long abi_defhandler_elf = PER_LINUX;
-u_long abi_defhandler_lcall7 = PER_SVR4;
-u_long abi_defhandler_libcso = PER_SVR4;
-u_int abi_traceflg;
-int abi_fake_utsname;
-
-static struct ctl_table abi_table[] = {
- {
- .ctl_name = ABI_DEFHANDLER_COFF,
- .procname = "defhandler_coff",
- .data = &abi_defhandler_coff,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_doulongvec_minmax,
- },
- {
- .ctl_name = ABI_DEFHANDLER_ELF,
- .procname = "defhandler_elf",
- .data = &abi_defhandler_elf,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_doulongvec_minmax,
- },
- {
- .ctl_name = ABI_DEFHANDLER_LCALL7,
- .procname = "defhandler_lcall7",
- .data = &abi_defhandler_lcall7,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_doulongvec_minmax,
- },
- {
- .ctl_name = ABI_DEFHANDLER_LIBCSO,
- .procname = "defhandler_libcso",
- .data = &abi_defhandler_libcso,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_doulongvec_minmax,
- },
- {
- .ctl_name = ABI_TRACE,
- .procname = "trace",
- .data = &abi_traceflg,
- .maxlen = sizeof(u_int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
- {
- .ctl_name = ABI_FAKE_UTSNAME,
- .procname = "fake_utsname",
- .data = &abi_fake_utsname,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
- { .ctl_name = 0 }
-};
-
-static struct ctl_table abi_root_table[] = {
- {
- .ctl_name = CTL_ABI,
- .procname = "abi",
- .mode = 0555,
- .child = abi_table,
- },
- { .ctl_name = 0 }
-};
-
-static int __init
-abi_register_sysctl(void)
-{
- register_sysctl_table(abi_root_table, 1);
- return 0;
-}
-
-__initcall(abi_register_sysctl);
-
-
-EXPORT_SYMBOL(abi_defhandler_coff);
-EXPORT_SYMBOL(abi_defhandler_elf);
-EXPORT_SYMBOL(abi_defhandler_lcall7);
-EXPORT_SYMBOL(abi_defhandler_libcso);
-EXPORT_SYMBOL(abi_traceflg);
-EXPORT_SYMBOL(abi_fake_utsname);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/