kcmproc.c (c3506372277779fccbffee2475400fcd689d5738) | kcmproc.c (3617d9496cd92dcca4d0893191d95554590d8d9f) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2#include <linux/in.h> 3#include <linux/inet.h> 4#include <linux/list.h> 5#include <linux/module.h> 6#include <linux/net.h> 7#include <linux/proc_fs.h> 8#include <linux/rculist.h> --- 331 unchanged lines hidden (view full) --- 340 strp_stats.bad_hdr_len, 341 strp_stats.msg_too_big, 342 strp_stats.msg_timeouts, 343 psock_stats.tx_aborts); 344 345 return 0; 346} 347 | 1// SPDX-License-Identifier: GPL-2.0 2#include <linux/in.h> 3#include <linux/inet.h> 4#include <linux/list.h> 5#include <linux/module.h> 6#include <linux/net.h> 7#include <linux/proc_fs.h> 8#include <linux/rculist.h> --- 331 unchanged lines hidden (view full) --- 340 strp_stats.bad_hdr_len, 341 strp_stats.msg_too_big, 342 strp_stats.msg_timeouts, 343 psock_stats.tx_aborts); 344 345 return 0; 346} 347 |
348static int kcm_stats_seq_open(struct inode *inode, struct file *file) 349{ 350 return single_open_net(inode, file, kcm_stats_seq_show); 351} 352 353static const struct file_operations kcm_stats_seq_fops = { 354 .open = kcm_stats_seq_open, 355 .read = seq_read, 356 .llseek = seq_lseek, 357 .release = single_release_net, 358}; 359 | |
360static int kcm_proc_init_net(struct net *net) 361{ | 348static int kcm_proc_init_net(struct net *net) 349{ |
362 if (!proc_create("kcm_stats", 0444, net->proc_net, 363 &kcm_stats_seq_fops)) | 350 if (!proc_create_net_single("kcm_stats", 0444, net->proc_net, 351 kcm_stats_seq_show, NULL)) |
364 goto out_kcm_stats; 365 366 if (!proc_create_net("kcm", 0444, net->proc_net, &kcm_seq_ops, 367 sizeof(struct kcm_proc_mux_state))) 368 goto out_kcm; 369 370 return 0; 371 --- 28 unchanged lines hidden --- | 352 goto out_kcm_stats; 353 354 if (!proc_create_net("kcm", 0444, net->proc_net, &kcm_seq_ops, 355 sizeof(struct kcm_proc_mux_state))) 356 goto out_kcm; 357 358 return 0; 359 --- 28 unchanged lines hidden --- |