Loading fs/proc/proc_net.c +8 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,14 @@ int seq_release_net(struct inode *ino, struct file *f) } EXPORT_SYMBOL_GPL(seq_release_net); int single_release_net(struct inode *ino, struct file *f) { struct seq_file *seq = f->private_data; put_net(seq->private); return single_release(ino, f); } EXPORT_SYMBOL_GPL(single_release_net); static struct net *get_proc_task_net(struct inode *dir) { struct task_struct *task; Loading include/linux/seq_file_net.h +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ int seq_open_net(struct inode *, struct file *, int single_open_net(struct inode *, struct file *file, int (*show)(struct seq_file *, void *)); int seq_release_net(struct inode *, struct file *); int single_release_net(struct inode *, struct file *); static inline struct net *seq_file_net(struct seq_file *seq) { #ifdef CONFIG_NET_NS Loading net/ipv4/fib_trie.c +1 −8 Original line number Diff line number Diff line Loading @@ -2254,19 +2254,12 @@ static int fib_triestat_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, fib_triestat_seq_show); } static int fib_triestat_seq_release(struct inode *ino, struct file *f) { struct seq_file *seq = f->private_data; put_net(seq->private); return single_release(ino, f); } static const struct file_operations fib_triestat_fops = { .owner = THIS_MODULE, .open = fib_triestat_seq_open, .read = seq_read, .llseek = seq_lseek, .release = fib_triestat_seq_release, .release = single_release_net, }; static struct node *fib_trie_get_idx(struct seq_file *seq, loff_t pos) Loading net/ipv4/proc.c +3 −27 Original line number Diff line number Diff line Loading @@ -74,20 +74,12 @@ static int sockstat_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, sockstat_seq_show); } static int sockstat_seq_release(struct inode *inode, struct file *file) { struct net *net = ((struct seq_file *)file->private_data)->private; put_net(net); return single_release(inode, file); } static const struct file_operations sockstat_seq_fops = { .owner = THIS_MODULE, .open = sockstat_seq_open, .read = seq_read, .llseek = seq_lseek, .release = sockstat_seq_release, .release = single_release_net, }; /* snmp items */ Loading Loading @@ -383,20 +375,12 @@ static int snmp_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, snmp_seq_show); } static int snmp_seq_release(struct inode *inode, struct file *file) { struct net *net = ((struct seq_file *)file->private_data)->private; put_net(net); return single_release(inode, file); } static const struct file_operations snmp_seq_fops = { .owner = THIS_MODULE, .open = snmp_seq_open, .read = seq_read, .llseek = seq_lseek, .release = snmp_seq_release, .release = single_release_net, }; Loading Loading @@ -438,20 +422,12 @@ static int netstat_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, netstat_seq_show); } static int netstat_seq_release(struct inode *inode, struct file *file) { struct net *net = ((struct seq_file *)file->private_data)->private; put_net(net); return single_release(inode, file); } static const struct file_operations netstat_seq_fops = { .owner = THIS_MODULE, .open = netstat_seq_open, .read = seq_read, .llseek = seq_lseek, .release = netstat_seq_release, .release = single_release_net, }; static __net_init int ip_proc_init_net(struct net *net) Loading net/ipv6/proc.c +1 −9 Original line number Diff line number Diff line Loading @@ -186,20 +186,12 @@ static int sockstat6_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, sockstat6_seq_show); } static int sockstat6_seq_release(struct inode *inode, struct file *file) { struct net *net = ((struct seq_file *)file->private_data)->private; put_net(net); return single_release(inode, file); } static const struct file_operations sockstat6_seq_fops = { .owner = THIS_MODULE, .open = sockstat6_seq_open, .read = seq_read, .llseek = seq_lseek, .release = sockstat6_seq_release, .release = single_release_net, }; static int snmp6_seq_open(struct inode *inode, struct file *file) Loading Loading
fs/proc/proc_net.c +8 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,14 @@ int seq_release_net(struct inode *ino, struct file *f) } EXPORT_SYMBOL_GPL(seq_release_net); int single_release_net(struct inode *ino, struct file *f) { struct seq_file *seq = f->private_data; put_net(seq->private); return single_release(ino, f); } EXPORT_SYMBOL_GPL(single_release_net); static struct net *get_proc_task_net(struct inode *dir) { struct task_struct *task; Loading
include/linux/seq_file_net.h +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ int seq_open_net(struct inode *, struct file *, int single_open_net(struct inode *, struct file *file, int (*show)(struct seq_file *, void *)); int seq_release_net(struct inode *, struct file *); int single_release_net(struct inode *, struct file *); static inline struct net *seq_file_net(struct seq_file *seq) { #ifdef CONFIG_NET_NS Loading
net/ipv4/fib_trie.c +1 −8 Original line number Diff line number Diff line Loading @@ -2254,19 +2254,12 @@ static int fib_triestat_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, fib_triestat_seq_show); } static int fib_triestat_seq_release(struct inode *ino, struct file *f) { struct seq_file *seq = f->private_data; put_net(seq->private); return single_release(ino, f); } static const struct file_operations fib_triestat_fops = { .owner = THIS_MODULE, .open = fib_triestat_seq_open, .read = seq_read, .llseek = seq_lseek, .release = fib_triestat_seq_release, .release = single_release_net, }; static struct node *fib_trie_get_idx(struct seq_file *seq, loff_t pos) Loading
net/ipv4/proc.c +3 −27 Original line number Diff line number Diff line Loading @@ -74,20 +74,12 @@ static int sockstat_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, sockstat_seq_show); } static int sockstat_seq_release(struct inode *inode, struct file *file) { struct net *net = ((struct seq_file *)file->private_data)->private; put_net(net); return single_release(inode, file); } static const struct file_operations sockstat_seq_fops = { .owner = THIS_MODULE, .open = sockstat_seq_open, .read = seq_read, .llseek = seq_lseek, .release = sockstat_seq_release, .release = single_release_net, }; /* snmp items */ Loading Loading @@ -383,20 +375,12 @@ static int snmp_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, snmp_seq_show); } static int snmp_seq_release(struct inode *inode, struct file *file) { struct net *net = ((struct seq_file *)file->private_data)->private; put_net(net); return single_release(inode, file); } static const struct file_operations snmp_seq_fops = { .owner = THIS_MODULE, .open = snmp_seq_open, .read = seq_read, .llseek = seq_lseek, .release = snmp_seq_release, .release = single_release_net, }; Loading Loading @@ -438,20 +422,12 @@ static int netstat_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, netstat_seq_show); } static int netstat_seq_release(struct inode *inode, struct file *file) { struct net *net = ((struct seq_file *)file->private_data)->private; put_net(net); return single_release(inode, file); } static const struct file_operations netstat_seq_fops = { .owner = THIS_MODULE, .open = netstat_seq_open, .read = seq_read, .llseek = seq_lseek, .release = netstat_seq_release, .release = single_release_net, }; static __net_init int ip_proc_init_net(struct net *net) Loading
net/ipv6/proc.c +1 −9 Original line number Diff line number Diff line Loading @@ -186,20 +186,12 @@ static int sockstat6_seq_open(struct inode *inode, struct file *file) return single_open_net(inode, file, sockstat6_seq_show); } static int sockstat6_seq_release(struct inode *inode, struct file *file) { struct net *net = ((struct seq_file *)file->private_data)->private; put_net(net); return single_release(inode, file); } static const struct file_operations sockstat6_seq_fops = { .owner = THIS_MODULE, .open = sockstat6_seq_open, .read = seq_read, .llseek = seq_lseek, .release = sockstat6_seq_release, .release = single_release_net, }; static int snmp6_seq_open(struct inode *inode, struct file *file) Loading