sysctl: remove "struct file *" argument of ->proc_handler
It's unused. It isn't needed -- read or write flag is already passed and sysctl shouldn't care about the rest. It _was_ used in two places at arch/frv for some reason. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: David Howells <dhowells@redhat.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: James Morris <jmorris@namei.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
c0d0787b6d
commit
8d65af789f
+2
-2
@@ -171,12 +171,12 @@ 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,
|
||||
struct file *filp, void __user *buffer,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = proc_doulongvec_minmax(table, write, filp, buffer, lenp, ppos);
|
||||
ret = proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
|
||||
|
||||
if (ret || !write)
|
||||
goto out;
|
||||
|
||||
+2
-2
@@ -10312,7 +10312,7 @@ static int sched_rt_global_constraints(void)
|
||||
#endif /* CONFIG_RT_GROUP_SCHED */
|
||||
|
||||
int sched_rt_handler(struct ctl_table *table, int write,
|
||||
struct file *filp, void __user *buffer, size_t *lenp,
|
||||
void __user *buffer, size_t *lenp,
|
||||
loff_t *ppos)
|
||||
{
|
||||
int ret;
|
||||
@@ -10323,7 +10323,7 @@ int sched_rt_handler(struct ctl_table *table, int write,
|
||||
old_period = sysctl_sched_rt_period;
|
||||
old_runtime = sysctl_sched_rt_runtime;
|
||||
|
||||
ret = proc_dointvec(table, write, filp, buffer, lenp, ppos);
|
||||
ret = proc_dointvec(table, write, buffer, lenp, ppos);
|
||||
|
||||
if (!ret && write) {
|
||||
ret = sched_rt_global_constraints();
|
||||
|
||||
+2
-2
@@ -384,10 +384,10 @@ static struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq)
|
||||
|
||||
#ifdef CONFIG_SCHED_DEBUG
|
||||
int sched_nr_latency_handler(struct ctl_table *table, int write,
|
||||
struct file *filp, void __user *buffer, size_t *lenp,
|
||||
void __user *buffer, size_t *lenp,
|
||||
loff_t *ppos)
|
||||
{
|
||||
int ret = proc_dointvec_minmax(table, write, filp, buffer, lenp, ppos);
|
||||
int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
|
||||
|
||||
if (ret || !write)
|
||||
return ret;
|
||||
|
||||
+6
-6
@@ -26,10 +26,10 @@ static void slow_work_cull_timeout(unsigned long);
|
||||
static void slow_work_oom_timeout(unsigned long);
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
static int slow_work_min_threads_sysctl(struct ctl_table *, int, struct file *,
|
||||
static int slow_work_min_threads_sysctl(struct ctl_table *, int,
|
||||
void __user *, size_t *, loff_t *);
|
||||
|
||||
static int slow_work_max_threads_sysctl(struct ctl_table *, int , struct file *,
|
||||
static int slow_work_max_threads_sysctl(struct ctl_table *, int ,
|
||||
void __user *, size_t *, loff_t *);
|
||||
#endif
|
||||
|
||||
@@ -493,10 +493,10 @@ static void slow_work_oom_timeout(unsigned long data)
|
||||
* Handle adjustment of the minimum number of threads
|
||||
*/
|
||||
static int slow_work_min_threads_sysctl(struct ctl_table *table, int write,
|
||||
struct file *filp, void __user *buffer,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
int ret = proc_dointvec_minmax(table, write, filp, buffer, lenp, ppos);
|
||||
int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
|
||||
int n;
|
||||
|
||||
if (ret == 0) {
|
||||
@@ -521,10 +521,10 @@ static int slow_work_min_threads_sysctl(struct ctl_table *table, int write,
|
||||
* Handle adjustment of the maximum number of threads
|
||||
*/
|
||||
static int slow_work_max_threads_sysctl(struct ctl_table *table, int write,
|
||||
struct file *filp, void __user *buffer,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
int ret = proc_dointvec_minmax(table, write, filp, buffer, lenp, ppos);
|
||||
int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
|
||||
int n;
|
||||
|
||||
if (ret == 0) {
|
||||
|
||||
+2
-2
@@ -90,11 +90,11 @@ void touch_all_softlockup_watchdogs(void)
|
||||
EXPORT_SYMBOL(touch_all_softlockup_watchdogs);
|
||||
|
||||
int proc_dosoftlockup_thresh(struct ctl_table *table, int write,
|
||||
struct file *filp, void __user *buffer,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
touch_all_softlockup_watchdogs();
|
||||
return proc_dointvec_minmax(table, write, filp, buffer, lenp, ppos);
|
||||
return proc_dointvec_minmax(table, write, buffer, lenp, ppos);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+33
-45
@@ -163,9 +163,9 @@ extern int max_lock_depth;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PROC_SYSCTL
|
||||
static int proc_do_cad_pid(struct ctl_table *table, int write, struct file *filp,
|
||||
static int proc_do_cad_pid(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos);
|
||||
static int proc_taint(struct ctl_table *table, int write, struct file *filp,
|
||||
static int proc_taint(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos);
|
||||
#endif
|
||||
|
||||
@@ -2226,7 +2226,7 @@ void sysctl_head_put(struct ctl_table_header *head)
|
||||
#ifdef CONFIG_PROC_SYSCTL
|
||||
|
||||
static int _proc_do_string(void* data, int maxlen, int write,
|
||||
struct file *filp, void __user *buffer,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
size_t len;
|
||||
@@ -2287,7 +2287,6 @@ static int _proc_do_string(void* data, int maxlen, int write,
|
||||
* proc_dostring - read a string sysctl
|
||||
* @table: the sysctl table
|
||||
* @write: %TRUE if this is a write to the sysctl file
|
||||
* @filp: the file structure
|
||||
* @buffer: the user buffer
|
||||
* @lenp: the size of the user buffer
|
||||
* @ppos: file position
|
||||
@@ -2301,10 +2300,10 @@ static int _proc_do_string(void* data, int maxlen, int write,
|
||||
*
|
||||
* Returns 0 on success.
|
||||
*/
|
||||
int proc_dostring(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dostring(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return _proc_do_string(table->data, table->maxlen, write, filp,
|
||||
return _proc_do_string(table->data, table->maxlen, write,
|
||||
buffer, lenp, ppos);
|
||||
}
|
||||
|
||||
@@ -2329,7 +2328,7 @@ static int do_proc_dointvec_conv(int *negp, unsigned long *lvalp,
|
||||
}
|
||||
|
||||
static int __do_proc_dointvec(void *tbl_data, struct ctl_table *table,
|
||||
int write, struct file *filp, void __user *buffer,
|
||||
int write, void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos,
|
||||
int (*conv)(int *negp, unsigned long *lvalp, int *valp,
|
||||
int write, void *data),
|
||||
@@ -2436,13 +2435,13 @@ static int __do_proc_dointvec(void *tbl_data, struct ctl_table *table,
|
||||
#undef TMPBUFLEN
|
||||
}
|
||||
|
||||
static int do_proc_dointvec(struct ctl_table *table, int write, struct file *filp,
|
||||
static int do_proc_dointvec(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos,
|
||||
int (*conv)(int *negp, unsigned long *lvalp, int *valp,
|
||||
int write, void *data),
|
||||
void *data)
|
||||
{
|
||||
return __do_proc_dointvec(table->data, table, write, filp,
|
||||
return __do_proc_dointvec(table->data, table, write,
|
||||
buffer, lenp, ppos, conv, data);
|
||||
}
|
||||
|
||||
@@ -2450,7 +2449,6 @@ static int do_proc_dointvec(struct ctl_table *table, int write, struct file *fil
|
||||
* proc_dointvec - read a vector of integers
|
||||
* @table: the sysctl table
|
||||
* @write: %TRUE if this is a write to the sysctl file
|
||||
* @filp: the file structure
|
||||
* @buffer: the user buffer
|
||||
* @lenp: the size of the user buffer
|
||||
* @ppos: file position
|
||||
@@ -2460,10 +2458,10 @@ static int do_proc_dointvec(struct ctl_table *table, int write, struct file *fil
|
||||
*
|
||||
* Returns 0 on success.
|
||||
*/
|
||||
int proc_dointvec(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return do_proc_dointvec(table,write,filp,buffer,lenp,ppos,
|
||||
return do_proc_dointvec(table,write,buffer,lenp,ppos,
|
||||
NULL,NULL);
|
||||
}
|
||||
|
||||
@@ -2471,7 +2469,7 @@ int proc_dointvec(struct ctl_table *table, int write, struct file *filp,
|
||||
* Taint values can only be increased
|
||||
* This means we can safely use a temporary.
|
||||
*/
|
||||
static int proc_taint(struct ctl_table *table, int write, struct file *filp,
|
||||
static int proc_taint(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
struct ctl_table t;
|
||||
@@ -2483,7 +2481,7 @@ static int proc_taint(struct ctl_table *table, int write, struct file *filp,
|
||||
|
||||
t = *table;
|
||||
t.data = &tmptaint;
|
||||
err = proc_doulongvec_minmax(&t, write, filp, buffer, lenp, ppos);
|
||||
err = proc_doulongvec_minmax(&t, write, buffer, lenp, ppos);
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
@@ -2535,7 +2533,6 @@ static int do_proc_dointvec_minmax_conv(int *negp, unsigned long *lvalp,
|
||||
* proc_dointvec_minmax - read a vector of integers with min/max values
|
||||
* @table: the sysctl table
|
||||
* @write: %TRUE if this is a write to the sysctl file
|
||||
* @filp: the file structure
|
||||
* @buffer: the user buffer
|
||||
* @lenp: the size of the user buffer
|
||||
* @ppos: file position
|
||||
@@ -2548,19 +2545,18 @@ static int do_proc_dointvec_minmax_conv(int *negp, unsigned long *lvalp,
|
||||
*
|
||||
* Returns 0 on success.
|
||||
*/
|
||||
int proc_dointvec_minmax(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec_minmax(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
struct do_proc_dointvec_minmax_conv_param param = {
|
||||
.min = (int *) table->extra1,
|
||||
.max = (int *) table->extra2,
|
||||
};
|
||||
return do_proc_dointvec(table, write, filp, buffer, lenp, ppos,
|
||||
return do_proc_dointvec(table, write, buffer, lenp, ppos,
|
||||
do_proc_dointvec_minmax_conv, ¶m);
|
||||
}
|
||||
|
||||
static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int write,
|
||||
struct file *filp,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos,
|
||||
unsigned long convmul,
|
||||
@@ -2665,21 +2661,19 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int
|
||||
}
|
||||
|
||||
static int do_proc_doulongvec_minmax(struct ctl_table *table, int write,
|
||||
struct file *filp,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos,
|
||||
unsigned long convmul,
|
||||
unsigned long convdiv)
|
||||
{
|
||||
return __do_proc_doulongvec_minmax(table->data, table, write,
|
||||
filp, buffer, lenp, ppos, convmul, convdiv);
|
||||
buffer, lenp, ppos, convmul, convdiv);
|
||||
}
|
||||
|
||||
/**
|
||||
* proc_doulongvec_minmax - read a vector of long integers with min/max values
|
||||
* @table: the sysctl table
|
||||
* @write: %TRUE if this is a write to the sysctl file
|
||||
* @filp: the file structure
|
||||
* @buffer: the user buffer
|
||||
* @lenp: the size of the user buffer
|
||||
* @ppos: file position
|
||||
@@ -2692,17 +2686,16 @@ static int do_proc_doulongvec_minmax(struct ctl_table *table, int write,
|
||||
*
|
||||
* Returns 0 on success.
|
||||
*/
|
||||
int proc_doulongvec_minmax(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_doulongvec_minmax(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return do_proc_doulongvec_minmax(table, write, filp, buffer, lenp, ppos, 1l, 1l);
|
||||
return do_proc_doulongvec_minmax(table, write, buffer, lenp, ppos, 1l, 1l);
|
||||
}
|
||||
|
||||
/**
|
||||
* proc_doulongvec_ms_jiffies_minmax - read a vector of millisecond values with min/max values
|
||||
* @table: the sysctl table
|
||||
* @write: %TRUE if this is a write to the sysctl file
|
||||
* @filp: the file structure
|
||||
* @buffer: the user buffer
|
||||
* @lenp: the size of the user buffer
|
||||
* @ppos: file position
|
||||
@@ -2717,11 +2710,10 @@ int proc_doulongvec_minmax(struct ctl_table *table, int write, struct file *filp
|
||||
* Returns 0 on success.
|
||||
*/
|
||||
int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int write,
|
||||
struct file *filp,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return do_proc_doulongvec_minmax(table, write, filp, buffer,
|
||||
return do_proc_doulongvec_minmax(table, write, buffer,
|
||||
lenp, ppos, HZ, 1000l);
|
||||
}
|
||||
|
||||
@@ -2797,7 +2789,6 @@ static int do_proc_dointvec_ms_jiffies_conv(int *negp, unsigned long *lvalp,
|
||||
* proc_dointvec_jiffies - read a vector of integers as seconds
|
||||
* @table: the sysctl table
|
||||
* @write: %TRUE if this is a write to the sysctl file
|
||||
* @filp: the file structure
|
||||
* @buffer: the user buffer
|
||||
* @lenp: the size of the user buffer
|
||||
* @ppos: file position
|
||||
@@ -2809,10 +2800,10 @@ static int do_proc_dointvec_ms_jiffies_conv(int *negp, unsigned long *lvalp,
|
||||
*
|
||||
* Returns 0 on success.
|
||||
*/
|
||||
int proc_dointvec_jiffies(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec_jiffies(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return do_proc_dointvec(table,write,filp,buffer,lenp,ppos,
|
||||
return do_proc_dointvec(table,write,buffer,lenp,ppos,
|
||||
do_proc_dointvec_jiffies_conv,NULL);
|
||||
}
|
||||
|
||||
@@ -2820,7 +2811,6 @@ int proc_dointvec_jiffies(struct ctl_table *table, int write, struct file *filp,
|
||||
* proc_dointvec_userhz_jiffies - read a vector of integers as 1/USER_HZ seconds
|
||||
* @table: the sysctl table
|
||||
* @write: %TRUE if this is a write to the sysctl file
|
||||
* @filp: the file structure
|
||||
* @buffer: the user buffer
|
||||
* @lenp: the size of the user buffer
|
||||
* @ppos: pointer to the file position
|
||||
@@ -2832,10 +2822,10 @@ int proc_dointvec_jiffies(struct ctl_table *table, int write, struct file *filp,
|
||||
*
|
||||
* Returns 0 on success.
|
||||
*/
|
||||
int proc_dointvec_userhz_jiffies(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec_userhz_jiffies(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return do_proc_dointvec(table,write,filp,buffer,lenp,ppos,
|
||||
return do_proc_dointvec(table,write,buffer,lenp,ppos,
|
||||
do_proc_dointvec_userhz_jiffies_conv,NULL);
|
||||
}
|
||||
|
||||
@@ -2843,7 +2833,6 @@ int proc_dointvec_userhz_jiffies(struct ctl_table *table, int write, struct file
|
||||
* proc_dointvec_ms_jiffies - read a vector of integers as 1 milliseconds
|
||||
* @table: the sysctl table
|
||||
* @write: %TRUE if this is a write to the sysctl file
|
||||
* @filp: the file structure
|
||||
* @buffer: the user buffer
|
||||
* @lenp: the size of the user buffer
|
||||
* @ppos: file position
|
||||
@@ -2856,14 +2845,14 @@ int proc_dointvec_userhz_jiffies(struct ctl_table *table, int write, struct file
|
||||
*
|
||||
* Returns 0 on success.
|
||||
*/
|
||||
int proc_dointvec_ms_jiffies(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec_ms_jiffies(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return do_proc_dointvec(table, write, filp, buffer, lenp, ppos,
|
||||
return do_proc_dointvec(table, write, buffer, lenp, ppos,
|
||||
do_proc_dointvec_ms_jiffies_conv, NULL);
|
||||
}
|
||||
|
||||
static int proc_do_cad_pid(struct ctl_table *table, int write, struct file *filp,
|
||||
static int proc_do_cad_pid(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
struct pid *new_pid;
|
||||
@@ -2872,7 +2861,7 @@ static int proc_do_cad_pid(struct ctl_table *table, int write, struct file *filp
|
||||
|
||||
tmp = pid_vnr(cad_pid);
|
||||
|
||||
r = __do_proc_dointvec(&tmp, table, write, filp, buffer,
|
||||
r = __do_proc_dointvec(&tmp, table, write, buffer,
|
||||
lenp, ppos, NULL, NULL);
|
||||
if (r || !write)
|
||||
return r;
|
||||
@@ -2887,50 +2876,49 @@ static int proc_do_cad_pid(struct ctl_table *table, int write, struct file *filp
|
||||
|
||||
#else /* CONFIG_PROC_FS */
|
||||
|
||||
int proc_dostring(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dostring(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int proc_dointvec(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int proc_dointvec_minmax(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec_minmax(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int proc_dointvec_jiffies(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec_jiffies(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int proc_dointvec_userhz_jiffies(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec_userhz_jiffies(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int proc_dointvec_ms_jiffies(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_dointvec_ms_jiffies(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int proc_doulongvec_minmax(struct ctl_table *table, int write, struct file *filp,
|
||||
int proc_doulongvec_minmax(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int write,
|
||||
struct file *filp,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
|
||||
@@ -3015,7 +3015,7 @@ int unregister_ftrace_function(struct ftrace_ops *ops)
|
||||
|
||||
int
|
||||
ftrace_enable_sysctl(struct ctl_table *table, int write,
|
||||
struct file *file, void __user *buffer, size_t *lenp,
|
||||
void __user *buffer, size_t *lenp,
|
||||
loff_t *ppos)
|
||||
{
|
||||
int ret;
|
||||
@@ -3025,7 +3025,7 @@ ftrace_enable_sysctl(struct ctl_table *table, int write,
|
||||
|
||||
mutex_lock(&ftrace_lock);
|
||||
|
||||
ret = proc_dointvec(table, write, file, buffer, lenp, ppos);
|
||||
ret = proc_dointvec(table, write, buffer, lenp, ppos);
|
||||
|
||||
if (ret || !write || (last_ftrace_enabled == !!ftrace_enabled))
|
||||
goto out;
|
||||
|
||||
@@ -296,14 +296,14 @@ static const struct file_operations stack_trace_fops = {
|
||||
|
||||
int
|
||||
stack_trace_sysctl(struct ctl_table *table, int write,
|
||||
struct file *file, void __user *buffer, size_t *lenp,
|
||||
void __user *buffer, size_t *lenp,
|
||||
loff_t *ppos)
|
||||
{
|
||||
int ret;
|
||||
|
||||
mutex_lock(&stack_sysctl_mutex);
|
||||
|
||||
ret = proc_dointvec(table, write, file, buffer, lenp, ppos);
|
||||
ret = proc_dointvec(table, write, buffer, lenp, ppos);
|
||||
|
||||
if (ret || !write ||
|
||||
(last_stack_tracer_enabled == !!stack_tracer_enabled))
|
||||
|
||||
@@ -42,14 +42,14 @@ static void put_uts(ctl_table *table, int write, void *which)
|
||||
* Special case of dostring for the UTS structure. This has locks
|
||||
* to observe. Should this be in kernel/sys.c ????
|
||||
*/
|
||||
static int proc_do_uts_string(ctl_table *table, int write, struct file *filp,
|
||||
static int proc_do_uts_string(ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
struct ctl_table uts_table;
|
||||
int r;
|
||||
memcpy(&uts_table, table, sizeof(uts_table));
|
||||
uts_table.data = get_uts(table, write);
|
||||
r = proc_dostring(&uts_table,write,filp,buffer,lenp, ppos);
|
||||
r = proc_dostring(&uts_table,write,buffer,lenp, ppos);
|
||||
put_uts(table, write, uts_table.data);
|
||||
return r;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user