From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) (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 7C31E2D7DF3 for ; Fri, 9 Jan 2026 19:51:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767988274; cv=none; b=Bdqzm1jT+nG0dHwbmZpvb4IaFn7CUuYmoPPpZOwV9sBmrsA3fy7O98nwyQpOjFPn2tsazFS1amPttlCB7bszrOYPe6Qo0zYp1eRoVAuxju09b8MSjcI3HWcBImeocdzR8KjLu69UH9xsW/CFbucVJThRnH9eKo3v1xPoETTDu3Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767988274; c=relaxed/simple; bh=4j8mSXXSQlh/FE4IkZdDwk7n5+vtZGmT0Vq4KXerTeY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=cCUv4Qlypzn8RcC5B/JWrFIoGOR7KTXDioGLd4SNZwdk2jihG19zclvgtOIVWqI44hnLXgzcNpKkHiqI+YtCqJ1juwdmvcJ+fF7Q3wrllWj0VkvCRvrBiTHp9pCkB2QylyMNas71kV6HRMmYAzVtE8/KdjRTcW5BT+HYbjWTVTM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca; spf=pass smtp.mailfrom=ziepe.ca; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b=ImgIFG75; arc=none smtp.client-ip=209.85.222.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="ImgIFG75" Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-8b2a4b6876fso678760885a.3 for ; Fri, 09 Jan 2026 11:51:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1767988272; x=1768593072; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=1HhQrwHPYHs7tKqcm2gO84BH3BiFPGmtv9DkIKXa95Q=; b=ImgIFG75OoxdecNRLoSmBvaKd8dGnF4Mu9BGLF6A1HX2bgDmB292viDtxT3P1OAIGO 3MYZDAfyFLGsZgMdQAIxj2m84PCrCwEFkYkTw1GPL5GTZgMmk9/UqPELxW6juj+tN0fo APiVzpETnCeCqqopCZRIVo3b+Yrg6eGqQ6CYwLpGrJetVQ/tBR7lWO43wum2W04XIGyU r6ZxS+kw5uB4zEqlnWCK4I/91O9I2FL0khLSFJve6Ut8h8kMbUEPHhMbYsX459+l2RXD rRTm/m3mOuk8koC7BZ7JluSxlSc5KKSAhINHRHr6tGav0rliP3ea7mB5lA55frzm3klS PwwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767988272; x=1768593072; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1HhQrwHPYHs7tKqcm2gO84BH3BiFPGmtv9DkIKXa95Q=; b=wRo1uHvUKa5JabGSeZOQcbP7Lz/1GWpIKXG3IRvbtAjTmj3tjOPqxg0uv8LuzUfwsQ 9GoKOTHKto/uydd675LjN9D67d5imoXChno12mwZ3g4qkWi4UQYQnK8/I2PQHF3t9Ah+ u/PgASH/9iREek6qX+G6mVo3xl5127b/RIy1y54TkRUnYwlAQvxxxUIVyo7Mesj6rzEE XtWDe75tvJ6NZwYxzmi5+/FxV+0SirQ2MXNqXEJgx1aQlmo3BCtS25iRdrbzEZyQzrLS 2xAGqhpuCKBtfDsvOmzKl7bkAxzzphc2JKgTrI+cQP1mA0n93bCRMRF0ktDm34SkjjXs do1g== X-Forwarded-Encrypted: i=1; AJvYcCWrHuOaye5vZgc1rEBpYHYw2jljvMbnoulLGutPIfsEm7YFS5lzd2EcpI3aCs/OgoMZU7XDHbOsyqLvLq0=@vger.kernel.org X-Gm-Message-State: AOJu0YybGN3IcdQcQOlCMZGAkTD7i3PKYXeeRi0KczY4vwsuo6j2eYCM tLLskWSEtRO8hK3Jc418V1t3bubMzRUpJYxk2L/YY7j43zHWP4bqHUM6ZjGHOGiULUU= X-Gm-Gg: AY/fxX4YyxqPU3vJUSjiHVGeQRiHW7uXuhgQzXzYVYXiMHyIhq0TVC8TmCO58cGqUSh oWFVm+Cr7z5y18WPO9Xt3XEGfAdrgZPXLgnHWxG8Jkll87Rqr+lSE0U+K2K69XMSiK2K2bsv7uh n32KFC2bkF39tjQgBTgPWNyuY5Zcz9vHWTrXucb7fM9r+AfyfhEJJNIcTJUk5sYWsRYdu5oK+uS yjZGk4obMzWepUNP4VjcJAXNCpckBWL9AIqvjTU4NxMPHRxQoFrdiAnDNFMkESQuAaRyInF1Xus WcV8TRNTi9MSbP4Vok+ftOflzpo2PjgqOiSC6KQNH6xF0gUIs84/j+zqNUuZ62bxUV1LlSAU7AI 0NoFfVMn1cMmveWEBblTVkyp/xfovcRC0Bq7ZjbbxMv/Qmqi+5zotrfhatsvQ14+QoFfVeXXtX9 pZLQbr3RIdP2myXs2SZKlPcyO0HvtJOn5nTOpijM6uCGe0dI6Lpcncw1B96TqGRQGbANk= X-Google-Smtp-Source: AGHT+IEZlrPxi+avVlluweNPtX7JEzZwtpBy5iyUb1htiohwK8TIi/Gv4SrQxJebEESGgl3Hi3a9jA== X-Received: by 2002:a05:620a:414a:b0:8c0:995b:e729 with SMTP id af79cd13be357-8c3893aa18cmr1552234485a.38.1767988272405; Fri, 09 Jan 2026 11:51:12 -0800 (PST) Received: from ziepe.ca (hlfxns017vw-142-162-112-119.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.162.112.119]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8c37f400b59sm888623785a.0.2026.01.09.11.51.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 11:51:11 -0800 (PST) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1veIVr-0000000381J-1kSA; Fri, 09 Jan 2026 15:51:11 -0400 Date: Fri, 9 Jan 2026 15:51:11 -0400 From: Jason Gunthorpe To: Mostafa Saleh Cc: linux-mm@kvack.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, corbet@lwn.net, joro@8bytes.org, will@kernel.org, robin.murphy@arm.com, akpm@linux-foundation.org, vbabka@suse.cz, surenb@google.com, mhocko@suse.com, jackmanb@google.com, hannes@cmpxchg.org, ziy@nvidia.com, david@redhat.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, rppt@kernel.org, xiaqinxin@huawei.com, baolu.lu@linux.intel.com, rdunlap@infradead.org, Samiullah Khawaja Subject: Re: [PATCH v6 3/4] iommu: debug-pagealloc: Track IOMMU pages Message-ID: <20260109195111.GQ545276@ziepe.ca> References: <20260109171805.901995-1-smostafa@google.com> <20260109171805.901995-4-smostafa@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260109171805.901995-4-smostafa@google.com> On Fri, Jan 09, 2026 at 05:18:04PM +0000, Mostafa Saleh wrote: > +static struct page_ext *get_iommu_page_ext(phys_addr_t phys) > +{ > + struct page *page = phys_to_page(phys); > + struct page_ext *page_ext = page_ext_get(page); > + > + return page_ext; > +} > + > +static struct iommu_debug_metadata *get_iommu_data(struct page_ext *page_ext) > +{ > + return page_ext_data(page_ext, &page_iommu_debug_ops); > +} > + > +static void iommu_debug_inc_page(phys_addr_t phys) > +{ > + struct page_ext *page_ext = get_iommu_page_ext(phys); > + struct iommu_debug_metadata *d = get_iommu_data(page_ext); You cannot do this - phys_to_page() can only be called if we already know that phys is a struct page backed item and by the time you get here that information is lost. Probably the only way to resolve this is to somehow pass in an iommu prot flag that can tell the difference between struct page and non-struct page addresses. But I have to NAK this approach of blindly calling phys_to_page(). Jason