[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 29 Apr 2012 08:45:31 +0200
From: Sasha Levin <levinsasha928@...il.com>
To: viro@...iv.linux.org.uk, rostedt@...dmis.org, fweisbec@...il.com,
mingo@...hat.com, a.p.zijlstra@...llo.nl, paulus@...ba.org,
acme@...stprotocols.net, james.l.morris@...cle.com,
ebiederm@...ssion.com, akpm@...ux-foundation.org,
tglx@...utronix.de
Cc: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, linux-security-module@...r.kernel.org,
Sasha Levin <levinsasha928@...il.com>
Subject: [PATCH 08/14] hung task,sysctl: remove proc input checks out of sysctl handlers
Simplify sysctl handler by removing user input checks and using the callback
provided by the sysctl table.
Signed-off-by: Sasha Levin <levinsasha928@...il.com>
---
include/linux/sched.h | 4 +---
kernel/hung_task.c | 14 ++------------
kernel/sysctl.c | 3 ++-
3 files changed, 5 insertions(+), 16 deletions(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 22e3768..f148b98 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -334,9 +334,7 @@ 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,
- void __user *buffer,
- size_t *lenp, loff_t *ppos);
+extern int proc_dohung_task_timeout_secs(void);
#else
/* Avoid need for ifdefs elsewhere in the code */
enum { sysctl_hung_task_timeout_secs = 0 };
diff --git a/kernel/hung_task.c b/kernel/hung_task.c
index 6df6149..5c67710 100644
--- a/kernel/hung_task.c
+++ b/kernel/hung_task.c
@@ -181,21 +181,11 @@ static unsigned long timeout_jiffies(unsigned long timeout)
/*
* Process updating of timeout sysctl
*/
-int proc_dohung_task_timeout_secs(struct ctl_table *table, int write,
- void __user *buffer,
- size_t *lenp, loff_t *ppos)
+int proc_dohung_task_timeout_secs(void)
{
- int ret;
-
- ret = proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
-
- if (ret || !write)
- goto out;
-
wake_up_process(watchdog_task);
- out:
- return ret;
+ return 0;
}
/*
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 2fac00a..16252c9 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -899,7 +899,8 @@ static struct ctl_table kern_table[] = {
.data = &sysctl_hung_task_timeout_secs,
.maxlen = sizeof(unsigned long),
.mode = 0644,
- .proc_handler = proc_dohung_task_timeout_secs,
+ .proc_handler = proc_doulongvec_minmax,
+ .callback = proc_dohung_task_timeout_secs,
},
{
.procname = "hung_task_warnings",
--
1.7.8.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists