linux/arch/hexagon/kernel
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
..
.gitignore hexagon: ignore vmlinux.lds 2021-11-20 10:35:54 -08:00
asm-offsets.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
dma.c hexagon: use the generic global coherent pool 2021-08-19 09:02:40 +02:00
head.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
hexagon_ksyms.c hexagon: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:32 -07:00
irq_cpu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
kgdb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
Makefile arch: use always-$(KBUILD_BUILTIN) for vmlinux.lds 2025-06-07 14:38:07 +09:00
Makefile.syscalls hexagon: use new system call table 2024-07-10 14:23:38 +02:00
module.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
process.c arch: copy_thread: pass clone_flags as u64 2025-10-15 12:03:13 +02:00
ptrace.c hexagon: ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:47 -07:00
reset.c hexagon: reset: include linux/reboot.h for prototypes 2023-12-10 17:21:36 -08:00
setup.c Hexagon: Replace all non-returning strlcpy with strscpy 2023-06-14 11:18:05 -07:00
signal.c hexagon: signal: switch to SYSCALL_DEFINE0 for sys_rt_sigreturn() 2023-12-10 17:21:35 -08:00
smp.c smp: Consolidate smp_prepare_boot_cpu() 2024-03-04 12:01:54 +01:00
stacktrace.c hexagon: work around compiler crash 2020-01-04 13:55:09 -08:00
syscalltab.c hexagon: use new system call table 2024-07-10 14:23:38 +02:00
time.c hexagon: time: Remove redundant null check for resource 2025-01-30 18:45:32 -08:00
trampoline.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
traps.c hexagon: Fix unbalanced spinlock in die() 2025-01-30 18:46:06 -08:00
vdso.c hexagon: vdso: Fix build failure 2024-09-23 08:17:50 -07:00
vm_entry.S Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-01-28 10:07:09 -08:00
vm_events.c hexagon: vm_events: remove unused dummy_handler() 2023-12-10 17:21:37 -08:00
vm_init_segtable.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
vm_ops.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
vm_switch.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
vm_vectors.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
vmlinux.lds.S hexagon: vmlinux.lds.S: handle attributes section 2024-03-26 11:07:23 -07:00