mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
868717ae73
commit
96890d6252
61 changed files with 0 additions and 96 deletions
|
|
@ -246,7 +246,6 @@ static int bcm_proc_open(struct inode *inode, struct file *file)
|
|||
}
|
||||
|
||||
static const struct file_operations bcm_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = bcm_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
|
|
|||
|
|
@ -276,7 +276,6 @@ static int can_stats_proc_open(struct inode *inode, struct file *file)
|
|||
}
|
||||
|
||||
static const struct file_operations can_stats_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = can_stats_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
|
@ -310,7 +309,6 @@ static int can_reset_stats_proc_open(struct inode *inode, struct file *file)
|
|||
}
|
||||
|
||||
static const struct file_operations can_reset_stats_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = can_reset_stats_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
|
@ -329,7 +327,6 @@ static int can_version_proc_open(struct inode *inode, struct file *file)
|
|||
}
|
||||
|
||||
static const struct file_operations can_version_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = can_version_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
|
@ -382,7 +379,6 @@ static int can_rcvlist_proc_open(struct inode *inode, struct file *file)
|
|||
}
|
||||
|
||||
static const struct file_operations can_rcvlist_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = can_rcvlist_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
|
@ -450,7 +446,6 @@ static int can_rcvlist_sff_proc_open(struct inode *inode, struct file *file)
|
|||
}
|
||||
|
||||
static const struct file_operations can_rcvlist_sff_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = can_rcvlist_sff_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
|
@ -494,7 +489,6 @@ static int can_rcvlist_eff_proc_open(struct inode *inode, struct file *file)
|
|||
}
|
||||
|
||||
static const struct file_operations can_rcvlist_eff_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = can_rcvlist_eff_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
|
|
|
|||
Loading…
Reference in a new issue