diff options
Diffstat (limited to 'arch/um/sys-x86_64/signal.c')
-rw-r--r-- | arch/um/sys-x86_64/signal.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/arch/um/sys-x86_64/signal.c b/arch/um/sys-x86_64/signal.c index fe8ec04d35bb..c18d929e69bc 100644 --- a/arch/um/sys-x86_64/signal.c +++ b/arch/um/sys-x86_64/signal.c | |||
@@ -15,9 +15,6 @@ | |||
15 | #include "choose-mode.h" | 15 | #include "choose-mode.h" |
16 | #include "sysdep/ptrace.h" | 16 | #include "sysdep/ptrace.h" |
17 | #include "frame_kern.h" | 17 | #include "frame_kern.h" |
18 | |||
19 | #ifdef CONFIG_MODE_SKAS | ||
20 | |||
21 | #include "skas.h" | 18 | #include "skas.h" |
22 | 19 | ||
23 | void copy_sc(union uml_pt_regs *regs, void *from) | 20 | void copy_sc(union uml_pt_regs *regs, void *from) |
@@ -134,53 +131,6 @@ int copy_sc_to_user_skas(struct sigcontext __user *to, | |||
134 | return(err); | 131 | return(err); |
135 | } | 132 | } |
136 | 133 | ||
137 | #endif | ||
138 | |||
139 | #ifdef CONFIG_MODE_TT | ||
140 | int copy_sc_from_user_tt(struct sigcontext *to, struct sigcontext __user *from, | ||
141 | int fpsize) | ||
142 | { | ||
143 | struct _fpstate *to_fp; | ||
144 | struct _fpstate __user *from_fp; | ||
145 | unsigned long sigs; | ||
146 | int err; | ||
147 | |||
148 | to_fp = to->fpstate; | ||
149 | sigs = to->oldmask; | ||
150 | err = copy_from_user(to, from, sizeof(*to)); | ||
151 | from_fp = to->fpstate; | ||
152 | to->fpstate = to_fp; | ||
153 | to->oldmask = sigs; | ||
154 | if(to_fp != NULL) | ||
155 | err |= copy_from_user(to_fp, from_fp, fpsize); | ||
156 | return(err); | ||
157 | } | ||
158 | |||
159 | int copy_sc_to_user_tt(struct sigcontext __user *to, struct _fpstate __user *fp, | ||
160 | struct sigcontext *from, int fpsize, unsigned long sp) | ||
161 | { | ||
162 | struct _fpstate __user *to_fp; | ||
163 | struct _fpstate *from_fp; | ||
164 | int err; | ||
165 | |||
166 | to_fp = (fp ? fp : (struct _fpstate __user *) (to + 1)); | ||
167 | from_fp = from->fpstate; | ||
168 | err = copy_to_user(to, from, sizeof(*to)); | ||
169 | /* The SP in the sigcontext is the updated one for the signal | ||
170 | * delivery. The sp passed in is the original, and this needs | ||
171 | * to be restored, so we stick it in separately. | ||
172 | */ | ||
173 | err |= copy_to_user(&SC_SP(to), &sp, sizeof(sp)); | ||
174 | |||
175 | if(from_fp != NULL){ | ||
176 | err |= copy_to_user(&to->fpstate, &to_fp, sizeof(to->fpstate)); | ||
177 | err |= copy_to_user(to_fp, from_fp, fpsize); | ||
178 | } | ||
179 | return err; | ||
180 | } | ||
181 | |||
182 | #endif | ||
183 | |||
184 | static int copy_sc_from_user(struct pt_regs *to, void __user *from) | 134 | static int copy_sc_from_user(struct pt_regs *to, void __user *from) |
185 | { | 135 | { |
186 | int ret; | 136 | int ret; |