Re: [PATCH] hung_task: change sysctl_hung_task_check_count to int

Li Zefan
2013-09-14T06:57:30Z

>> On 2013/9/14 10:47, Li Zefan wrote:
>>> As sysctl_hung_task_check_count is unsigned long, when this value is
>>> assigned to max_count in check_hung_uninterruptible_tasks(), it's
>>> truncated to int type.
>>>
>>> Therefore if we write 2^32 to sysctl.hung_task_check_count, hung task
>>> detection will be effectively disabled.
>>>
>>> Not a big deal, but still it's better to fix this inconsistency.
>>>
>>> Signed-off-by: Li Zefan <lizefan@huawei.com>
>>> ---
>>> include/linux/sched/sysctl.h | 2 +-
>>> kernel/hung_task.c | 2 +-
>>> kernel/sysctl.c | 4 ++--
>>> 3 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h
>>> index bf8086b..9552afa 100644
>>> --- a/include/linux/sched/sysctl.h
>>> +++ b/include/linux/sched/sysctl.h
>>> @@ -2,8 +2,8 @@
>>> #define _SCHED_SYSCTL_H
>>>
>>> #ifdef CONFIG_DETECT_HUNG_TASK
>>> +extern int sysctl_hung_task_check_count;
>>> extern unsigned int sysctl_hung_task_panic;
>>> -extern unsigned long sysctl_hung_task_check_count;
>>> extern unsigned long sysctl_hung_task_timeout_secs; extern unsigned
>>> long sysctl_hung_task_warnings; extern int
>>> proc_dohung_task_timeout_secs(struct ctl_table *table, int write,
>
> Looks good, but I suppose most of the unsigned longs above ought to be
> downgraded to int as well?
>

They can be, but they don't have to be.

> Acked-by: Ingo Molnar <mingo@kernel.org>

Thanks!