Date: Mon, 08 Jun 2026 22:50:04 +0000 From: Mark Johnston <markj@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: acf0be6e5192 - main - ip6: Drop dead code in ip6_input_hbh() Message-ID: <6a27471c.23c43.33d849da@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=acf0be6e5192c8b1ae2c9a71d86828daf12317b2 commit acf0be6e5192c8b1ae2c9a71d86828daf12317b2 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2026-06-08 22:45:44 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2026-06-08 22:49:51 +0000 ip6: Drop dead code in ip6_input_hbh() After commit 069a67374ed9, ip6_input() quickly rejects packets with plen == 0, before ip6_input_hbh() is called. So, there is no need to check this condition again in the helper function. Reviewed by: pouria, zlei, tuexen Differential Revision: https://reviews.freebsd.org/D57342 --- sys/netinet6/ip6_input.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c index 0dae879c1bd5..426b81dc9c03 100644 --- a/sys/netinet6/ip6_input.c +++ b/sys/netinet6/ip6_input.c @@ -421,24 +421,9 @@ ip6_input_hbh(struct mbuf **mp, uint32_t *rtalert, int *off, goto out; /* m have already been freed */ } - /* adjust pointer */ m = *mp; ip6 = mtod(m, struct ip6_hdr *); - /* - * If the payload length field is 0 and the next header field indicates - * Hop-by-Hop Options header, then a Jumbo Payload option MUST be - * included. We no not support Jumbo Payloads so report an error. - */ - if (ip6->ip6_plen == 0) { - IP6STAT_INC(ip6s_badoptions); - in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_discard); - in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_hdrerr); - icmp6_error(m, ICMP6_PARAM_PROB, - ICMP6_PARAMPROB_HEADER, - (caddr_t)&ip6->ip6_plen - (caddr_t)ip6); - goto out; - } /* ip6_hopopts_input() ensures that mbuf is contiguous */ hbh = (struct ip6_hbh *)(ip6 + 1); *nxt = hbh->ip6h_nxt; @@ -760,8 +745,11 @@ passin: * We don't support Jumbograms, reject packets with plen == 0 as early * as we can. */ - if (plen == 0) + if (__predict_false(plen == 0)) { + IP6STAT_INC(ip6s_tooshort); + in6_ifstat_inc(rcvif, ifs6_in_hdrerr); goto bad; + } /* * Disambiguate address scope zones (if there is ambiguity).home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a27471c.23c43.33d849da>
