Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d09a3e0d authored by Sami Tolvanen's avatar Sami Tolvanen Committed by Alistair Strachan
Browse files

FROMLIST: arm64: use the correct function type in SYSCALL_DEFINE0

Although a syscall defined using SYSCALL_DEFINE0 doesn't accept
parameters, use the correct function type to avoid indirect call
type mismatches with Control-Flow Integrity checking.

Bug: 133186739
Change-Id: I45d1235f4b93c69451ed3610b676d0948cef5ee1
Link: https://lkml.org/lkml/2019/5/3/691


Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
parent 568a3e2e
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -31,9 +31,9 @@
	static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))

#define COMPAT_SYSCALL_DEFINE0(sname)							\
	asmlinkage long __arm64_compat_sys_##sname(void);		\
	asmlinkage long __arm64_compat_sys_##sname(const struct pt_regs *__unused);	\
	ALLOW_ERROR_INJECTION(__arm64_compat_sys_##sname, ERRNO);			\
	asmlinkage long __arm64_compat_sys_##sname(void)
	asmlinkage long __arm64_compat_sys_##sname(const struct pt_regs *__unused)

#define COND_SYSCALL_COMPAT(name) \
	cond_syscall(__arm64_compat_sys_##name);
@@ -64,9 +64,9 @@
#ifndef SYSCALL_DEFINE0
#define SYSCALL_DEFINE0(sname)							\
	SYSCALL_METADATA(_##sname, 0);						\
	asmlinkage long __arm64_sys_##sname(void);		\
	asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused);	\
	ALLOW_ERROR_INJECTION(__arm64_sys_##sname, ERRNO);			\
	asmlinkage long __arm64_sys_##sname(void)
	asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused)
#endif

#ifndef COND_SYSCALL