From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (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 B35A03ACEFF for ; Mon, 1 Jun 2026 13:42:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780321333; cv=none; b=KduOYvzeWnKm2JpAN+2D4UUWV1wU3hIn9JML/29JU0FoBDoWvd2iEtuS+d8pPZsqXk8oQwX1ZHRTIUHQCih1jYwswHc1ZwbkYg8EswkYgrF6adIP/tw9Qt8/2beot0+sZPIRLcXk4X6D63b7Hm5hyt1IdSjY7fXvNaGxY8sdRfo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780321333; c=relaxed/simple; bh=0y/oGJrRC3jE45D5ExsR9EmSG6axfTipRPStNl6A4f4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=fTZesD1OPRgtII9BYQNXJoW4UttcoF5Ku+p54lFuZ5ahdGVbGqxjw8vlbUBmAfhw8BSOlLMSB/mmNekIp3CvJLwA+/sOjwv8hxTScqPye46Cu+rnn2L6oAeTvGFdJCnkeSWcq58NSpXWkaYm/SHyqdY9k47KeGyKZLmufaBB1VU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--praan.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=KZWr+L07; arc=none smtp.client-ip=209.85.214.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--praan.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="KZWr+L07" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2c0c20f7581so15648295ad.0 for ; Mon, 01 Jun 2026 06:42:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1780321331; x=1780926131; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=3cDewhvIRKNQtJoPSUw7b+ZCGblkR4c9l/2JildOedY=; b=KZWr+L07S+BUIlXXZqlz5hMeyz/47b9LimSjmNa7b4p1erXmwG7QUxzU0swHnwy5He nOuMEAuByE+kxACQmWGBSN2d9eqfaI1OWK7FLSMk0j/HmPKvqkv1Y+ps5E5Br4R4TFSi eL8R+qA6K/taKGq5bdBU8e+Pe6Oq4mWA7ABrA45WMJ3EJmV4jdMgnAXjgLBm0PMcTb4p Go7JCZd/snBkarn84WFAwOPZuUROSfezUMYoI1RGckJO3iqw1sz+I+rHGKyrXx3PAgaG 1aBQYcVinNqmTKYxACLCMsH5+VBFftviPB9WHWX7RBZq1T4SzGd1cjKDQbVE058WnLsS s0Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780321331; x=1780926131; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3cDewhvIRKNQtJoPSUw7b+ZCGblkR4c9l/2JildOedY=; b=PpmvwIXD/Uyvd4Jqrsu4ZbiiB1QsdwAX0CVYdgOsv/8iql/F7v1MM/ANCe6GrH4c4r e92A+KYZK7LiJ+1kG3BfBZK6RoyjqR0ndsEt8jIIzZlG9Bb+gJlhx0u57ykKXd55/oPo c/C9fclexZ7vMNCCAgD1B3t0+gPrJj9qpATny1dmmZyuBPzDRsKkldTXjdVt7ESeGpoy LSWmrnoNOzPa6ZHaocd/1rofcBsiJIaiQQI6X1PpFfulMoIcJ6EhKfb565kO6JVR2cpU a/q+BZi0sIxaLGqldmgTsnGc3ZzvF2YCjaPbFMHQ/xTGBnqt8hB4JyNkWYHVBpYsSzZ5 Ia2w== X-Forwarded-Encrypted: i=1; AFNElJ9AIwkV+iL07VQ8g9qdXKSSfnMBC4uPIxZ+YNp0OqnYG2vz30P6N6Pmra1KUmKm/t0Ggqm85BAZajCLTfU=@vger.kernel.org X-Gm-Message-State: AOJu0YxmXzY8jbdP0XUc4tpV21hDPT/oSv60d9shNjJ10N5hhMc92bj1 t52VNSxoBADepha97Q86NSliwZXP+ei8N9bo1gYZAqSDIM+3icaXMdaxwK9y8WON+u/lVDO2u2O xtA== X-Received: from plbmn13.prod.google.com ([2002:a17:903:a4d:b0:2b4:6553:4533]) (user=praan job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:380b:b0:2b7:a350:463f with SMTP id d9443c01a7336-2bf367c0cbdmr133865095ad.10.1780321330651; Mon, 01 Jun 2026 06:42:10 -0700 (PDT) Date: Mon, 1 Jun 2026 13:41:59 +0000 In-Reply-To: <20260601134204.2150602-1-praan@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260601134204.2150602-1-praan@google.com> X-Mailer: git-send-email 2.54.0.823.g6e5bcc1fc9-goog Message-ID: <20260601134204.2150602-2-praan@google.com> Subject: [PATCH 1/6] iommu/amd: Clear aliases before setting the rlookup_table to NULL From: Pranjal Shrivastava To: iommu@lists.linux.dev, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Joerg Roedel , Suravee Suthikulpanit , Vasant Hegde , Ankit Soni , Jason Gunthorpe , Bjorn Helgaas , Samiullah Khawaja , Pranjal Shrivastava , sashiko-bot@kernel.org Content-Type: text/plain; charset="UTF-8" In iommu_ignore_device(), clearing the primary devid in the lookup table before calling setup_aliases() causes rlookup_amd_iommu() to fail for aliases. This prevents clearing the Device Table Entries (DTEs) for DMA aliases. Fix this by moving the setup_aliases() call before clearing the rlookup_table entry. Fixes: 99fc4ac3d297 ("iommu/amd: Introduce per PCI segment alias_table") Reported-by: sashiko-bot@kernel.org Closes: https://lore.kernel.org/all/20260529153216.2AD1E1F00899@smtp.kernel.org/ Signed-off-by: Pranjal Shrivastava --- drivers/iommu/amd/iommu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c index f1333071da10..a94de66a885e 100644 --- a/drivers/iommu/amd/iommu.c +++ b/drivers/iommu/amd/iommu.c @@ -745,10 +745,12 @@ static void iommu_ignore_device(struct amd_iommu *iommu, struct device *dev) return; devid = PCI_SBDF_TO_DEVID(sbdf); - pci_seg->rlookup_table[devid] = NULL; - memset(&dev_table[devid], 0, sizeof(struct dev_table_entry)); + /* Clear aliases while rlookup is still valid */ setup_aliases(iommu, dev); + + pci_seg->rlookup_table[devid] = NULL; + memset(&dev_table[devid], 0, sizeof(struct dev_table_entry)); } -- 2.54.0.823.g6e5bcc1fc9-goog