From nobody Mon Aug 3 20:45:30 2026 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 4hDTG309cjz6my6X for ; Mon, 03 Aug 2026 20:45:31 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hDTG26dXJz4LhG for ; Mon, 03 Aug 2026 20:45:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785789930; 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=F78f+GYGrgVx8YrAkijKw7zsq1Si9ERvtiubFgSWdMc=; b=Z75a3VEwD1tFNM6wq8mC5w0jEgs2qLEgxpgMklgL4lwEtMFNsVTXsE3UgNZ+DnOquzQdpF 0cekjfbPt8FHSijiImIt5XT29M8Gafn79F3D4r2pAUj4eEiVm7khuGhFj7A/R120EWCxKm nkvppL8JMaqgFf7VqFy3+BJiWEsrKWMw4K20GlrujVhPDNtGlsCpsCCzfQhGLICP39S5Ij gouZOGEPc9jK1dA+RjbbxNoOebSaK0Hb6/m2wfz/DJ1zucGsP6arcHoEIMB2QUAp6XWcZd 42FU6tEqEvf7THwbu1txk8lXuu4sGbLJCyq31GdcHLUNIYfW1svfEi/V0faqiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785789930; a=rsa-sha256; cv=none; b=QHXdToEPROBNAdzDs8Wk/IOnogf8qwcKxO8bYEGK2CKiE1zvVEneZubBpX5tew6iVHvuI9 fS+LMpF5DKKsbxLCJhrU5BtFe3W8thTLvIvBvAFhSBcfNoDHFHIHWm6Ms4doi/A5VtbxMl QNpHhxymz6gKwqyf3Ef9V8gWYikTBEMGbIUk7Yj+gPoHIt3OBX1482FmtFNePgIzTl0H+j D/1njZPuE1bBhmsMwokcVBa1JowpnDDw0g3a5DEGgZ36hsVBk7kMIuFFas2lXrBjBx4nto FlmV8amhLJW1C2nLhSAObwMK3EUlGwINWiT8XL8CIhXinlOamihEPbQFcnUNZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785789930; 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=F78f+GYGrgVx8YrAkijKw7zsq1Si9ERvtiubFgSWdMc=; b=lsZUUDYn6LFvY8C/sw7Ng7OjWW38iYpQrJobpbGLRFmslC78f74Vp70oBtnY7IbGsoit0L 6AuIHy9tt6syxgnJicc5PbhEqlC/NM+MYQysBdpj0qahtPbGx2ru520QKYCQ6HUg83rAkw apG6zfyVJzJR0I7XKpUFXwF8H28DtlNG0DVcDFCCD2sUaMK8bqhQHIT3qOQs1uRO69C43p cRz1w0aFnIWJAuL+BX6nGD03MuOguIOqAjrdyNMJpav22Kkvo4pZn6Qq3WiHn9I6OIxJJB DQAVd3f6jnuqOxsm8sb1zhXyPFPSnoFFfibl8wqlO514gcth4+euDGjYM53oVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hDTG25XLhz2Pk for ; Mon, 03 Aug 2026 20:45:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37610 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 03 Aug 2026 20:45:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Ariel Ehrenberg From: Konstantin Belousov Subject: git: 9f071039ca34 - main - sys/ofed: fix GID table reference leak in roce_gid_update_addr_callback() 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: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f071039ca34801fee7727106e23b824e98ed4a9 Auto-Submitted: auto-generated Date: Mon, 03 Aug 2026 20:45:30 +0000 Message-Id: <6a70fdea.37610.3785a000@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9f071039ca34801fee7727106e23b824e98ed4a9 commit 9f071039ca34801fee7727106e23b824e98ed4a9 Author: Ariel Ehrenberg AuthorDate: 2026-07-22 22:03:40 +0000 Commit: Konstantin Belousov CommitDate: 2026-08-03 20:38:47 +0000 sys/ofed: fix GID table reference leak in roce_gid_update_addr_callback() The "add missing GIDs" loop uses rdma_find_gid_by_port() to test whether a GID already exists, but forgets to drop the reference it returns. So every rescan that finds an existing GID leaks one, which pins the entry and prevents its slot from ever being freed on delete. Just release the reference once the GID is found, like the "remove stale GIDs" loop already does. Reported by: Wafa Hamzah Reviewed by: kib, jhb Sponsored by: Nvidia networking Fixes: 6a75471dbcf0 ("OFED: Various changes from Linux 4.19") Differential revision: https://reviews.freebsd.org/D58511 --- sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c b/sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c index e346f477d719..e24a6645e8e4 100644 --- a/sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c +++ b/sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c @@ -260,8 +260,10 @@ roce_gid_update_addr_callback(struct ib_device *device, u8 port, /* check if entry found */ sgid_attr = rdma_find_gid_by_port(device, &gid, i, port, entry->ndev); - if (!IS_ERR(sgid_attr)) + if (!IS_ERR(sgid_attr)) { + rdma_put_gid_attr(sgid_attr); break; + } } if (i != IB_GID_TYPE_SIZE) continue;