From owner-svn-src-stable-11@freebsd.org Sat Jan 11 01:15:40 2020 Return-Path: Delivered-To: svn-src-stable-11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 22CED1F882B; Sat, 11 Jan 2020 01:15:40 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47vhk40BFCz4NCL; Sat, 11 Jan 2020 01:15:40 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 016BB22D81; Sat, 11 Jan 2020 01:15:40 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 00B1FdC0002618; Sat, 11 Jan 2020 01:15:39 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 00B1FdjY002614; Sat, 11 Jan 2020 01:15:39 GMT (envelope-from bz@FreeBSD.org) Message-Id: <202001110115.00B1FdjY002614@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Sat, 11 Jan 2020 01:15:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r356623 - in stable/11/sys: netinet netinet6 X-SVN-Group: stable-11 X-SVN-Commit-Author: bz X-SVN-Commit-Paths: in stable/11/sys: netinet netinet6 X-SVN-Commit-Revision: 356623 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Jan 2020 01:15:40 -0000 Author: bz Date: Sat Jan 11 01:15:38 2020 New Revision: 356623 URL: https://svnweb.freebsd.org/changeset/base/356623 Log: MFC r354643: netinet*: update *mp to pass the proper value back In ip6_[direct_]input() we are looping over the extension headers to deal with the next header. We pass a pointer to an mbuf pointer to the handling functions. In certain cases the mbuf can be updated there and we need to pass the new one back. That missing in dest6_input() and route6_input(). In tcp6_input() we should also update it before we call tcp_input(). The merge is extracted of a larger change in head. PR: 240135 Reported by: prabhakar.lakhera gmail.com Modified: stable/11/sys/netinet/tcp_input.c stable/11/sys/netinet6/dest6.c stable/11/sys/netinet6/icmp6.c stable/11/sys/netinet6/route6.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netinet/tcp_input.c ============================================================================== --- stable/11/sys/netinet/tcp_input.c Sat Jan 11 00:11:29 2020 (r356622) +++ stable/11/sys/netinet/tcp_input.c Sat Jan 11 01:15:38 2020 (r356623) @@ -558,6 +558,7 @@ tcp6_input(struct mbuf **mp, int *offp, int proto) if (ia6) ifa_free(&ia6->ia_ifa); + *mp = m; return (tcp_input(mp, offp, proto)); } #endif /* INET6 */ Modified: stable/11/sys/netinet6/dest6.c ============================================================================== --- stable/11/sys/netinet6/dest6.c Sat Jan 11 00:11:29 2020 (r356622) +++ stable/11/sys/netinet6/dest6.c Sat Jan 11 01:15:38 2020 (r356623) @@ -116,6 +116,7 @@ dest6_input(struct mbuf **mp, int *offp, int proto) } *offp = off; + *mp = m; return (dstopts->ip6d_nxt); bad: Modified: stable/11/sys/netinet6/icmp6.c ============================================================================== --- stable/11/sys/netinet6/icmp6.c Sat Jan 11 00:11:29 2020 (r356622) +++ stable/11/sys/netinet6/icmp6.c Sat Jan 11 01:15:38 2020 (r356623) @@ -861,6 +861,7 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) /* deliver the packet to appropriate sockets */ icmp6_rip6_input(&m, *offp); + *mp = m; return IPPROTO_DONE; freeit: Modified: stable/11/sys/netinet6/route6.c ============================================================================== --- stable/11/sys/netinet6/route6.c Sat Jan 11 00:11:29 2020 (r356622) +++ stable/11/sys/netinet6/route6.c Sat Jan 11 01:15:38 2020 (r356623) @@ -108,5 +108,6 @@ route6_input(struct mbuf **mp, int *offp, int proto) } *offp += rhlen; + *mp = m; return (rh->ip6r_nxt); }