freebsd-nq/sys/netinet
Christian S.J. Peron 9c57c204be - Change the return type for init_tables from void to int so we can propagate
errors from rn_inithead back to the ipfw initialization function.
- Check return value of rn_inithead for failure, if table allocation has
  failed for any reason, free up any tables we have created and return ENOMEM
- In ipfw_init check the return value of init_tables and free up any mutexes or
  UMA zones which may have been created.
- Assert that the supplied table is not NULL before attempting to dereference.

This fixes panics which were a result of invalid memory accesses due to failed
table allocation. This is an issue mainly because the R_Zalloc function is a
malloc(M_NOWAIT) wrapper, thus making it possible for allocations to fail.

Found by:	Coverity Prevent (tm)
Coverity ID:	CID79
MFC after:	1 week
2006-01-20 05:35:27 +00:00
..
libalias Fix prototype. 2005-11-24 14:17:35 +00:00
accf_data.c
accf_http.c
icmp6.h sync with KAME regarding NDP 2005-10-21 16:23:01 +00:00
icmp_var.h
if_atm.c Add newline to debuging printf. 2005-08-26 15:27:18 +00:00
if_atm.h
if_ether.c Include the bridge interface itself in the special arp handling. 2006-01-12 21:05:30 +00:00
if_ether.h
igmp_var.h
igmp.c Consolidate all IP Options handling functions into ip_options.[ch] and 2005-11-18 20:12:40 +00:00
igmp.h
in_cksum.c
in_gif.c Add RFC 3378 EtherIP support. This change makes it possible to add gif 2005-12-21 21:29:45 +00:00
in_gif.h
in_pcb.c Remove no-op spl references in in_pcb.c, since in_pcb locking has been 2005-07-19 12:24:27 +00:00
in_pcb.h Implement IP_DONTFRAG IP socket option enabling the Don't Fragment 2005-09-26 20:25:16 +00:00
in_proto.c Add RFC 3378 EtherIP support. This change makes it possible to add gif 2005-12-21 21:29:45 +00:00
in_rmx.c Use monotonic 'time_uptime' instead of 'time_second' as timebase 2005-09-19 22:54:55 +00:00
in_systm.h
in_var.h Return mbuf pointer or NULL from ip_fastforward() as the mbuf pointer 2006-01-18 14:24:39 +00:00
in.c First fill in structure with valid values, and only then attach it 2005-10-28 20:29:42 +00:00
in.h Use consistent indent character as other IPPROTO_* lines did. 2005-12-20 09:38:03 +00:00
ip6.h move RFC3542 related definitions into ip6.h. 2005-07-20 10:30:52 +00:00
ip_carp.c MFOpenBSD 1.62: 2005-11-17 12:56:40 +00:00
ip_carp.h
ip_divert.c Use sparse initializers for "struct domain" and "struct protosw", 2005-11-09 13:29:16 +00:00
ip_divert.h
ip_dummynet.c First step in removing welding between ipfw(4) and dummynet. 2005-11-29 00:11:01 +00:00
ip_dummynet.h First step in removing welding between ipfw(4) and dummynet. 2005-11-29 00:11:01 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
ip_encap.h
ip_fastfwd.c Return mbuf pointer or NULL from ip_fastforward() as the mbuf pointer 2006-01-18 14:24:39 +00:00
ip_fw2.c - Change the return type for init_tables from void to int so we can propagate 2006-01-20 05:35:27 +00:00
ip_fw_pfil.c obey opt_inet6.h and opt_ipsec.h in kernel build directory. 2005-11-29 17:56:11 +00:00
ip_fw.h Add a new feature for optimizining ipfw rulesets - substitution of the 2005-12-13 12:16:03 +00:00
ip_gre.c Add support for IPv6 over GRE [1]. PR kern/80340 includes the 2005-08-01 08:14:21 +00:00
ip_gre.h
ip_icmp.c Consolidate all IP Options handling functions into ip_options.[ch] and 2005-11-18 20:12:40 +00:00
ip_icmp.h Pass icmp_error() the MTU argument directly instead of 2005-05-04 13:09:19 +00:00
ip_id.c
ip_input.c Modify the IP fragment reassembly code so that it uses a new UMA zone, 2006-01-15 18:58:21 +00:00
ip_mroute.c Use %t (ptrdiff_t modifier) to print a couple of pointer differences rather 2005-12-15 21:57:32 +00:00
ip_mroute.h
ip_options.c Remove 'ipprintfs' which were protected under DIAGNOSTIC. It doesn't 2005-11-19 17:04:52 +00:00
ip_options.h Move MAX_IPOPTLEN and struct ipoption back into ip_var.h as 2005-11-19 14:01:32 +00:00
ip_output.c In in_delayed_cksum() we can't perform a m_pullup() as it may 2006-01-18 18:49:16 +00:00
ip_var.h Move MAX_IPOPTLEN and struct ipoption back into ip_var.h as 2005-11-19 14:01:32 +00:00
ip.h
ipprotosw.h
pim_var.h Remove public declarations of variables that were forgotten when they were 2005-08-10 07:10:02 +00:00
pim.h
raw_ip.c Fix a bunch of SYSCTL_INT() that should have been SYSCTL_ULONG() to 2005-12-14 22:27:48 +00:00
tcp_debug.c
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c
tcp_input.c Do not derefence the ip header pointer in the IPv6 case. 2006-01-18 18:59:30 +00:00
tcp_output.c Consolidate all IP Options handling functions into ip_options.[ch] and 2005-11-18 20:12:40 +00:00
tcp_reass.c Do not derefence the ip header pointer in the IPv6 case. 2006-01-18 18:59:30 +00:00
tcp_sack.c Fix for a bug that causes SACK scoreboard corruption when the limit 2005-11-21 19:22:10 +00:00
tcp_seq.h - Tighten up the Timestamp checks to prevent a spoofed segment from 2005-04-10 05:24:59 +00:00
tcp_subr.c Retire MT_HEADER mbuf type and change its users to use MT_DATA. 2005-11-02 13:46:32 +00:00
tcp_syncache.c In syncache_expand() insert a proper syncache_free() to fix a case 2006-01-18 18:25:03 +00:00
tcp_timer.c Remove no-op spl's and most comment references to spls, as TCP locking 2005-07-19 12:21:26 +00:00
tcp_timer.h
tcp_timewait.c Retire MT_HEADER mbuf type and change its users to use MT_DATA. 2005-11-02 13:46:32 +00:00
tcp_usrreq.c Fix a bunch of SYSCTL_INT() that should have been SYSCTL_ULONG() to 2005-12-14 22:27:48 +00:00
tcp_var.h - Postpone SACK option processing until after PAWS checks. SACK option 2005-06-27 22:27:42 +00:00
tcp.h Fix up the comment for MAX_SACK_BLKS. 2005-08-24 02:47:16 +00:00
tcpip.h
udp_usrreq.c Remove dead code: 'opts' is not used in udp_append(), only in udp_input(), 2006-01-14 11:18:32 +00:00
udp_var.h
udp.h