freebsd-dev/sys/netinet
Alexander Motin 81098a018e Relax per-ifnet cif_vrs list double locking in carp(4).
In all cases where cif_vrs list is modified, two locks are held: per-ifnet
CIF_LOCK and global carp_sx.  It means to read that list only one of them
is enough to be held, so we can skip CIF_LOCK when we already have carp_sx.

This fixes kernel panic, caused by attempts of copyout() to sleep while
holding non-sleepable CIF_LOCK mutex.

Discussed with:	glebius
MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2017-10-19 09:01:15 +00:00
..
cc cc_cubic: restore braces around if-condition block 2017-07-26 21:23:09 +00:00
khelp
libalias ipfw nat and natd support multiple aliasing instances with "nat global" feature 2017-05-10 19:41:52 +00:00
tcp_stacks Declare more TCP globals in tcp_var.h, so that alternative TCP stacks 2017-10-11 20:36:09 +00:00
accf_data.c
accf_dns.c
accf_http.c
icmp6.h
icmp_var.h
if_ether.c Fix comment typo. 2017-08-09 10:46:34 +00:00
if_ether.h
igmp_var.h
igmp.c Add some ntohl() love to r315277 2017-03-14 20:57:54 +00:00
igmp.h
in_cksum.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
in_debug.c
in_fib.c
in_fib.h
in_gif.c
in_jail.c Allow explicitly assigned IPv4 loopback address to be used in jails 2017-03-31 00:41:54 +00:00
in_kdtrace.c Use estimated RTT for receive buffer auto resizing instead of timestamps 2017-04-10 08:19:35 +00:00
in_kdtrace.h Use estimated RTT for receive buffer auto resizing instead of timestamps 2017-04-10 08:19:35 +00:00
in_mcast.c Add missing braces around MCAST_EXCLUDE check when KTR support is 2017-05-13 18:41:24 +00:00
in_pcb.c Add support for generic backpressure indicator for ratelimited 2017-09-06 13:56:18 +00:00
in_pcb.h Add support for generic backpressure indicator for ratelimited 2017-09-06 13:56:18 +00:00
in_pcbgroup.c
in_prot.c
in_proto.c
in_rmx.c
in_rss.c
in_rss.h
in_systm.h
in_var.h
in.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
in.h Correct sysctl names. 2017-08-09 07:24:58 +00:00
ip6.h
ip_carp.c Relax per-ifnet cif_vrs list double locking in carp(4). 2017-10-19 09:01:15 +00:00
ip_carp.h
ip_divert.c Set M_BCAST and M_MCAST flags on mbuf sent via divert socket. 2017-05-17 09:04:09 +00:00
ip_divert.h
ip_dummynet.h
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c
ip_fw.h Revert change which got in accidently. 2017-10-18 18:59:35 +00:00
ip_gre.c
ip_icmp.c Some mbuf related fixes in icmp_error() 2017-09-29 06:24:45 +00:00
ip_icmp.h
ip_id.c
ip_input.c Make sysctl identifiers for direct netisr queue unique. 2017-04-11 19:20:20 +00:00
ip_mroute.c Add some ntohl() love to r315277 2017-03-14 20:57:54 +00:00
ip_mroute.h
ip_options.c
ip_options.h
ip_output.c After inpcb route caching was put back in place there is no need for 2017-07-27 13:03:36 +00:00
ip_reass.c
ip_var.h
ip.h
pim_var.h
pim.h
raw_ip.c Reduce in_pcbinfo_init() by two params. No users supply any flags to this 2017-05-15 21:58:36 +00:00
sctp_asconf.c Remove unused function. 2017-09-27 13:05:23 +00:00
sctp_asconf.h Remove unused function. 2017-09-27 13:05:23 +00:00
sctp_auth.c Use memset/memcpy instead of bzero/bcopy. 2017-07-19 14:28:58 +00:00
sctp_auth.h
sctp_bsd_addr.c
sctp_bsd_addr.h
sctp_cc_functions.c
sctp_constants.h Code cleanup, not functional change. 2017-10-14 10:02:59 +00:00
sctp_crc32.c
sctp_crc32.h
sctp_dtrace_declare.h
sctp_dtrace_define.h
sctp_header.h
sctp_indata.c Fix a signed/unsigned warning. 2017-10-18 21:08:35 +00:00
sctp_indata.h
sctp_input.c Fix a bug introduced in r324638. 2017-10-18 18:56:56 +00:00
sctp_input.h
sctp_lock_bsd.h
sctp_os_bsd.h Remove code not used on any platform currently supported. 2017-09-16 21:26:06 +00:00
sctp_os.h
sctp_output.c Code cleanup, not functional change. 2017-10-14 10:02:59 +00:00
sctp_output.h Code cleanup, no functional change. 2017-09-21 11:56:31 +00:00
sctp_pcb.c Add missing socket lock. 2017-09-22 06:07:47 +00:00
sctp_pcb.h Remove code not used on any platform currently supported. 2017-09-16 21:26:06 +00:00
sctp_peeloff.c
sctp_peeloff.h
sctp_ss_functions.c Fix the explicit EOR mode. If the final messages is not complete, send 2017-07-20 11:09:33 +00:00
sctp_structs.h
sctp_syscalls.c Correct sysent flags for dynamically loaded syscalls. 2017-07-14 09:34:44 +00:00
sctp_sysctl.c Export the UDP encapsualation port and the path state. 2017-09-12 21:08:50 +00:00
sctp_sysctl.h
sctp_timer.c Don't set the DF-bit on timer based retransmissions. 2017-04-29 09:57:27 +00:00
sctp_timer.h
sctp_uio.h Export the UDP encapsualation port and the path state. 2017-09-12 21:08:50 +00:00
sctp_usrreq.c Fix locking issues found by Coverity scanning the usrsctp library. 2017-09-09 20:44:56 +00:00
sctp_var.h Use consistently uint32_t for mtu values. 2017-04-26 19:26:40 +00:00
sctp.h Remove code not used on any platform currently supported. 2017-09-16 21:26:06 +00:00
sctputil.c Code cleanup, not functional change. 2017-10-14 10:02:59 +00:00
sctputil.h Code cleanup, not functional change. 2017-10-14 10:02:59 +00:00
siftr.c
tcp_debug.c
tcp_debug.h
tcp_fastopen.c
tcp_fastopen.h
tcp_fsm.h
tcp_hostcache.c
tcp_hostcache.h
tcp_input.c Declare more TCP globals in tcp_var.h, so that alternative TCP stacks 2017-10-11 20:36:09 +00:00
tcp_lro.c Flush the LRO ctrl as soon as lro_mbufs fills up. There is no need to 2017-04-24 22:35:00 +00:00
tcp_lro.h
tcp_offload.c
tcp_offload.h
tcp_output.c Declare more TCP globals in tcp_var.h, so that alternative TCP stacks 2017-10-11 20:36:09 +00:00
tcp_pcap.c
tcp_pcap.h
tcp_reass.c There is no good reason for TCP reassembly zone to be UMA_ZONE_NOFREE. 2017-05-10 23:32:31 +00:00
tcp_sack.c Declare more TCP globals in tcp_var.h, so that alternative TCP stacks 2017-10-11 20:36:09 +00:00
tcp_seq.h
tcp_subr.c Listening sockets improvements. 2017-06-08 21:30:34 +00:00
tcp_syncache.c The soisconnected() call removed from syncache_socket() in r307966 was 2017-10-01 23:37:17 +00:00
tcp_syncache.h Fix the ICMP6 handling for TCP. 2017-06-03 21:53:58 +00:00
tcp_timer.c Declare pmtud_blackhole global variables in tcp_timer.h, so that 2017-10-06 20:33:40 +00:00
tcp_timer.h Declare pmtud_blackhole global variables in tcp_timer.h, so that 2017-10-06 20:33:40 +00:00
tcp_timewait.c Forgotten bits in r324179: Include sys/syslog.h if INVARIANTS is not defined 2017-10-02 09:45:17 +00:00
tcp_usrreq.c Ensure inp_vflag is consistently set for TCP endpoints. 2017-08-18 07:27:15 +00:00
tcp_var.h Declare more TCP globals in tcp_var.h, so that alternative TCP stacks 2017-10-11 20:36:09 +00:00
tcp.h
tcpip.h
toecore.c
toecore.h
udp_usrreq.c Reduce in_pcbinfo_init() by two params. No users supply any flags to this 2017-05-15 21:58:36 +00:00
udp_var.h
udp.h
udplite.h