32-bit userspace ABI: introduce ARCH_32BIT_OFF_T config option
authorYury Norov <ynorov@caviumnetworks.com>
Wed, 16 May 2018 08:18:49 +0000 (11:18 +0300)
committerArnd Bergmann <arnd@arndb.de>
Tue, 19 Feb 2019 09:10:05 +0000 (10:10 +0100)
commit942fa985e9f161ac018ce2230d3e6f7668cca6ac
treec4f0d0fead0b4a0af0a1f6ecf87d8f79295b9485
parent0d0216c03a7a14e121abb2e3eb38e491767c36e8
32-bit userspace ABI: introduce ARCH_32BIT_OFF_T config option

All new 32-bit architectures should have 64-bit userspace off_t type, but
existing architectures has 32-bit ones.

To enforce the rule, new config option is added to arch/Kconfig that defaults
ARCH_32BIT_OFF_T to be disabled for new 32-bit architectures. All existing
32-bit architectures enable it explicitly.

New option affects force_o_largefile() behaviour. Namely, if userspace
off_t is 64-bits long, we have no reason to reject user to open big files.

Note that even if architectures has only 64-bit off_t in the kernel
(arc, c6x, h8300, hexagon, nios2, openrisc, and unicore32),
a libc may use 32-bit off_t, and therefore want to limit the file size
to 4GB unless specified differently in the open flags.

Signed-off-by: Yury Norov <ynorov@caviumnetworks.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Yury Norov <ynorov@marvell.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
23 files changed:
arch/Kconfig
arch/arc/Kconfig
arch/arm/Kconfig
arch/c6x/Kconfig
arch/csky/Kconfig
arch/h8300/Kconfig
arch/hexagon/Kconfig
arch/m68k/Kconfig
arch/microblaze/Kconfig
arch/mips/Kconfig
arch/nds32/Kconfig
arch/nios2/Kconfig
arch/openrisc/Kconfig
arch/parisc/Kconfig
arch/powerpc/Kconfig
arch/riscv/Kconfig
arch/sh/Kconfig
arch/sparc/Kconfig
arch/unicore32/Kconfig
arch/x86/Kconfig
arch/x86/um/Kconfig
arch/xtensa/Kconfig
include/linux/fcntl.h