Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4e85f82 authored by Florian Westphal's avatar Florian Westphal Committed by David S. Miller
Browse files

sctp: Don't abort initialization when CONFIG_PROC_FS=n



This puts CONFIG_PROC_FS defines around the proc init/exit functions
and also avoids compiling proc.c if procfs is not supported.
Also make SCTP_DBG_OBJCNT depend on procfs.

Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c1e20f7c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -47,11 +47,11 @@ config SCTP_DBG_MSG

config SCTP_DBG_OBJCNT
	bool "SCTP: Debug object counts"
	depends on PROC_FS
	help
	  If you say Y, this will enable debugging support for counting the 
	  type of objects that are currently allocated.  This is useful for 
	  identifying memory leaks.   If the /proc filesystem is enabled this 
	  debug information can be viewed by 
	  identifying memory leaks. This debug information can be viewed by
	  'cat /proc/net/sctp/sctp_dbg_objcnt'

	  If unsure, say N
+2 −2
Original line number Diff line number Diff line
@@ -9,10 +9,10 @@ sctp-y := sm_statetable.o sm_statefuns.o sm_sideeffect.o \
	  transport.o chunk.o sm_make_chunk.o ulpevent.o \
	  inqueue.o outqueue.o ulpqueue.o command.o \
	  tsnmap.o bind_addr.o socket.o primitive.o \
	  output.o input.o debug.o ssnmap.o proc.o \
	  auth.o
	  output.o input.o debug.o ssnmap.o auth.o

sctp-$(CONFIG_SCTP_DBG_OBJCNT) += objcnt.o
sctp-$(CONFIG_PROC_FS) += proc.o
sctp-$(CONFIG_SYSCTL) += sysctl.o

sctp-$(subst m,y,$(CONFIG_IPV6))	+= ipv6.o
+10 −1
Original line number Diff line number Diff line
@@ -64,9 +64,12 @@

/* Global data structures. */
struct sctp_globals sctp_globals __read_mostly;
struct proc_dir_entry	*proc_net_sctp;
DEFINE_SNMP_STAT(struct sctp_mib, sctp_statistics) __read_mostly;

#ifdef CONFIG_PROC_FS
struct proc_dir_entry	*proc_net_sctp;
#endif

struct idr sctp_assocs_id;
DEFINE_SPINLOCK(sctp_assocs_id_lock);

@@ -97,6 +100,7 @@ struct sock *sctp_get_ctl_sock(void)
/* Set up the proc fs entry for the SCTP protocol. */
static __init int sctp_proc_init(void)
{
#ifdef CONFIG_PROC_FS
	if (!proc_net_sctp) {
		struct proc_dir_entry *ent;
		ent = proc_mkdir("sctp", init_net.proc_net);
@@ -131,6 +135,9 @@ static __init int sctp_proc_init(void)
	}
out_nomem:
	return -ENOMEM;
#else
	return 0;
#endif /* CONFIG_PROC_FS */
}

/* Clean up the proc fs entry for the SCTP protocol.
@@ -139,6 +146,7 @@ static __init int sctp_proc_init(void)
 */
static void sctp_proc_exit(void)
{
#ifdef CONFIG_PROC_FS
	sctp_snmp_proc_exit();
	sctp_eps_proc_exit();
	sctp_assocs_proc_exit();
@@ -148,6 +156,7 @@ static void sctp_proc_exit(void)
		proc_net_sctp = NULL;
		remove_proc_entry("sctp", init_net.proc_net);
	}
#endif
}

/* Private helper to extract ipv4 address and stash them in