hung_task: decrement sysctl_hung_task_warnings only if it is positive
authorTetsuo Handa <[email protected]>
Tue, 13 Dec 2016 00:45:35 +0000 (16:45 -0800)
committerLinus Torvalds <[email protected]>
Tue, 13 Dec 2016 02:55:09 +0000 (18:55 -0800)
Since sysctl_hung_task_warnings == -1 is allowed (infinite warnings),
commit 48a6d64edadb ("hung_task: allow hung_task_panic when
hung_task_warnings is 0") should decrement it only when it is not -1.

This prevents the kernel from ceasing warnings after the first
4294967295 ;)

Signed-off-by: Tetsuo Handa <[email protected]>
Cc: John Siddle <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
kernel/hung_task.c

index 2b59c82cc3e1bb0813088cf5e22307d81230e13e..40c07e4fa116e064668bc6f36e438d67a4905326 100644 (file)
@@ -106,7 +106,8 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout)
         * complain:
         */
        if (sysctl_hung_task_warnings) {
-               sysctl_hung_task_warnings--;
+               if (sysctl_hung_task_warnings > 0)
+                       sysctl_hung_task_warnings--;
                pr_err("INFO: task %s:%d blocked for more than %ld seconds.\n",
                        t->comm, t->pid, timeout);
                pr_err("      %s %s %.*s\n",