Lines Matching +full:on +full:- +full:the +full:- +full:fly

1 /* SPDX-License-Identifier: GPL-2.0 */
5 * See asm-generic/syscall.h for descriptions of what we must do here.
26 return task_thread_info(task)->abi_syscall; in syscall_get_nr()
28 if (task_thread_info(task)->abi_syscall == -1) in syscall_get_nr()
29 return -1; in syscall_get_nr()
31 return task_thread_info(task)->abi_syscall & __NR_SYSCALL_MASK; in syscall_get_nr()
37 (task_thread_info(task)->abi_syscall & __NR_OABI_SYSCALL_BASE); in __in_oabi_syscall()
48 regs->ARM_r0 = regs->ARM_ORIG_r0; in syscall_rollback()
54 unsigned long error = regs->ARM_r0; in syscall_get_error()
61 return regs->ARM_r0; in syscall_get_return_value()
68 regs->ARM_r0 = (long) error ? error : val; in syscall_set_return_value()
75 if (nr == -1) { in syscall_set_nr()
76 task_thread_info(task)->abi_syscall = -1; in syscall_set_nr()
78 * When the syscall number is set to -1, the syscall will be in syscall_set_nr()
79 * skipped. In this case the syscall return value has to be in syscall_set_nr()
80 * set explicitly, otherwise the first syscall argument is in syscall_set_nr()
81 * returned as the syscall return value. in syscall_set_nr()
83 syscall_set_return_value(task, regs, -ENOSYS, 0); in syscall_set_nr()
87 task_thread_info(task)->abi_syscall = nr; in syscall_set_nr()
90 task_thread_info(task)->abi_syscall = in syscall_set_nr()
91 (task_thread_info(task)->abi_syscall & ~__NR_SYSCALL_MASK) | in syscall_set_nr()
101 args[0] = regs->ARM_ORIG_r0; in syscall_get_arguments()
104 memcpy(args, &regs->ARM_r0 + 1, 5 * sizeof(args[0])); in syscall_get_arguments()
111 memcpy(&regs->ARM_r0, args, 6 * sizeof(args[0])); in syscall_set_arguments()
113 * Also copy the first argument into ARM_ORIG_r0 in syscall_set_arguments()
115 * instead of the previous value. in syscall_set_arguments()
117 regs->ARM_ORIG_r0 = regs->ARM_r0; in syscall_set_arguments()
122 /* ARM tasks don't change audit architectures on the fly. */ in syscall_get_arch()