|
@@ -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)
|
|
|
{
|