linux/arch/microblaze/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
..
cpu microblaze: mb: Use str_yes_no() helper in show_cpuinfo() 2024-11-15 10:27:48 +01:00
syscalls fs: introduce file_getattr and file_setattr syscalls 2025-07-02 17:05:17 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
asm-offsets.c microblaze: Add custom break vector handler for mb manager 2022-09-26 14:13:28 +02:00
dma.c dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h> 2020-10-06 07:07:06 +02:00
entry.S microblaze: Add support for error injection 2022-09-26 14:13:29 +02:00
exceptions.c exit: Add and use make_task_dead. 2021-12-13 12:04:45 -06:00
ftrace.c ftrace: Cleanup ftrace_dyn_arch_init() 2021-10-08 19:41:39 -04:00
head.S microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
hw_exception_handler.S microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
irq.c irqchip/xilinx: Switch to GENERIC_IRQ_MULTI_HANDLER 2022-03-04 14:32:57 +00:00
kgdb.c microblaze: fix typos in comments 2022-05-02 08:36:10 +02:00
Makefile arch: use always-$(KBUILD_BUILTIN) for vmlinux.lds 2025-06-07 14:38:07 +09:00
mcount.S microblaze: ftrace: Remove check of obsolete variable function_trace_stop 2014-07-18 13:57:08 -04:00
microblaze_ksyms.c microblaze: Export xmb_manager functions 2024-10-02 09:18:54 +02:00
misc.S microblaze: Add sync to tlb operations 2020-02-25 12:33:19 +01:00
module.c microblaze: Remove support for gcc < 4 2021-02-11 18:54:08 +01:00
process.c arch: copy_thread: pass clone_flags as u64 2025-10-15 12:03:13 +02:00
prom.c of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-10-29 15:32:45 -05:00
ptrace.c ptrace: Create ptrace_report_syscall_{entry,exit} in ptrace.h 2022-03-10 13:35:08 -06:00
reset.c microblaze: Explicitly include correct DT includes 2023-07-17 08:22:42 +02:00
setup.c microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
signal.c microblaze: allow pte_offset_map() to fail 2023-06-19 16:19:06 -07:00
stacktrace.c microblaze: add loglvl to microblaze_unwind() 2020-06-09 09:39:11 -07:00
sys_microblaze.c syscalls: mmap(): use unsigned offset type consistently 2024-06-25 15:57:38 +02:00
syscall_table.S microblaze: syscalls: switch to generic syscalltbl.sh 2021-03-02 13:21:22 +01:00
timer.c time/timecounter: Fix the lie that struct cyclecounter is const 2025-07-01 15:38:25 +02:00
traps.c arch: include linux/cpu.h for trap_init() prototype 2023-11-23 11:32:31 +01:00
unwind.c microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
vmlinux.lds.S objtool/idle: Validate __cpuidle code as noinstr 2023-01-13 11:48:15 +01:00