mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
[ Upstream commit433fe39f67] Like fork and clone the clone3 syscall needs a wrapper to save callee saved registers, which is required by the OpenRISC ABI. This came up after auditing code following a discussion with Rob Landley and Arnd Bergmann [0]. Tested with the clone3 kselftests and there were no issues. [0] https://lore.kernel.org/all/41206fc7-f8ce-98aa-3718-ba3e1431e320@landley.net/T/#m9c0cdb2703813b9df4da04cf6b30de1f1aa89944 Fixes:07e83dfbe1("openrisc: Enable the clone3 syscall") Cc: Rob Landley <rob@landley.net> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stafford Horne <shorne@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
33 lines
969 B
C
33 lines
969 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* OpenRISC Linux
|
|
*
|
|
* Linux architectural port borrowing liberally from similar works of
|
|
* others. All original copyrights apply as per the original source
|
|
* declaration.
|
|
*
|
|
* OpenRISC implementation:
|
|
* Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com>
|
|
* Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
|
|
* et al.
|
|
*/
|
|
|
|
#ifndef __ASM_OPENRISC_SYSCALLS_H
|
|
#define __ASM_OPENRISC_SYSCALLS_H
|
|
|
|
asmlinkage long sys_or1k_atomic(unsigned long type, unsigned long *v1,
|
|
unsigned long *v2);
|
|
|
|
#include <asm-generic/syscalls.h>
|
|
|
|
asmlinkage long __sys_clone(unsigned long clone_flags, unsigned long newsp,
|
|
void __user *parent_tid, void __user *child_tid, int tls);
|
|
asmlinkage long __sys_clone3(struct clone_args __user *uargs, size_t size);
|
|
asmlinkage long __sys_fork(void);
|
|
|
|
#define sys_clone __sys_clone
|
|
#define sys_clone3 __sys_clone3
|
|
#define sys_fork __sys_fork
|
|
|
|
#endif /* __ASM_OPENRISC_SYSCALLS_H */
|