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 ---