Commit a084a6cb authored by Kees Cook's avatar Kees Cook
Browse files

selftests/seccomp: mips: Define SYSCALL_NUM_SET macro

parent 31c36eb8
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -1742,6 +1742,13 @@ TEST_F(TRACE_poke, getpid_runs_normally)
# define ARCH_REGS		struct pt_regs
# define SYSCALL_NUM(_regs)	(_regs).regs[2]
# define SYSCALL_SYSCALL_NUM	regs[4]
# define SYSCALL_NUM_SET(_regs, _nr)			\
	do {						\
		if ((_regs).regs[2] == __NR_O32_Linux)	\
			(_regs).regs[4] = _nr;		\
		else					\
			(_regs).regs[2] = _nr;		\
	} while (0)
# define SYSCALL_RET(_regs)	(_regs).regs[2]
# define SYSCALL_NUM_RET_SHARE_REG
#elif defined(__xtensa__)
@@ -1839,15 +1846,9 @@ void change_syscall(struct __test_metadata *_metadata,

#if defined(__x86_64__) || defined(__i386__) || defined(__powerpc__) || \
	defined(__s390__) || defined(__hppa__) || defined(__riscv) || \
	defined(__xtensa__) || defined(__csky__) || defined(__sh__)
	{
		SYSCALL_NUM_SET(regs, syscall);
	}
#elif defined(__mips__)
	defined(__xtensa__) || defined(__csky__) || defined(__sh__) || \
	defined(__mips__)
	{
		if (SYSCALL_NUM(regs) == __NR_O32_Linux)
			regs.SYSCALL_SYSCALL_NUM = syscall;
		else
		SYSCALL_NUM_SET(regs, syscall);
	}