From nobody Mon Aug 3 20:45:31 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 4hDTG44KZPz6mydH for ; Mon, 03 Aug 2026 20:45:32 +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 4hDTG41d5Lz4LYR for ; Mon, 03 Aug 2026 20:45:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785789932; 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=cSn6S1MrxEMXqxf7Ad2fovQ2Fhije53XRDKuHtQlBPo=; b=EXFfFg7rTe/qp+PTeBlT5Qvk9VAfYlOccXfdasAQvbEskvEq7iXzQ8bRBWHiIb/nxQCDyv 1IF1eSd3BrjcK8agzUJRTntQ563L8Og40jB1xuohUegc/dXrtz9e7BSatpUdYQLjzrY5IE Hvmx+kn74vCR6vzFJ+Fbo9a1S286ycZVKJksnF6PMWn/YZyNxA5E14zi6YVJrbucMICB80 aIKEKsfjsennXax0/tkMGGXyKU3PWJeQTamF5YzCEMV8Iv6pfWOzlAK+T+VTh8Mav1Kmk9 JI+6GAP0Gb3v1HgG9dBAj7+xkWYhLi0kLRYeJQhailJhSBCTo4HejKem74QDGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785789932; a=rsa-sha256; cv=none; b=EMpCEvYiohYCXAAr5vpncVEcjRTt/YNySmScxynVoVtx/WNSYdahRkWqGq3uBRXBOauuPa EcADbLib46YHlw1FmzIsng1foP1MBDLtMZ6CYPCNCxAF4B4rS3evw/0peNDqNYdARPpj// YCLGxKIFHXVhXXJzo5BnBlxnuWoWq1gLAuHAxTs5sJ95U+lUAdjP8fk6rpthJKoZ7U2Vv7 gkn7dgXp1gTaJIlYI3qECRgvuIfKV2xOIW5+rdYiIoqQ7Z1vbTPl2ZlIt7YzYq5hv9HoKM 8sprmOMP9uOkuV/BBkwa0LAiPNMd8PElH3Ow5s6drkU2Q9OD5GGNCKQftYRGRA== 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=1785789932; 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=cSn6S1MrxEMXqxf7Ad2fovQ2Fhije53XRDKuHtQlBPo=; b=DDpYxsII1vCUfRxYV0ROWsohzRBvayAKSM9jSiM5+l1OOVgFrL/ZIu2qMBOSXwCeKK6N2T qNbsh6Vzwd6VdseMsqm2nDKOfOLWdsjWRdDyy5nweUYfb9uAKUOCCXDaDwv9LdlC9WagVJ 44NnauhMVthUgKyKEGowrtpqMkFw3EqtDmDniTc41A6nKorH4AwBYWa1GaIskSSUhCqUma fWh/+NgzKU4IZFytMI7Q1S6UIa3nZu5vkmdOpWAhP4/4DsXJ8ykRnAEHnEVQJj9q7roT7c gZOzzBC7SN67XLnhLres+XfLdXeG5YAVepSDh29ijmK/9LFMexJZDiAzHjcCkA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hDTG36LFPz1gr for ; Mon, 03 Aug 2026 20:45:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36a95 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 03 Aug 2026 20:45:31 +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: d8afb9b13f41 - main - sys/ofed: don't stop removing stale RoCE GIDs at the first hole 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: d8afb9b13f4141dc42fb1eb1c7c6a45bd2cd0bc4 Auto-Submitted: auto-generated Date: Mon, 03 Aug 2026 20:45:31 +0000 Message-Id: <6a70fdeb.36a95.12915ee7@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d8afb9b13f4141dc42fb1eb1c7c6a45bd2cd0bc4 commit d8afb9b13f4141dc42fb1eb1c7c6a45bd2cd0bc4 Author: Ariel Ehrenberg AuthorDate: 2026-07-23 07:32:05 +0000 Commit: Konstantin Belousov CommitDate: 2026-08-03 20:38:49 +0000 sys/ofed: don't stop removing stale RoCE GIDs at the first hole When cleaning up stale GIDs the scan stopped as soon as rdma_get_gid_attr() failed. But that can also happen for empty entries in the middle of the table, so a single gap left everything after it behind and the GID entries could eventually run out. Now the whole table is scanned and the empty slots are simply skipped. Reviewed by: kib, jhb Sponsored by: Nvidia networking Fixes: 6a75471dbcf0 ("OFED: Various changes from Linux 4.19") Differential revision: https://reviews.freebsd.org/D58510 --- sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 e24a6645e8e4..d6d882dd59b3 100644 --- a/sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c +++ b/sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c @@ -213,6 +213,7 @@ roce_gid_update_addr_callback(struct ib_device *device, u8 port, union ib_gid gid; if_t ifp; int default_gids; + int gid_tbl_len; int i; struct ipx_queue ipx_head; @@ -271,13 +272,15 @@ roce_gid_update_addr_callback(struct ib_device *device, u8 port, update_gid(GID_ADD, device, port, &gid, entry->ndev); } + gid_tbl_len = device->port_immutable[port].gid_tbl_len; + /* remove stale GIDs, if any */ - for (i = default_gids;; i++) { + for (i = default_gids; i < gid_tbl_len; i++) { union ipx_addr ipx; sgid_attr = rdma_get_gid_attr(device, port, i); if (IS_ERR(sgid_attr)) - break; + continue; ndev = sgid_attr->ndev; gid = sgid_attr->gid;