Re: Remove execution domain support v2

From: Guenter Roeck
Date: Sun Apr 12 2015 - 19:00:48 EST


On 04/12/2015 01:57 PM, Richard Weinberger wrote:
This is v2 of the exec domain removal series I've posted yesterday:
https://lkml.org/lkml/2015/4/11/181
I've omitted resending all patches again to lower the churn on LKML.

The whole series can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc.git exec_domain_rip_v2

Changes since v1:
- Fixed sparc and xtensa thread info offsets
Special thanks to Guenter Roeck for reporting and testing!
- Fixed an unused variable on arm
Thanks to Stephen Rothwell!
- Added David Millers ACK

Stephen, can you please add the tree to -next?

Original description:

A long time ago there was the idea to support different ABIs on Linux
Such that someone could use for example SCO UNIX binaries on Linux
without emulation. While the linux-abi project existed mostly as
out-of-tree patch it's core component, execution domains,
went mainline. An execution domain allows to specify mappings between
different ABIs, these mappings consist of signal, error, socket type,
socket options and addess familiy mappings.
Mainline has only support for signal mappings.
The signal mapping happens in the architecutre specific signal code.
Some archs support it, some not, most of them copy&pasted from i386.

While the mapping support is incomplete we have two in-kernel users of
execution domains.

1. RISC OS personality on ARM.
The Kconfig help message states that this feature is very experimental
and it is likely that it never worked as expected.
Russel is fine with the removal.

2. ia32 support on ia64.
This is a left over from:
commit 32974ad4907cdde6c9de612cd1b2ee0568fb9409 ([IA64] Remove COMPAT_IA32 support)
It registers a dummy Linux/x86 execdomain to make calls to
personality(PER_LINUX32) faster as the execution domain core code
would try to load a module.

As both users can be removed there is no user left and we can remove
execution domains support at all from the kernel.
The removal will make architecutre specific signal handling easier
and there is no need to keep execuction domains as this feature is
obviously incomplete and abandoned.

Guenter Roeck (1):
sparc: Fix execution domain removal

Richard Weinberger (25):
arm: Remove RISC OS personality
ia64: Remove Linux/x86 exec domain support
Remove execution domain support
arm: Remove signal translation and exec_domain
arm64: Remove signal translation and exec_domain
blackfin: Autogenerate offsets in struct thread_info
blackfin: Remove exec_domain usage
frv: Remove signal translation and exec_domain
m32r: Autogenerate offsets in struct thread_info
m32r: Remove signal translation and exec_domain
m68k: Remove signal translation and exec_domain
microblaze: Remove signal translation and exec_domain
mn10300: Remove signal translation and exec_domain
s390: Remove signal translation and exec_domain
sh: Remove signal translation and exec_domain
sparc: Remove signal translation and exec_domain
tile: Remove signal translation and exec_domain
um: Remove signal translation and exec_domain
unicore32: Remove signal translation and exec_domain
x86: Remove signal translation and exec_domain
xtensa: Autogenerate offsets in struct thread_info
xtensa: Remove signal translation and exec_domain
arc: Remove signal translation and exec_domain
arch: Remove exec_domain from remaining archs
Remove rest of exec domains.


Looking good this time.

Build results:
total: 121 pass: 121 fail: 0
Qemu test results:
total: 30 pass: 30 fail: 0

Guenter

--
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/