]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
hung_task: check the value of "sysctl_hung_task_timeout_sec"
authorLiu Hua <sdu.liu@huawei.com>
Mon, 7 Apr 2014 22:38:57 +0000 (15:38 -0700)
committerJiri Slaby <jslaby@suse.cz>
Thu, 9 Apr 2015 12:13:24 +0000 (14:13 +0200)
commit51f4c06ed494ed6e01894a5d04ba3ce5cb9cd3dd
treef0fdca5b2f1deef896e7f521ac0a229f9f86ce4d
parent8d30871bfd929e5d931f51caf831b3c318ffcabe
hung_task: check the value of "sysctl_hung_task_timeout_sec"

commit 80df28476505ed4e6701c3448c63c9229a50c655 upstream.

As sysctl_hung_task_timeout_sec is unsigned long, when this value is
larger then LONG_MAX/HZ, the function schedule_timeout_interruptible in
watchdog will return immediately without sleep and with print :

  schedule_timeout: wrong timeout value ffffffffffffff83

and then the funtion watchdog will call schedule_timeout_interruptible
again and again.  The screen will be filled with

"schedule_timeout: wrong timeout value ffffffffffffff83"

This patch does some check and correction in sysctl, to let the function
schedule_timeout_interruptible allways get the valid parameter.

Signed-off-by: Liu Hua <sdu.liu@huawei.com>
Tested-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
kernel/sysctl.c