From nobody Mon Aug 3 20:45:30 2026 X-Original-To: dev-commits-src-main@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 4hDTG32BkMz6mydG 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 4hDTG26x95z4LVM 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=1785789931; 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=uC/xuus4sQEfV8fMaLzVeOZfp8YbS8pYHY6fl6ak4B03C6KLQ24vQupzUPVp+7QNRbKfXo CV8RKAYGGEIkhO6mjrbm4rLiYJVBEaqxqp+A/R4dq7uBXgwE6qAlaRJHaaJTTE3km/sgud SVpy3jmQWSnI8MFwZhfs6/RrA+oWFOGUqMOUF77GXI8+upSGcmgKeMtmM0a8hWB+dspIta eGfCgTi6UKOmkBdjWiTwn4O0uN+FhS7QRqqoZUvA+dLVNapC4WZgzXQ1HBhWJzun3M8SFg 6kRwWk1r/zIDDc+AQuGsp8LOvTZRgg2ol3CzLi8S4Zffdv8S+6EnhSt04SzDqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785789931; a=rsa-sha256; cv=none; b=MhPUEa52MQQ2siKdFlSNSdO7uEiNqBzHv02Jf2TpwcCtRIKiMmVgQK9/BjymerglGV8uUn NmNosQxG1X/nWXJLb2lM/fh1UzE+eojU90o4x1VCjh5GWtvYoomjdpnfKbTZDuEmgDUhYh WssAkrATEuzLnuarB0fQASWRSiYN93wNg69W5Pf92QVr7uDNyFOpjt1g7XmJi7wU3uMtuA cyZq82xZKbIys0PSErHnt9fa+krygpIjU7uKyo/GMwkccg601lbpbOVCUn8lVgKkgNzXxB bufZq5EW3qZ9EFeG33zSbSPS/L0GcWOKuH7kpX/B7iLQ1cb+T5C+G2vQ9XB5yg== 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=1785789931; 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=T7xLJNktnrMP8a3e6xBJkpi9LETDf85esCLQ+7u20xO1ZORKiZNbHN4vDcan+7KOz6SXUG Gv6FBg4Bu86TKK1GYvGUu5b/XFZiNP1yCP5mbRdF5lwd6VcbvoMWKdmtdMeN+irOA4Q4Pt 6iGDYJSkUOYFCUcsh2ePq+oI6Mum1poa4U2h9l2hKLGzXQ7e42PkF/qqu1bqHGMyHMpnZa DbIDUIrUujk38+TMtxIT/Jhwpai/1A7ZLJAh3guE7SlTBqMtLBOCquKIWy4a2QjiFpsRlY BLFNAejSq3Qr1yrApafutnskTHpmXDp7B2fdu/7xPC6TggI1FNnzl3Xg7q3O5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hDTG25Z6Xz1Ty 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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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;