freebsd-dev/sys/netinet6
Alexander V. Chernikov 6468b6b23e nd6: fix panic in lltable_drop_entry_queue()
nd6_resolve_slow() can be called without mbuf. If the LLE entry
 is not reachable, nd6_resolve_slow() will add this NULL mbuf to
 the holdchain via lltable_append_entry_queue, which will "append"
 NULL to the end of the queue (effectively no-op) and bump la_numhold
 value. When this entry gets freed, the kernel will panic due to the
 inconsistency between the amount of mbufs in the queue and the value
 of la_numhold.

Fix the panic by checking of mbuf is not NULL prior to inserting it
 into the holdchain.

Reported by:	kib
MFC after:	3 days
2023-01-15 15:22:42 +00:00
..
dest6.c
frag6.c frag6: use callout(9) directly instead of pr_slowtimo 2022-08-17 11:50:31 -07:00
icmp6.c pf: apply the network stack's ICMP rate limiting to ICMP errors sent by pf 2022-10-14 10:36:16 +02:00
icmp6.h
in6_cksum.c
in6_fib_algo.c
in6_fib.c routing: refactor private KPI 2022-08-01 10:02:12 +00:00
in6_fib.h
in6_gif.c
in6_ifattach.c
in6_ifattach.h
in6_jail.c sysent: Get rid of bogus sys/sysent.h include. 2022-05-28 20:52:17 +03:00
in6_mcast.c Correct IPv6 MLD group state string table 2022-09-19 09:01:36 -04:00
in6_pcb.c tcp: embed inpcb into tcpcb 2022-12-07 09:00:48 -08:00
in6_pcb.h netinet*: de-void control input IP protocol methods 2022-10-03 20:53:04 -07:00
in6_proto.c netinet*: add back necessary headers 2022-10-26 08:16:44 -07:00
in6_rmx.c routing: add nhop(9) kpi. 2022-08-01 08:52:26 +00:00
in6_rss.c
in6_rss.h
in6_src.c netinet6: simplify selectroute() 2022-07-08 11:27:16 +00:00
in6_var.h netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
in6.c netinet6: factor interface addition code to the dedicated function 2022-09-27 13:23:34 +00:00
in6.h in6: Consolidate IN6_ARE_ADDR_EQUAL definitions 2022-11-02 13:46:24 -04:00
ip6_ecn.h
ip6_fastfwd.c net: employ newly added pfil_mbuf_{in,out} where approriate 2022-09-08 16:21:08 +00:00
ip6_forward.c net: employ newly added pfil_mbuf_{in,out} where approriate 2022-09-08 16:21:08 +00:00
ip6_gre.c udp: allow udp_tun_func_t() to indicate it did not eat the packet 2022-04-12 10:04:59 +02:00
ip6_id.c
ip6_input.c netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
ip6_mroute.c raw ip: fix regression with multicast and RSVP 2022-09-02 12:17:09 -07:00
ip6_mroute.h
ip6_output.c sys: Nuke double-semicolons 2022-11-02 09:34:20 -06:00
ip6_var.h netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
ip6.h
ip_fw_nat64.h
ip_fw_nptv6.h
mld6_var.h mld6: use callout(9) directly instead of pr_slowtimo, pr_fasttimo 2022-08-17 11:50:31 -07:00
mld6.c inet6: Fix LINT build 2022-12-20 15:23:49 -05:00
mld6.h
nd6_nbr.c carp: fix regression panic from ccd69bd573 2022-10-17 11:39:40 -07:00
nd6_rtr.c Revert "routing: install prefix and loopback routes using new nhop-based KPI." 2022-08-29 16:20:42 +00:00
nd6.c nd6: fix panic in lltable_drop_entry_queue() 2023-01-15 15:22:42 +00:00
nd6.h netinet6: fix SIOCSPFXFLUSH_IN6 by skipping manually-configured prefixes 2022-08-24 13:59:13 +00:00
pim6_var.h
pim6.h
raw_ip6.c netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
raw_ip6.h
route6.c
scope6_var.h
scope6.c ifnet_byindex() actually requires network epoch 2021-12-06 09:32:31 -08:00
sctp6_usrreq.c sctp: minor changes due to upstreaming of Glebs recent changes 2022-11-06 23:06:40 +01:00
sctp6_var.h sctp: minor changes due to upstreaming of Glebs recent changes 2022-11-06 23:06:40 +01:00
send.c protosw: refactor protosw and domain static declaration and load 2022-08-17 11:50:32 -07:00
send.h
tcp6_var.h netinet*: de-void control input IP protocol methods 2022-10-03 20:53:04 -07:00
udp6_usrreq.c udp6: fix build with INET6 and without INVARIANTS 2022-12-07 12:27:15 -08:00
udp6_var.h netinet*: de-void control input IP protocol methods 2022-10-03 20:53:04 -07:00