static int kgdb_brk_fn(struct pt_regs *regs, unsigned int esr)
 {
-       if (user_mode(regs))
-               return DBG_HOOK_ERROR;
-
        kgdb_handle_exception(1, SIGTRAP, 0, regs);
        return DBG_HOOK_HANDLED;
 }
 
 static int kgdb_compiled_brk_fn(struct pt_regs *regs, unsigned int esr)
 {
-       if (user_mode(regs))
-               return DBG_HOOK_ERROR;
-
        compiled_break = 1;
        kgdb_handle_exception(1, SIGTRAP, 0, regs);
 
 
 static int kgdb_step_brk_fn(struct pt_regs *regs, unsigned int esr)
 {
-       if (user_mode(regs) || !kgdb_single_step)
+       if (!kgdb_single_step)
                return DBG_HOOK_ERROR;
 
        kgdb_handle_exception(1, SIGTRAP, 0, regs);
 
        struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
        int retval;
 
-       if (user_mode(regs))
-               return DBG_HOOK_ERROR;
-
        /* return error if this is not our step */
        retval = kprobe_ss_hit(kcb, instruction_pointer(regs));
 
 static int __kprobes
 kprobe_breakpoint_handler(struct pt_regs *regs, unsigned int esr)
 {
-       if (user_mode(regs))
-               return DBG_HOOK_ERROR;
-
        kprobe_handler(regs);
        return DBG_HOOK_HANDLED;
 }
 
 static int uprobe_breakpoint_handler(struct pt_regs *regs,
                unsigned int esr)
 {
-       if (user_mode(regs) && uprobe_pre_sstep_notifier(regs))
+       if (uprobe_pre_sstep_notifier(regs))
                return DBG_HOOK_HANDLED;
 
        return DBG_HOOK_ERROR;
 {
        struct uprobe_task *utask = current->utask;
 
-       if (user_mode(regs)) {
-               WARN_ON(utask &&
-                       (instruction_pointer(regs) != utask->xol_vaddr + 4));
-
-               if (uprobe_post_sstep_notifier(regs))
-                       return DBG_HOOK_HANDLED;
-       }
+       WARN_ON(utask && (instruction_pointer(regs) != utask->xol_vaddr + 4));
+       if (uprobe_post_sstep_notifier(regs))
+               return DBG_HOOK_HANDLED;
 
        return DBG_HOOK_ERROR;
 }
 
 
 static int bug_handler(struct pt_regs *regs, unsigned int esr)
 {
-       if (user_mode(regs))
-               return DBG_HOOK_ERROR;
-
        switch (report_bug(regs->pc, regs)) {
        case BUG_TRAP_TYPE_BUG:
                die("Oops - BUG", regs, 0);
        u64 addr = regs->regs[0];
        u64 pc = regs->pc;
 
-       if (user_mode(regs))
-               return DBG_HOOK_ERROR;
-
        kasan_report(addr, size, write, pc);
 
        /*