Remove execution domain support v2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Thanks,
//richard
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux