hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/um/include/asm/syscall-generic.h
....@@ -1,13 +1,10 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * Access to user system call parameters and results
34 *
45 * See asm-generic/syscall.h for function descriptions.
56 *
67 * Copyright (C) 2015 Mickaël Salaün <mic@digikod.net>
7
- *
8
- * This program is free software; you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License version 2 as
10
- * published by the Free Software Foundation.
118 */
129
1310 #ifndef __UM_SYSCALL_GENERIC_H
....@@ -53,84 +50,30 @@
5350
5451 static inline void syscall_get_arguments(struct task_struct *task,
5552 struct pt_regs *regs,
56
- unsigned int i, unsigned int n,
5753 unsigned long *args)
5854 {
5955 const struct uml_pt_regs *r = &regs->regs;
6056
61
- switch (i) {
62
- case 0:
63
- if (!n--)
64
- break;
65
- *args++ = UPT_SYSCALL_ARG1(r);
66
- case 1:
67
- if (!n--)
68
- break;
69
- *args++ = UPT_SYSCALL_ARG2(r);
70
- case 2:
71
- if (!n--)
72
- break;
73
- *args++ = UPT_SYSCALL_ARG3(r);
74
- case 3:
75
- if (!n--)
76
- break;
77
- *args++ = UPT_SYSCALL_ARG4(r);
78
- case 4:
79
- if (!n--)
80
- break;
81
- *args++ = UPT_SYSCALL_ARG5(r);
82
- case 5:
83
- if (!n--)
84
- break;
85
- *args++ = UPT_SYSCALL_ARG6(r);
86
- case 6:
87
- if (!n--)
88
- break;
89
- default:
90
- BUG();
91
- break;
92
- }
57
+ *args++ = UPT_SYSCALL_ARG1(r);
58
+ *args++ = UPT_SYSCALL_ARG2(r);
59
+ *args++ = UPT_SYSCALL_ARG3(r);
60
+ *args++ = UPT_SYSCALL_ARG4(r);
61
+ *args++ = UPT_SYSCALL_ARG5(r);
62
+ *args = UPT_SYSCALL_ARG6(r);
9363 }
9464
9565 static inline void syscall_set_arguments(struct task_struct *task,
9666 struct pt_regs *regs,
97
- unsigned int i, unsigned int n,
9867 const unsigned long *args)
9968 {
10069 struct uml_pt_regs *r = &regs->regs;
10170
102
- switch (i) {
103
- case 0:
104
- if (!n--)
105
- break;
106
- UPT_SYSCALL_ARG1(r) = *args++;
107
- case 1:
108
- if (!n--)
109
- break;
110
- UPT_SYSCALL_ARG2(r) = *args++;
111
- case 2:
112
- if (!n--)
113
- break;
114
- UPT_SYSCALL_ARG3(r) = *args++;
115
- case 3:
116
- if (!n--)
117
- break;
118
- UPT_SYSCALL_ARG4(r) = *args++;
119
- case 4:
120
- if (!n--)
121
- break;
122
- UPT_SYSCALL_ARG5(r) = *args++;
123
- case 5:
124
- if (!n--)
125
- break;
126
- UPT_SYSCALL_ARG6(r) = *args++;
127
- case 6:
128
- if (!n--)
129
- break;
130
- default:
131
- BUG();
132
- break;
133
- }
71
+ UPT_SYSCALL_ARG1(r) = *args++;
72
+ UPT_SYSCALL_ARG2(r) = *args++;
73
+ UPT_SYSCALL_ARG3(r) = *args++;
74
+ UPT_SYSCALL_ARG4(r) = *args++;
75
+ UPT_SYSCALL_ARG5(r) = *args++;
76
+ UPT_SYSCALL_ARG6(r) = *args;
13477 }
13578
13679 /* See arch/x86/um/asm/syscall.h for syscall_get_arch() definition. */