mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
ARM: 9309/1: add missing syscall prototypes
All architecture-independent system calls have prototypes in include/linux/syscalls.h, but there are a few that only exist on arm or that take the pt_regs directly. These cause a W=1 warning such as: arch/arm/kernel/signal.c:186:16: error: no previous prototype for 'sys_sigreturn' [-Werror=missing-prototypes] arch/arm/kernel/signal.c:216:16: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes] arch/arm/kernel/sys_arm.c:32:17: error: no previous prototype for 'sys_arm_fadvise64_64' [-Werror=missing-prototypes] Add prototypes for all custom syscalls on arm and add them to asm/syscalls.h. Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
ad1cfe62b8
commit
be0796b07b
4 changed files with 55 additions and 0 deletions
51
arch/arm/include/asm/syscalls.h
Normal file
51
arch/arm/include/asm/syscalls.h
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
#ifndef __ASM_SYSCALLS_H
|
||||||
|
#define __ASM_SYSCALLS_H
|
||||||
|
|
||||||
|
#include <linux/linkage.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
struct pt_regs;
|
||||||
|
asmlinkage int sys_sigreturn(struct pt_regs *regs);
|
||||||
|
asmlinkage int sys_rt_sigreturn(struct pt_regs *regs);
|
||||||
|
asmlinkage long sys_arm_fadvise64_64(int fd, int advice,
|
||||||
|
loff_t offset, loff_t len);
|
||||||
|
|
||||||
|
struct oldabi_stat64;
|
||||||
|
asmlinkage long sys_oabi_stat64(const char __user * filename,
|
||||||
|
struct oldabi_stat64 __user * statbuf);
|
||||||
|
asmlinkage long sys_oabi_lstat64(const char __user * filename,
|
||||||
|
struct oldabi_stat64 __user * statbuf);
|
||||||
|
asmlinkage long sys_oabi_fstat64(unsigned long fd,
|
||||||
|
struct oldabi_stat64 __user * statbuf);
|
||||||
|
asmlinkage long sys_oabi_fstatat64(int dfd,
|
||||||
|
const char __user *filename,
|
||||||
|
struct oldabi_stat64 __user *statbuf,
|
||||||
|
int flag);
|
||||||
|
asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
|
||||||
|
unsigned long arg);
|
||||||
|
struct oabi_epoll_event;
|
||||||
|
asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd,
|
||||||
|
struct oabi_epoll_event __user *event);
|
||||||
|
struct oabi_sembuf;
|
||||||
|
struct old_timespec32;
|
||||||
|
asmlinkage long sys_oabi_semtimedop(int semid,
|
||||||
|
struct oabi_sembuf __user *tsops,
|
||||||
|
unsigned nsops,
|
||||||
|
const struct old_timespec32 __user *timeout);
|
||||||
|
asmlinkage long sys_oabi_semop(int semid, struct oabi_sembuf __user *tsops,
|
||||||
|
unsigned nsops);
|
||||||
|
asmlinkage int sys_oabi_ipc(uint call, int first, int second, int third,
|
||||||
|
void __user *ptr, long fifth);
|
||||||
|
struct sockaddr;
|
||||||
|
asmlinkage long sys_oabi_bind(int fd, struct sockaddr __user *addr, int addrlen);
|
||||||
|
asmlinkage long sys_oabi_connect(int fd, struct sockaddr __user *addr, int addrlen);
|
||||||
|
asmlinkage long sys_oabi_sendto(int fd, void __user *buff,
|
||||||
|
size_t len, unsigned flags,
|
||||||
|
struct sockaddr __user *addr,
|
||||||
|
int addrlen);
|
||||||
|
struct user_msghdr;
|
||||||
|
asmlinkage long sys_oabi_sendmsg(int fd, struct user_msghdr __user *msg, unsigned flags);
|
||||||
|
asmlinkage long sys_oabi_socketcall(int call, unsigned long __user *args);
|
||||||
|
|
||||||
|
#endif
|
|
@ -18,6 +18,7 @@
|
||||||
#include <asm/traps.h>
|
#include <asm/traps.h>
|
||||||
#include <asm/unistd.h>
|
#include <asm/unistd.h>
|
||||||
#include <asm/vfp.h>
|
#include <asm/vfp.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
#include "signal.h"
|
#include "signal.h"
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <linux/ipc.h>
|
#include <linux/ipc.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Since loff_t is a 64 bit type we avoid a lot of ABI hassle
|
* Since loff_t is a 64 bit type we avoid a lot of ABI hassle
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
* Copyright: MontaVista Software, Inc.
|
* Copyright: MontaVista Software, Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The legacy ABI and the new ARM EABI have different rules making some
|
* The legacy ABI and the new ARM EABI have different rules making some
|
||||||
* syscalls incompatible especially with structure arguments.
|
* syscalls incompatible especially with structure arguments.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue