[FIX] remove unnessary function uprobe_prepare_singlestep() 50/46450/2
authorAnatolii Nikulin <nikulin.a@samsung.com>
Tue, 18 Aug 2015 13:03:43 +0000 (16:03 +0300)
committerDmitry Kovalenko <d.kovalenko@samsung.com>
Wed, 21 Oct 2015 07:50:35 +0000 (00:50 -0700)
Change-Id: Ie9cac13905c4e4c040fa6880e316d3cb1617bc83

uprobe/arch/x86/swap-asm/swap_uprobes.c

index b12e024..2762bbc 100644 (file)
@@ -437,32 +437,6 @@ static void prepare_ss(struct pt_regs *regs)
        regs->flags &= ~IF_MASK;
 }
 
-/**
- * @brief Prepares singlestep for current CPU.
- *
- * @param p Pointer to uprobe.
- * @param regs Pointer to CPU registers data.
- * @return Void.
- */
-static void uprobe_prepare_singlestep(struct uprobe *p, struct pt_regs *regs)
-{
-       int cpu = smp_processor_id();
-
-       if (p->ss_addr[cpu]) {
-               regs->EREG(ip) = (unsigned long)p->ss_addr[cpu];
-               p->ss_addr[cpu] = NULL;
-       } else {
-               regs->EREG(flags) |= TF_MASK;
-               regs->EREG(flags) &= ~IF_MASK;
-               /* single step inline if the instruction is an int3 */
-               if (p->opcode == BREAKPOINT_INSTRUCTION) {
-                       regs->EREG(ip) = (unsigned long) p->addr;
-                       /* printk(KERN_INFO "break_insn!!!\n"); */
-               } else
-                       regs->EREG(ip) = (unsigned long) p->ainsn.insn;
-       }
-}
-
 static int uprobe_handler(struct pt_regs *regs)
 {
        struct uprobe *p;
@@ -497,8 +471,6 @@ static int uprobe_handler(struct pt_regs *regs)
                                set_current_probe(p);
                                prepare_ss(regs);
                        }
-
-                       uprobe_prepare_singlestep(p, regs);
                }
        }