| skipped 194 lines |
195 | 195 | | ret = compel_get_thread_regs(tctl, save_task_regs, core); |
196 | 196 | | if (ret) { |
197 | 197 | | pr_err("Can't obtain regs for thread %d\n", pid); |
198 | | - | goto err_rth; |
| 198 | + | return -1; |
199 | 199 | | } |
200 | 200 | | |
201 | 201 | | ret = compel_arch_fetch_thread_area(tctl); |
202 | 202 | | if (ret) { |
203 | 203 | | pr_err("Can't obtain thread area of %d\n", pid); |
204 | | - | goto err_rth; |
| 204 | + | return -1; |
205 | 205 | | } |
206 | 206 | | |
207 | 207 | | compel_arch_get_tls_thread(tctl, &args->tls); |
| skipped 3 lines |
211 | 211 | | ret = compel_run_in_thread(tctl, PARASITE_CMD_DUMP_THREAD); |
212 | 212 | | if (ret) { |
213 | 213 | | pr_err("Can't init thread in parasite %d\n", pid); |
214 | | - | goto err_rth; |
| 214 | + | return -1; |
215 | 215 | | } |
216 | 216 | | |
217 | 217 | | ret = alloc_groups_copy_creds(creds, pc); |
218 | 218 | | if (ret) { |
219 | 219 | | pr_err("Can't copy creds for thread %d\n", pid); |
220 | | - | goto err_rth; |
| 220 | + | return -1; |
221 | 221 | | } |
222 | 222 | | |
223 | | - | compel_release_thread(tctl); |
224 | | - | |
225 | 223 | | tid->ns[0].virt = args->tid; |
226 | 224 | | return dump_thread_core(pid, core, args); |
227 | | - | |
228 | | - | err_rth: |
229 | | - | compel_release_thread(tctl); |
230 | | - | return -1; |
231 | 225 | | } |
232 | 226 | | |
233 | 227 | | int parasite_dump_sigacts_seized(struct parasite_ctl *ctl, struct pstree_item *item) |
| skipped 425 lines |