From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f201.google.com (mail-pf1-f201.google.com [209.85.210.201]) (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 1C65F312837 for ; Tue, 2 Dec 2025 23:03:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764716626; cv=none; b=Xqm9y+M899YtTn4cVtzoZ/ybrfnOjfAKHCkoy5/CHz47raL3XIXDFRMwRF4b7bgVf4qS65zdgMDkQwBhxwCh6WPvcil16usVNaPXeyj1ADbkkwudWhg+u+Y6Q40Xki6KEPIZ00lv84FMOSEbdqctUbfCGx7O6aTRWGNYcaiVXVQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764716626; c=relaxed/simple; bh=MDGvdOZkxnfxNqo+QVpTfOsgcC/U6i4AouRW5T1JH8g=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=eh3m+qjik4B1oTSBx3yPfvvZYv5OY+rgZU18HbLgEHWiJCngjbC4+lqbrj1/JiHyYihAX/wcA4Ty6JDdMoxCLim1s2+2sjNIMvTESs3w0CCNnaI+nQEmqir47xrDweQ875gpAhp5X9RGO2LU28kTB4prONB629T/2VOKg7eWKP4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--skhawaja.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=MO2dPbqg; arc=none smtp.client-ip=209.85.210.201 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--skhawaja.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="MO2dPbqg" Received: by mail-pf1-f201.google.com with SMTP id d2e1a72fcca58-7d5564057d0so5859185b3a.0 for ; Tue, 02 Dec 2025 15:03:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1764716624; x=1765321424; 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=ozuCVrzv6cmBt2ueV/Q3xo0mXpOPQeQ7zk53yt4ABbg=; b=MO2dPbqgUUxT3S2wtr7s6EuMiAQWQHrYRtR1SAKSLNIo5kY1iOJJpmJNhYWSRaAGgU 1R3H0H5rxRjHK/SaD3uky/u8udjGY/Os71bcKYPwhRXGbGSJ3romvtSEKub53dNKcLwe Elq7/L1OICMRAsa/TuJn8/jz/ZKDi7bi67VQc5fOqA+AtNX3ZVU2xw2KxWkVGmI1vpOw AGYerHnIvCS4bQlCuz3pDPgG61zlpGg8RRQW115c2aa1RRMn6heWvIEOy/rud1gmnvIQ 6py4uwSbfendedjyVaWERJw231EcO0yyIibEe3+y+jBjjySJC0kDVtiwXmapMU+7jk+g JXoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764716624; x=1765321424; 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=ozuCVrzv6cmBt2ueV/Q3xo0mXpOPQeQ7zk53yt4ABbg=; b=Swv9+FMnSIlXi+j4tS3kzmKSNz0GVEt3KX7m36dUbRqCw8iaHcno7d4bhLkfEVmDss iffT+skaSbfNnezev06lER458wYgC7OB2TCfG46UmNoxg8G6fTTUGY/+3NL+kNBId8Wu y9qvFxwE7Jqp+lrTt2y/GmkGlQH3FV05OgI9r/lGbspZ4fxeRfpR5pPHITENY9C76UmI wc+YatoEbAGd80DyaLgEQTIzS2cHnimpX3ghAslwaylpx5b4h/FW9u4T4icjsRzBHLE+ JRKPBJuZpOa/NyeZAnjoG84ehGeuNl5nfEVT3LirA7F1NH8bFV/1/5K+XGDpU7oRrG/3 yllg== X-Forwarded-Encrypted: i=1; AJvYcCX6st+y5w+tMRIUOJDBIpgDJ8nK44DPDPxuWtfmtQHfNg1dYGtn/pzfI1hZ45HjlPXinv9BpJSgjj3JAXg=@vger.kernel.org X-Gm-Message-State: AOJu0YzkXAyvBndftEdb2tWa6GMd48m37pmB5D3UPIxKFUMa4+vc1+1m Ql2gK/GFV8KWlWfY3yMgWINUjiErf1zk8Zbg6TIEWWMtk1s2Ve2+rz9BZ8vAJ3lMZ+t0WnEEamR YwAxf0D+HKS5ghQ== X-Google-Smtp-Source: AGHT+IFQbI5oOtthRJddSA/bKiZgZROHWHZFgD/z7CW8nR3WGqOKGw3LdKd6oYYJozfaqnDawl6Ddzhao5vVdg== X-Received: from pfbds6.prod.google.com ([2002:a05:6a00:4ac6:b0:7dd:8bba:638f]) (user=skhawaja job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:cd1:b0:7aa:e5f2:617d with SMTP id d2e1a72fcca58-7e00ee5411amr195303b3a.30.1764716624211; Tue, 02 Dec 2025 15:03:44 -0800 (PST) Date: Tue, 2 Dec 2025 23:02:56 +0000 In-Reply-To: <20251202230303.1017519-1-skhawaja@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251202230303.1017519-1-skhawaja@google.com> X-Mailer: git-send-email 2.52.0.158.g65b55ccf14-goog Message-ID: <20251202230303.1017519-27-skhawaja@google.com> Subject: [RFC PATCH v2 26/32] iommu/vt-d: reclaim domain ids of the preserved devices From: Samiullah Khawaja To: David Woodhouse , Lu Baolu , Joerg Roedel , Will Deacon , Pasha Tatashin , Jason Gunthorpe , iommu@lists.linux.dev Cc: Samiullah Khawaja , Robin Murphy , Pratyush Yadav , Kevin Tian , Alex Williamson , linux-kernel@vger.kernel.org, Saeed Mahameed , Adithya Jayachandran , Parav Pandit , Leon Romanovsky , William Tu , Vipin Sharma , dmatlack@google.com, YiFei Zhu , Chris Li , praan@google.com Content-Type: text/plain; charset="UTF-8" During IOMMU unit state restore, reclaim the domain ids of the preserved devices so these are not acquired by another device. Signed-off-by: Samiullah Khawaja --- drivers/iommu/intel/liveupdate.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/iommu/intel/liveupdate.c b/drivers/iommu/intel/liveupdate.c index 140887187084..fc1e8545ed0e 100644 --- a/drivers/iommu/intel/liveupdate.c +++ b/drivers/iommu/intel/liveupdate.c @@ -92,6 +92,15 @@ static void restore_iommu_context(struct intel_iommu *iommu) } } +static int __restore_used_domain_ids(struct device_ser *ser, void *arg) +{ + int id = ser->domain_iommu_ser.did; + struct intel_iommu *iommu = arg; + + ida_alloc_range(&iommu->domain_ida, id, id, GFP_KERNEL); + return 0; +} + void intel_iommu_liveupdate_restore_root_table(struct intel_iommu *iommu, struct iommu_ser *iommu_ser) { @@ -99,6 +108,7 @@ void intel_iommu_liveupdate_restore_root_table(struct intel_iommu *iommu, iommu->root_entry = __va(iommu_ser->intel.root_table); restore_iommu_context(iommu); + iommu_for_each_preserved_device(__restore_used_domain_ids, iommu); pr_info("Restored IOMMU[0x%llx] Root Table at: 0x%llx\n", iommu->reg_phys, iommu_ser->intel.root_table); } -- 2.52.0.158.g65b55ccf14-goog