From nobody Thu Oct 29 06:03:00 2026 X-Original-To: dev-commits-src-branches@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 4jFYYc702Nz6xrWH for ; Thu, 29 Oct 2026 06:03:00 +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) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jFYYc3KTwz4sBF for ; Thu, 29 Oct 2026 06:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793253780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZJMPAmq3d4ktwbfBJ9aO5iFONscr1ewNn1AswA2w4Gg=; b=V3CdNgoeX2BfgQTM06KEHzd5m/TVZXpG+WtC14aNb7qyGvnUlQ2ayyy4lXGdzW66TRclvp noX+lt6RJ4hm6KUT5xZN3ff84Nkn0tpimHb93qa1y287Jp8ooGKMEPrxcEripZtn5SkCpl /eHAQCXzT+euWzDxx9THRtGGSfp4g67g3YpWHpYT7hAkFXIcCao4QRqHGZOyYWuzLRzVb6 BGkQcwXijyeyOmHWM6p4tRsc72CDHGFGXclQXh9LDV6m4vd6uajBMOun0bsbCpPaPpLePs ic6qDP55fPpK17foRro0MdFVNQIK73GxvWm/aQkNU4ii61HSqLm0hA7+rLe3cw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793253780; b=MT2SLxh7f1grMK4P2lt0RtyNaJAlyAokoy6Wk2mFe+AIsUAmV08YfdnLObjkyLxUzJ1Dnn nu9Yj7NAWtZ+KEIi/0SGeGHFgi48YQFQb27li4R41mZDZOCixwu7wHGZba8tFfHLqLoKub 9PMENQm1UkgnfMW8BBAolN2uPY+CfwPlJiCnqE4XHXCm40UEpTTFES9lzA8gIwgbSOlmqy YVYwQY82xqg8T34KaI9eSQzRWQZi4rrVKuccB8L+bTig08UhRDyWScFEbZQlDsZVcGQlx/ MPEwT0ZUD3gpV1vPjnpoJSGcgbCillUsOxLDiKBUTg6Hw7DQtPIIn7Lvmo2DqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793253780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZJMPAmq3d4ktwbfBJ9aO5iFONscr1ewNn1AswA2w4Gg=; b=BZ8lEtbsZsH+hAoVhOAy/XoCWWIxrVtDM8qX0taXrIDCzjRP1JClD1XEFLkp9QTVJmapY9 7qL/7pmpx7GnpZSh2ZiVzRRJ2zJIIUWIJe21w2SePgBR/onJIdzqDDCniRGYlvcB9TzUgt Ee0ejd3oJe5R5KNOrUXYc5OeSxC3e1xqqIPq6Rd4l7X5jL2NkuFkxFOoJ9avpJgPR5/yPF N6o77pN8c1XgjdEO2q6WbEQ9DStzzy53rtT7pbXEfCYfjQ1TGuCBuIIlTc6CERczZcuXey 6PunlaRbaTD+cHACYyhd6PJMqEppzDahjBqndoaT/609MG0REP40FyswoCHqQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jFYYc2tfzzQq6 for ; Thu, 29 Oct 2026 06:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39cd2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 06:03:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Andrew Gallatin From: Kevin Bowling Subject: git: d8354b5bb56e - stable/15 - iflib: fix iflib_simple_transmit() when interface is down List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: Commits to the stable branches of the FreeBSD src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: d8354b5bb56e7cc6c48391bf638ca7647a1ce8ea Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 06:03:00 +0000 Message-Id: <6ae2e194.39cd2.5f5f04cf@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=d8354b5bb56e7cc6c48391bf638ca7647a1ce8ea commit d8354b5bb56e7cc6c48391bf638ca7647a1ce8ea Author: Andrew Gallatin AuthorDate: 2025-11-20 00:48:56 +0000 Commit: Kevin Bowling CommitDate: 2026-10-29 05:28:16 +0000 iflib: fix iflib_simple_transmit() when interface is down Use the same check as iflib_if_transmit() to detect when the interface is down and return the proper error code, and also free the mbuf. This fixes an mbuf leak when a member of a lagg is brought down (and probably many other scenarios). Sponsored by: Netflix (cherry picked from commit 896dc30bc9bc2f7407b04ca4c08f88b1c7bf9d60) --- sys/net/iflib.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 79a623db4e57..8f0b0a13bc6e 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -7571,9 +7571,13 @@ iflib_simple_transmit(if_t ifp, struct mbuf *m) ctx = if_getsoftc(ifp); - if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != - IFF_DRV_RUNNING) - return (EBUSY); + if (__predict_false((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0 + || !LINK_ACTIVE(ctx))) { + DBG_COUNTER_INC(tx_frees); + m_freem(m); + return (ENETDOWN); + } + txq = iflib_simple_select_queue(ctx, m); mtx_lock(&txq->ift_mtx); error = iflib_encap(txq, &m);