lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200708011433.09433.ak@novell.com>
Date:	Wed, 1 Aug 2007 14:33:09 +0200
From:	Andi Kleen <ak@...ell.com>
To:	linux-kernel@...r.kernel.org
Subject: [RFC] [PATCH] Deprecate a.out ELF interpreters


[apologies for the empty mail earlier; wetware error]

RFC: Deprecate a.out ELF interpreter support

The Linux ELF loader is quite complicated and messy code (that could
probably need a rewrite, but that's a different chapter). One particular
messy part in it is the support for non ELF a.out ld.sos. This 
was originally added to make transition from a.out to ELF easier
because an a.out ELF ld.so could be still build using an older
a.out toolkit. But by now that should be fully obsolete and removing
it would clean up binfmt_elf.c up a bit.

I propose to deprecate this support and remove for 2.6.25.

Drawback is that someone still runs their system with a.out ld.so
they would need to update the ld.so when updating to a new kernel.

This patch just adds an entry to the deprecation file and a printk
warning users.

Comments?

Signed-off-by: Andi Kleen <ak@...e.de>

Index: linux-2.6.23-rc1-misc/Documentation/feature-removal-schedule.txt
===================================================================
--- linux-2.6.23-rc1-misc.orig/Documentation/feature-removal-schedule.txt
+++ linux-2.6.23-rc1-misc/Documentation/feature-removal-schedule.txt
@@ -306,3 +306,12 @@ Why:	All mthca hardware also supports MS
 Who:	Roland Dreier <rolandd@...co.com>
 
 ---------------------------
+
+What:  a.out interpreter support for ELF executables
+When:  2.6.25
+Files: fs/binfmt_elf.c
+Why:   Using a.out interpreters for ELF executables was a feature for
+       transition from a.out to ELF. But now it is unlikely to be still
+       needed anymore and removing it would simplify the hairy ELF
+       loader code.
+Who:   Andi Kleen <ak@...e.de>
Index: linux-2.6.23-rc1-misc/fs/binfmt_elf.c
===================================================================
--- linux-2.6.23-rc1-misc.orig/fs/binfmt_elf.c
+++ linux-2.6.23-rc1-misc/fs/binfmt_elf.c
@@ -730,6 +730,7 @@ static int load_elf_binary(struct linux_
 
 	/* Some simple consistency checks for the interpreter */
 	if (elf_interpreter) {
+		static int warn;
 		interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT;
 
 		/* Now figure out which format our binary is */
@@ -741,6 +742,12 @@ static int load_elf_binary(struct linux_
 		if (memcmp(loc->interp_elf_ex.e_ident, ELFMAG, SELFMAG) != 0)
 			interpreter_type &= ~INTERPRETER_ELF;
 
+		if (interpreter_type == INTERPRETER_AOUT && warn < 10) {
+			printk(KERN_WARNING "a.out ELF interpreter %s is "
+	"deprecated and will not be supported anymore\n", elf_interpreter);
+			warn++;
+		}
+
 		retval = -ELIBBAD;
 		if (!interpreter_type)
 			goto out_free_dentry;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ