Merge tag 'for_linus-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel...
[sfrench/cifs-2.6.git] / kernel / debug / kdb / kdb_main.c
index 16140d1aa0c3e2f1cf36b4a652e78df505a884d6..e405677ee08d6ae6b71c36afd2270d2ed806810d 100644 (file)
@@ -2467,7 +2467,6 @@ static int kdb_kill(int argc, const char **argv)
        long sig, pid;
        char *endp;
        struct task_struct *p;
-       struct siginfo info;
 
        if (argc != 2)
                return KDB_ARGCOUNT;
@@ -2475,7 +2474,7 @@ static int kdb_kill(int argc, const char **argv)
        sig = simple_strtol(argv[1], &endp, 0);
        if (*endp)
                return KDB_BADINT;
-       if (sig >= 0) {
+       if ((sig >= 0) || !valid_signal(-sig)) {
                kdb_printf("Invalid signal parameter.<-signal>\n");
                return 0;
        }
@@ -2496,12 +2495,7 @@ static int kdb_kill(int argc, const char **argv)
                return 0;
        }
        p = p->group_leader;
-       info.si_signo = sig;
-       info.si_errno = 0;
-       info.si_code = SI_USER;
-       info.si_pid = pid;  /* same capabilities as process being signalled */
-       info.si_uid = 0;    /* kdb has root authority */
-       kdb_send_sig_info(p, &info);
+       kdb_send_sig(p, sig);
        return 0;
 }