From nobody Mon Feb 21 19:03:58 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 1929119DFFFF; Mon, 21 Feb 2022 19:03:59 +0000 (UTC) (envelope-from git@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) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4K2WtR0BnRz3j4C; Mon, 21 Feb 2022 19:03:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1645470239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tK6H1pA0RcAU//irqUIKsSVy22Ii7iNUVS4avLOGmIE=; b=DTjMDUlRggAveokGe79dZQalqchrHJYleCIpHIJCqaARJgaoMKtHOYPk67OeuVz1j2zQ5p WMcXRd7EZylQg10hmm75t9OVZXDCDYVsjCxnHi9C3Qkpt+S59qNbNCnlA5BQGfXkYgXJAk thWk5goCFX1W+xmxVsFmlSKURn8+p1DJIUZ38YqfIX36/C236niwJ80B+bah1bjSGKBU/2 yOE3o769/MU+g0/zDLGuBhsuZeX2OPcPP/Av/Had/FV7NlBu9s2mtLBqsNcpyNTwAE/FAb I2h9QOqRN+avWtZNTtn64V3L/v0AIdyq/UX1+WKH08aPiRk0WK0bDwF2jNKFiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DB09115DC8; Mon, 21 Feb 2022 19:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 21LJ3wwr024381; Mon, 21 Feb 2022 19:03:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 21LJ3wOO024380; Mon, 21 Feb 2022 19:03:58 GMT (envelope-from git) Date: Mon, 21 Feb 2022 19:03:58 GMT Message-Id: <202202211903.21LJ3wOO024380@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 36637dd19dba - main - bridge: Don't share broadcast packets List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 36637dd19dba79088e53c6f2aa026415eae9f8f0 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1645470239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tK6H1pA0RcAU//irqUIKsSVy22Ii7iNUVS4avLOGmIE=; b=ipqapBGSA85OTlT6RxZIBTAzI3YBe9nIgc531gvnxpR6gzEmRa8uMQ6bitJT2CmX4VWARx 2Q6t0k7k8Z90OVPeKUVB+K1oYA361qJrI/IubF2GMpCZcA3VrdBu4/czq2jHdc46CikN+3 XlgdUscRKzM6Y1WtNswoI4J1gMTy6Ea5JfDZMmBMc8qnbWPODnpRB9PxAVpgYwLx1652uP QMgVc0qsBgO5fdqf3upp/zvQj0CTrDGS3ri9BXFg2jtmgTNLEi28v6Gqf/7ECKS0KjfrAW /JoJUiOQNqb6m66rHA4js6DbFN3lbO9YSO5JzrvcQ546RPfIAHY0sbKVE9PPug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1645470239; a=rsa-sha256; cv=none; b=TfsAQGpjAQruMB51piPQWX5GIFDy1SdUYyObm/A2S6/zqr6Cc1E55rMJqqBUIuXtrjZa9o dZYM3qul3UE+2Gdb+fytBfm0jyp1JP8ldW1+6C7+8jPMk/ysBakF+rkeARAkAw67QzB2Ss M2eV2TteX2teKJpXaYgtKZ44byuiT8IDf6RbWMAPbwbfrOOSEDJFETOFSCBOyY7f2TAj4x AUr5UnSYjQUVGW5ckOdfzrHO7cA6GhD2HCIeOQ/bkrCtWLaTFr6ctmUh8BPEqcPYxQzdY1 NhF8FgrswtQq9EvcTUQAxWw4BMVyp4aCYIT1ftfpKMEzumih0YFrg+flkiqi4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=36637dd19dba79088e53c6f2aa026415eae9f8f0 commit 36637dd19dba79088e53c6f2aa026415eae9f8f0 Author: Kristof Provost AuthorDate: 2022-02-19 15:34:31 +0000 Commit: Kristof Provost CommitDate: 2022-02-21 18:03:44 +0000 bridge: Don't share broadcast packets if_bridge duplicates broadcast packets with m_copypacket(), which creates shared packets. In certain circumstances these packets can be processed by udp_usrreq.c:udp_input() first, which modifies the mbuf as part of the checksum verification. That may lead to incorrect packets being transmitted. Use m_dup() to create independent mbufs instead. Reported by: Richard Russo Reviewed by: donner, afedorov MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D34319 --- sys/net/if_bridge.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 703a76086c55..12c807fe2009 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -2176,7 +2176,7 @@ bridge_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *sa, used = 1; mc = m; } else { - mc = m_copypacket(m, M_NOWAIT); + mc = m_dup(m, M_NOWAIT); if (mc == NULL) { if_inc_counter(bifp, IFCOUNTER_OERRORS, 1); continue; @@ -2737,7 +2737,7 @@ bridge_span(struct bridge_softc *sc, struct mbuf *m) if ((dst_if->if_drv_flags & IFF_DRV_RUNNING) == 0) continue; - mc = m_copypacket(m, M_NOWAIT); + mc = m_dup(m, M_NOWAIT); if (mc == NULL) { if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); continue;