Commit 0d79affa authored by Heiko Carstens's avatar Heiko Carstens
Browse files

Merge branch 'compat-removal'



Heiko Carstens says:

====================

Remove s390 compat support to allow for code simplification and especially
reduced test effort. To the best of our knowledge there aren't any 31 bit
binaries out in the world anymore that would matter for newer kernels or
newer distributions.

Distributions do not provide compat packages since quite some time or even
have CONFIG_COMPAT disabled.

Instead of adding deprecation warnings to config option, or adding kernel
messages, just remove the code. Deprecation warnings haven't proven to be
useful. If it turns out there is still a reason to keep the compat support
this series can be reverted at any time in the future.

====================

Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parents 52a1f73d 4ac286c4
Loading
Loading
Loading
Loading
+0 −16
Original line number Diff line number Diff line
@@ -505,22 +505,6 @@ config COMMAND_LINE_SIZE
	  This allows you to specify the maximum length of the kernel command
	  line.

config COMPAT
	def_bool n
	prompt "Kernel support for 31 bit emulation"
	select ARCH_WANT_OLD_COMPAT_IPC
	select COMPAT_OLD_SIGACTION
	select HAVE_UID16
	depends on MULTIUSER
	depends on !CC_IS_CLANG && !LD_IS_LLD
	help
	  Select this option if you want to enable your system kernel to
	  handle system-calls from ELF binaries for 31 bit ESA.  This option
	  (and some other stuff like libraries and such) is needed for
	  executing 31 bit applications.

	  If unsure say N.

config SMP
	def_bool y

+1 −5
Original line number Diff line number Diff line
@@ -134,10 +134,9 @@ zfcpdump:
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@

archheaders:
	$(Q)$(MAKE) $(build)=$(syscalls) uapi
	$(Q)$(MAKE) $(build)=$(syscalls) all

archprepare:
	$(Q)$(MAKE) $(build)=$(syscalls) kapi
	$(Q)$(MAKE) $(build)=$(tools) kapi $(extra_tools)
ifeq ($(KBUILD_EXTMOD),)
# We need to generate vdso-offsets.h before compiling certain files in kernel/.
@@ -149,11 +148,8 @@ ifeq ($(KBUILD_EXTMOD),)
prepare: vdso_prepare
vdso_prepare: prepare0
	$(Q)$(MAKE) $(build)=arch/s390/kernel/vdso64 include/generated/vdso64-offsets.h
	$(if $(CONFIG_COMPAT),$(Q)$(MAKE) \
		$(build)=arch/s390/kernel/vdso32 include/generated/vdso32-offsets.h)

vdso-install-y			+= arch/s390/kernel/vdso64/vdso64.so.dbg
vdso-install-$(CONFIG_COMPAT)	+= arch/s390/kernel/vdso32/vdso32.so.dbg

endif

+1 −2
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0

#include <linux/compat.h>
#include <linux/ptrace.h>
#include <asm/cio.h>
#include <asm/asm-offsets.h>
@@ -12,7 +11,7 @@
#define PSW_MASK_DISABLED (PSW_MASK_WAIT | PSW_MASK_EA | PSW_MASK_BA)

struct ipl_lowcore {
	psw_t32		ipl_psw;			/* 0x0000 */
	psw32_t		ipl_psw;			/* 0x0000 */
	struct ccw0	ccwpgm[2];			/* 0x0008 */
	u8		fill[56];			/* 0x0018 */
	struct ccw0	ccwpgmcc[20];			/* 0x0050 */

arch/s390/configs/compat.config

deleted100644 → 0
+0 −3
Original line number Diff line number Diff line
# Help: Enable compat support
CONFIG_COMPAT=y
CONFIG_COMPAT_32BIT_TIME=y
+1 −5
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@
 *    Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
 */

#include <linux/compat.h>
#include <linux/errno.h>
#include <linux/gfp.h>
#include <linux/string.h>
@@ -116,9 +115,6 @@ static long hypfs_sprp_ioctl(struct file *file, unsigned int cmd,

	if (!capable(CAP_SYS_ADMIN))
		return -EACCES;
	if (is_compat_task())
		argp = compat_ptr(arg);
	else
	argp = (void __user *)arg;
	switch (cmd) {
	case HYPFS_DIAG304:
Loading