| .. | .. |
|---|
| 241 | 241 | { |
|---|
| 242 | 242 | __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); |
|---|
| 243 | 243 | kcb->kprobe_status = kcb->prev_kprobe.status; |
|---|
| 244 | + kcb->prev_kprobe.kp = NULL; |
|---|
| 244 | 245 | } |
|---|
| 245 | 246 | NOKPROBE_SYMBOL(pop_kprobe); |
|---|
| 246 | 247 | |
|---|
| .. | .. |
|---|
| 402 | 403 | if (!p) |
|---|
| 403 | 404 | return 0; |
|---|
| 404 | 405 | |
|---|
| 406 | + resume_execution(p, regs); |
|---|
| 405 | 407 | if (kcb->kprobe_status != KPROBE_REENTER && p->post_handler) { |
|---|
| 406 | 408 | kcb->kprobe_status = KPROBE_HIT_SSDONE; |
|---|
| 407 | 409 | p->post_handler(p, regs, 0); |
|---|
| 408 | 410 | } |
|---|
| 409 | | - |
|---|
| 410 | | - resume_execution(p, regs); |
|---|
| 411 | 411 | pop_kprobe(kcb); |
|---|
| 412 | 412 | preempt_enable_no_resched(); |
|---|
| 413 | 413 | |
|---|