net: delete /proc THIS_MODULE references
/proc has been ignoring struct file_operations::owner field for 10 years.
Specifically, it started with commit 786d7e1612
("Fix rmmod/read/write races in /proc entries"). Notice the chunk where
inode->i_fop is initialized with proxy struct file_operations for
regular files:
- if (de->proc_fops)
- inode->i_fop = de->proc_fops;
+ if (de->proc_fops) {
+ if (S_ISREG(inode->i_mode))
+ inode->i_fop = &proc_reg_file_ops;
+ else
+ inode->i_fop = de->proc_fops;
+ }
VFS stopped pinning module at this point.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
这个提交包含在:
@@ -824,7 +824,6 @@ static int br2684_proc_open(struct inode *inode, struct file *file)
|
||||
}
|
||||
|
||||
static const struct file_operations br2684_proc_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = br2684_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
@@ -992,7 +992,6 @@ static int lec_seq_open(struct inode *inode, struct file *file)
|
||||
}
|
||||
|
||||
static const struct file_operations lec_seq_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = lec_seq_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
@@ -57,7 +57,6 @@ static int parse_qos(const char *buff);
|
||||
* Define allowed FILE OPERATIONS
|
||||
*/
|
||||
static const struct file_operations mpc_file_operations = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = proc_mpc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
@@ -37,7 +37,6 @@ static ssize_t proc_dev_atm_read(struct file *file, char __user *buf,
|
||||
size_t count, loff_t *pos);
|
||||
|
||||
static const struct file_operations proc_atm_dev_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.read = proc_dev_atm_read,
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
在新工单中引用
屏蔽一个用户