linux/arch/parisc
Simon Schuster e0d6fb7923 arch: copy_thread: pass clone_flags as u64
[ Upstream commit bbc46b23af ]

With the introduction of clone3 in commit 7f192e3cd3 ("fork: add
clone3") the effective bit width of clone_flags on all architectures was
increased from 32-bit to 64-bit, with a new type of u64 for the flags.
However, for most consumers of clone_flags the interface was not
changed from the previous type of unsigned long.

While this works fine as long as none of the new 64-bit flag bits
(CLONE_CLEAR_SIGHAND and CLONE_INTO_CGROUP) are evaluated, this is still
undesirable in terms of the principle of least surprise.

Thus, this commit fixes all relevant interfaces of the copy_thread
function that is called from copy_process to consistently pass
clone_flags as u64, so that no truncation to 32-bit integers occurs on
32-bit architectures.

Signed-off-by: Simon Schuster <schuster.simon@siemens-energy.com>
Link: https://lore.kernel.org/20250901-nios2-implement-clone3-v2-3-53fcf5577d57@siemens-energy.com
Fixes: c5febea095 ("fork: Pass struct kernel_clone_args into copy_thread")
Acked-by: Guo Ren (Alibaba Damo Academy) <guoren@kernel.org>
Acked-by: Andreas Larsson <andreas@gaisler.com> # sparc
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> # m68k
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-10-15 12:03:13 +02:00
..
boot parisc: fix building with gcc-15 2025-05-20 18:01:02 +02:00
configs crypto: Kconfig - make CRYPTO_MANAGER a hidden symbol 2025-05-12 13:34:03 +08:00
include parisc architecture fixes for kernel v6.17-rc1: 2025-08-01 16:15:53 -07:00
kernel arch: copy_thread: pass clone_flags as u64 2025-10-15 12:03:13 +02:00
lib parisc: Check region is readable by user in raw_copy_from_user() 2025-07-25 22:45:23 +02:00
math-emu parisc: Fix double SIGFPE crash 2025-05-04 17:30:03 +02:00
mm parisc: Try to fixup kernel exception in bad_area_nosemaphore path of do_page_fault() 2025-07-25 22:45:23 +02:00
net parisc: fix unaligned accesses in BPF 2024-07-29 16:19:07 +02:00
video arch: Rename fbdev header and source files 2024-05-03 17:07:50 +02:00
defpalo.conf parisc: switch to gzip-compressed vmlinuz kernel 2013-07-09 22:09:20 +02:00
install.sh kbuild: Abort make on install failures 2024-07-20 13:34:54 +09:00
Kbuild parisc: Wire up eBPF JIT compiler 2023-08-22 10:24:47 +02:00
Kconfig tracing: Remove redundant config HAVE_FTRACE_MCOUNT_RECORD 2025-07-22 20:15:56 -04:00
Kconfig.debug parisc: Use page table locks only if DEBUG_KERNEL is enabled 2023-08-20 20:23:46 +02:00
Makefile parisc: Makefile: explain that 64BIT requires both 32-bit and 64-bit compilers 2025-07-25 22:45:23 +02:00