linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: Borislav Petkov <bp@alien8.de>
Cc: X86 ML <x86@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Eric Biederman <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86: Remove a.out support
Date: Thu, 13 Jan 2022 23:06:03 -0500	[thread overview]
Message-ID: <YeD2q77KmaD8k87Q@mit.edu> (raw)
In-Reply-To: <YeCuNapJLK4M5sat@zn.tnic>

On Thu, Jan 13, 2022 at 11:56:53PM +0100, Borislav Petkov wrote:
> On Thu, Jan 13, 2022 at 01:47:34PM -0500, Theodore Ts'o wrote:
> > Let's pour one out for being able to run Minix binaries on Linux.  :-)
> 
> https://en.wikipedia.org/wiki/Minix_3:
> 
> "2013-02-21 ... Dropped support for a.out binaries"
> 
> They themselves killed that support a lot earlier. :-)

Well, Minix 3 is a very different beast than the Minix 1.x that Linus
used when he was boot-strapping Linux back in 1991.  :-)

Among other things Minux 1.x is system call compatible with the
original V7 Unix from AT&T, whereas Minux 2.x and higher switch to
having system calls that were Posix comaptible --- and Minix 2, being
at teaching OS, wouldn't have kept any backwards compatibility when
Prof. Tannenbaum released the 2nd edition of his Operating Systems
Design and Implementation book in 1997.

> > Speaking of which, if we're doing this, are there some old system
> > calls that we could remove at the same time?
> 
> Good question.
> 
> Unfortunately, I'm just the janitor removing this and a.out is waaay
> before my time. :-)
> 
> But I'm open to suggestions on how to determine which are those obsolete
> syscalls.

Historically there were a couple of different C libraries
which x86 binaries for Linux could use:

A) minix's libc -- used by binaries compiled using the Minix 1 toolchain
B) Libc 4 -- a fork of GNU Libc version 1, for a.out execuables
C) Libc 5 -- a fork of GNU Libc version 1, for ELF execuables
D) Libc 6 -- GNU Libc version 2, for ELF executables

So I think what this would boil down to is finding those system calls
that were used by (A) and (B), but not referenced in (C) and (D).  I
guess we'd also have to check to make sure that some of these ancient
system calls might still be used by some of the micro libc's, such as
dietlibc, musl, etc.

Is it worth doing?  Perhaps; perhaps not.  It probably wouldn't reduce
the size of the kernel by all *that* much, but getting rid of cruft is
kind of a good thing for its own sake.

Cheers.

						- Ted

  reply	other threads:[~2022-01-14  4:06 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-13 16:01 [PATCH] x86: Remove a.out support Borislav Petkov
2022-01-13 18:08 ` Kees Cook
2022-01-13 18:47 ` Theodore Ts'o
2022-01-13 22:56   ` Borislav Petkov
2022-01-14  4:06     ` Theodore Ts'o [this message]
2022-01-14 10:40       ` Arnd Bergmann
2022-01-14 19:09       ` Borislav Petkov
2022-01-14  9:51     ` David Laight
2022-01-14 14:52     ` Geert Uytterhoeven
2022-01-14 18:57       ` Theodore Ts'o
2022-01-14 19:00         ` Geert Uytterhoeven
2022-01-14 19:12       ` Borislav Petkov
2022-01-14 19:21         ` Geert Uytterhoeven
2022-01-14 19:35           ` Borislav Petkov
2022-01-15 11:37             ` Borislav Petkov
2022-01-15 19:42               ` John Paul Adrian Glaubitz
2022-03-09 20:03                 ` [PATCH] a.out: Stop building a.out/osf1 support on alpha and m68k Eric W. Biederman
2022-03-09 20:37                   ` Linus Torvalds
2022-03-09 22:02                     ` Kees Cook
2022-03-09 22:04                   ` Kees Cook
2022-03-10 23:29                     ` [PATCH] x86: Remove a.out support Eric W. Biederman
2022-03-10 23:35                       ` Linus Torvalds
2022-03-11  8:47                         ` Arnd Bergmann
2022-03-11 10:03                       ` Borislav Petkov
2022-03-10  8:09                   ` [PATCH] a.out: Stop building a.out/osf1 support on alpha and m68k Geert Uytterhoeven
2022-01-15  4:54           ` [PATCH] x86: Remove a.out support David Laight
2022-03-11 14:40 ` [tip: x86/cleanups] " tip-bot2 for Borislav Petkov
2022-04-11 17:42 ` tip-bot2 for Borislav Petkov
2022-03-12 17:54 [PATCH] " James Jones
2022-03-12 18:06 ` James Jones
2022-03-13 11:56   ` Borislav Petkov
2022-03-13 18:26     ` James Jones
2022-03-15  9:44       ` Borislav Petkov
2022-03-15 19:51   ` Kees Cook
2022-03-16  5:06     ` James Jones
2022-03-16 12:38       ` Arnd Bergmann
2022-03-16 22:30         ` Kees Cook
2022-03-17  2:04           ` James Jones
2022-03-17  2:08             ` David Laight
2022-03-17 10:17             ` Borislav Petkov
2022-03-17 18:53             ` Kees Cook
2022-03-17  2:32           ` David Laight
2022-03-17  3:22             ` Kees Cook
2022-03-16 16:10       ` Kees Cook
2022-03-16 17:05         ` David Laight
2022-04-02 22:14       ` Maciej W. Rozycki
2022-04-03  2:24         ` Kees Cook
2022-04-04 11:03           ` Maciej W. Rozycki
2022-04-04 17:07             ` David Laight
2022-04-04 18:18               ` Kees Cook
2022-04-04  8:24         ` Geert Uytterhoeven

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=YeD2q77KmaD8k87Q@mit.edu \
    --to=tytso@mit.edu \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=ebiederm@xmission.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=x86@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).