From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2570388868 for ; Sun, 9 Aug 2026 03:28:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786246099; cv=none; b=ragICmn5+u21TJYG/ztOfqZHp9GxGrD7+jDKTrz/vA27VKDvkQohZaYQdorZBLQMyzAQeEKmfDa1Pca5IfTeceBfkBDrNXrk04BMfQAifTu4s0cmgtss4dk32KHnQ6PfEUscbAOOilfTfCfZpdL7IB10O0wzRDGU+bpnjYfNlEQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786246099; c=relaxed/simple; bh=EUTWRYIkv/eb/Z386B6IxzwAsVtI3sCcs16queTkXnw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NeLBKS4/3MiwgzJpWe+ol2FJ46fWw2FbchwWd1a445MX5SEH+ZDt1vVgIdbjIifKqrpVy59Q4j4oL4THR1GZ1Ee2i6NtDP8kqaCVxasOX6hKoS/gICo1h2DhZ6NrBhavbFOigxax78MO+w3o8OPWkajhzOOQl69t0OPovdCjETk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GbHWXW4c; arc=none smtp.client-ip=209.85.216.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GbHWXW4c" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-38125cebfdaso1008465a91.1 for ; Sat, 08 Aug 2026 20:28:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786246097; x=1786850897; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=htQ3Nh4NK5zZ2RbZHHLwjMu5TBvqvLaS/zwT9S8pras=; b=GbHWXW4cTdlH2njj7u9Tb3WW8C+pb4FRQC8QmMTUxgtuj7gaIXBKrnAKn63gMe0VYU 0JMnUmXmpJCZiu71/Nj1flwexmGsZ6itwDXVIqcUgAuSM4GGHjc1vkKo5fHQLIGhWzlF qLQtE5cBso1qJAbmuUs4M9mF7GhElH1fZVdEHQpZmUrAdVcePXvvLq+LlDM66SpEiViC x8PzPWe1Z2Bm0WzgOomLJXoURsgUCJhY9lOiH6TxF/eYwrU1ZyTcCNJbJ8HIGSvGXp4X eYzFjtdD2SIsMdFXQxKomzisonq+Zckty/rpwBkmY/0SDEPWU76VnK0rR4L8KskA+yD7 BT/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786246097; x=1786850897; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=htQ3Nh4NK5zZ2RbZHHLwjMu5TBvqvLaS/zwT9S8pras=; b=EnNOPIg4FdaIqJBQ6TivjXHziRfIjRDLUiR/56DAmeU3VtdozYEWATQxinLEDnZ7LV jdVurx1/7Kq3Men+fKlf1aXRlKCJRQeZ3hf1p1mVLudz1GAcLhVyM6+T2iDF7VCJr1oE NeUztFoByCzdMLVbOmKh3s5/fgs2d7dR4gCYyjaDG71l/z8uw3IMeLCzLYk2t9oBLN7B vnYxmHSADD525FjTXWKPW8rJCvQ6DvL+M55IaIbSl1h2yFV3KlwGgnLOp1Pjjo0CZK3j 7QEL1JGGs3O+c8r1p1q4n3oAU464NKVND5ZLSayLu7hvXUzdvIL/IfST2aL/DYoLdzn9 F8vA== X-Forwarded-Encrypted: i=1; AHgh+RpNCxOPuyM7wGvVzCtdMbuJ43P1BDp89Xmms+iE8Y0zdvIakmMzgRb/idA75u80gkRRrKfOqK4e2NpzWoQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzQ0YtEOqe6Ie6qRbtahpmUvniOzFksDLoClI1EAwo6A0IgsEg/ 0RUwBvP/ysoaipV5hWqSFrMj6iIn8BnMxQr42qnH6yBHLJYUI46WJnxP X-Gm-Gg: AR+sD10q/MwkEpmvax6dqzmmiR44vVzW3ZiVTkaPgFRnwduUWftzScsaLKyC52uihPV VXGxQ4pTI4xbUW9yPtuDUk0/NhBUFJBXTa5kffmZOx7D9wUWs5yJCKQyKC9Yj7gMuIwB2Sp3tZ9 pU/UGo57ndJ8JMPRLSyJm5nACTy4RFWPOBIwVZKa9dLbRzEox7jJVGkAAba7J+Kfu3gaBOrgsXY 5WRMj9DO7JZwba6dyeFw1vW2n0Zesq3jEriApYgLq267Ppj+O0BOimJZWDGo5lP1sQ05raYuL+L JqvzctXMhuorAJ3VjzdRWVPrXM+ucDnVyVxeSLoFtFE80lUZG+KqZO2WnVkI/dbe4xa8Oq6Nd8/ c49owJ91a0Ben+j9CIuO8oWNsmghNaBCtlSptGRNl5f77URSPzsonF5AZa83nGjoGpgL5LsCZN1 0phixILH1SoY8y9gyJB457fTK18pUGURjef1EvGDeWM9+M5AYtuOv4/HnIx16ZjvlgWCBGs64LB KLzy80tmwCmvBJJsMcfYi5zjHegbIEbp4SORyCBE4u4475Gl36YeNowRgcGmbLxyKo4aSdHkA== X-Received: by 2002:a17:90b:2545:b0:38e:49c0:75a7 with SMTP id 98e67ed59e1d1-39261feb6a2mr16196173a91.8.1786246096980; Sat, 08 Aug 2026 20:28:16 -0700 (PDT) Received: from homelab1-WRX80-Creator.localdomain (p790255fa.sitmnt01.ap.so-net.ne.jp. [121.2.85.250]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3926254ee45sm7587626a91.2.2026.08.08.20.28.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Aug 2026 20:28:16 -0700 (PDT) From: Shuhei Takeshita To: dennis.dalessandro@cornelisnetworks.com, jgg@ziepe.ca, leon@kernel.org Cc: linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, dean.luick@cornelisnetworks.com, Shuhei Takeshita , stable@vger.kernel.org Subject: [PATCH 1/2] IB/hfi1: Resolve the credit-return buffer through the send context's node Date: Sun, 9 Aug 2026 12:27:42 +0900 Message-ID: <20260809032743.2671579-2-jyohuku.alterego@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260809032743.2671579-1-jyohuku.alterego@gmail.com> References: <20260809032743.2671579-1-jyohuku.alterego@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit hfi1_file_mmap()'s PIO_CRED case derives this context's credit-return page offset, and the DMA handle for it, from dd->cr_base[uctxt->numa_id]. uctxt->numa_id is the node of whichever CPU the process happened to be running on, but the entry itself lives in the credit-return allocation of the send context's own node: sc->hw_free = &sc->dd->cr_base[sc->node].va[gc].cr[index]; and user send contexts are allocated with sc_alloc(dd, SC_USER, ..., dd->node), the HFI-local node. On a multi-socket host with the process running off that node the two allocations differ, so the subtraction produces an offset into an unrelated buffer and the DMA handle belongs to the wrong allocation. Use the send context's own node for all three references. The continuation lines are reindented at the same time; they mixed spaces and tabs. Fixes: 7724105686e7 ("IB/hfi1: add driver files") Cc: stable@vger.kernel.org Signed-off-by: Shuhei Takeshita --- drivers/infiniband/hw/hfi1/file_ops.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/hw/hfi1/file_ops.c b/drivers/infiniband/hw/hfi1/file_ops.c index 56031becb..e05f3c255 100644 --- a/drivers/infiniband/hw/hfi1/file_ops.c +++ b/drivers/infiniband/hw/hfi1/file_ops.c @@ -382,10 +382,10 @@ static int hfi1_file_mmap(struct file *fp, struct vm_area_struct *vma) * of enabled contexts > 64 and 128 respectively). */ cr_page_offset = ((u64)uctxt->sc->hw_free - - (u64)dd->cr_base[uctxt->numa_id].va) & - PAGE_MASK; - memvirt = dd->cr_base[uctxt->numa_id].va + cr_page_offset; - memdma = dd->cr_base[uctxt->numa_id].dma + cr_page_offset; + (u64)dd->cr_base[uctxt->sc->node].va) & + PAGE_MASK; + memvirt = dd->cr_base[uctxt->sc->node].va + cr_page_offset; + memdma = dd->cr_base[uctxt->sc->node].dma + cr_page_offset; memlen = PAGE_SIZE; flags &= ~VM_MAYWRITE; flags |= VM_DONTCOPY | VM_DONTEXPAND; -- 2.43.0