From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 66D0EC7EE2A for ; Fri, 27 Jun 2025 16:28:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0A4436B00B7; Fri, 27 Jun 2025 12:28:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 07BEE6B00BD; Fri, 27 Jun 2025 12:28:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EFACD6B00BE; Fri, 27 Jun 2025 12:28:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E08F56B00B7 for ; Fri, 27 Jun 2025 12:28:54 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 816101401AC for ; Fri, 27 Jun 2025 16:28:54 +0000 (UTC) X-FDA: 83601714588.26.F0A5EE8 Received: from mail-qv1-f51.google.com (mail-qv1-f51.google.com [209.85.219.51]) by imf10.hostedemail.com (Postfix) with ESMTP id 7B177C0007 for ; Fri, 27 Jun 2025 16:28:52 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="r/uLDkoK"; spf=pass (imf10.hostedemail.com: domain of glider@google.com designates 209.85.219.51 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751041732; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Pwe6yBI0hTTSV4QKO/x65G0lF6NWazoC/YzcyBgyfJc=; b=DFpdqmq/AFsL/owHfmZjUFZazczxOfSbexcFCzH8avqWqGg97ke6FUFr/70u7aJ+/R0ZM1 uIMFEoEsz/PNWlyVyiwWWxrTJslVu7qT2fkHFah3ffhPU1RU0HrK03hAg7WS+33RY9CX5m P9/OzJllW64/xE18roTLOk6j64Bh6+c= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751041732; a=rsa-sha256; cv=none; b=4yN6+svrwBw0ZEbf/VI5xjV+wf9M7M1gAp89wkZFbJR999hScs41SLQ+V3XJUJxeNPUm6R a7GJrPonaswl2mJUKlyxY3ZPcf8WTjFAFLxbCD4JC9n9PwzXqRh3M8n1ie1LDsXIHuR1/0 ByUubzsJJK7u23M3OzfUzUEDBDryZVw= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="r/uLDkoK"; spf=pass (imf10.hostedemail.com: domain of glider@google.com designates 209.85.219.51 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-qv1-f51.google.com with SMTP id 6a1803df08f44-6fb1be9ba89so95666d6.2 for ; Fri, 27 Jun 2025 09:28:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1751041731; x=1751646531; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Pwe6yBI0hTTSV4QKO/x65G0lF6NWazoC/YzcyBgyfJc=; b=r/uLDkoK6F4TY/ZRY955nA0sWfZ2luR4eRi7WdzO+5fvAy5ZRRlXXlVyebpIxpssyl vvGeZtdfOYp2q2KrYStOvbfrGAPAucAHepR5aF1ALKCHUw3A5GqrsNli1Lj9wwonLbm3 7VF07pqnwsvruyJehQz8PZOPiUF5+g/Ox3I9PQjKjWLlPXRnhwTem4a85uLILbN2E0g/ 00DMFkp6Aq7gtnf5tZwarFbuqz1dOuPOk3fPq4N85xoAt/TtB8k0SCtD8CtfCylOYFWm tPDCkKRn7uR/lsFpAk1Vb3F3fpqkzV0EcaY6xjqtwGsaiGdNDYON56xx6fO0ktYl0DqJ 0Qqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751041731; x=1751646531; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Pwe6yBI0hTTSV4QKO/x65G0lF6NWazoC/YzcyBgyfJc=; b=cDL+jx7XWKavcBsI5PJu6B2DJqtXh9HgKHKRX55+nomKmkApP7jGEjHfgDDWbyPx8o YRY1kSRFQKNph68Uf2i/OzdkxHG0qnnD1pgaPgK6eVrxG5CvJpmBz4nNKSm10BcWFcLz SnBrxiMTAscwTlfaI9VcPUmXIAdNS32WqaHllsGHUWmr3grhXUWRwKRqiRw+4yWcm+EV pV68Bim2HO2SSG4BGp2hspZkSTAANFNhMNzKY0QTcE9sK/r7SbvE2XzeE5JM9pVJXOZk 9TTFIn2pQYLW0IX6ZfkDkLmlSG/Z29DWYC5kujcXMpW32PhoaDygmOiOu2fPZESWWnOW CcSw== X-Forwarded-Encrypted: i=1; AJvYcCVdof5UDf31XU5DUrW9238nXLbkk5UQ/QOxcyl0Ib6LBPwT4uvj3ywrXLi/zp8+WsMApgBOjqQHnA==@kvack.org X-Gm-Message-State: AOJu0YwDMHgCfekDuLGul8XUvLTEiOrcz+zd/vPOb5DEm52gQj5/lKjQ Ge4YlKuJ6H4EiAPswJhPqbgkoQi1fCpthXOywlK3Sux8mufWtj+Xj+4G0EHBwvqMHVoGO3Ao0zi yTU2ltlp7EUZ+keaMgF8sr6zwM7ZY8jtVlOWMtU5A X-Gm-Gg: ASbGncvs7KyRM2fDuALzn7FzJnZGccBZvRoJXQQBMj6CdZB0z8MFAXbFOW+gY8gnLxi uafEKXfKk1wRxJH/bUSJIUj+lonxo4FLMmqk2DygEob07Boxab93+hwV+jOXtXUTxACQX21cCbA 5dnh+XGdQsJFmPt0IweD8cLWDKOEAIoHY1y2F7ColQ0QyyFhfQ5SOJKDbu2fIpGYpXECMgYg2+W Q== X-Google-Smtp-Source: AGHT+IEaFjJbudXPZvs4+gz+Ul1aN+IO1A0S+wtT0rUBrPe4/pZbkYPC1YJ6B1u6KB5gj2C6Oj3GAR3BNtAmvLY3bsQ= X-Received: by 2002:ad4:5c6b:0:b0:6fb:33f7:5f34 with SMTP id 6a1803df08f44-70002ee7d52mr61421106d6.43.1751041731049; Fri, 27 Jun 2025 09:28:51 -0700 (PDT) MIME-Version: 1.0 References: <20250626184504.GK17401@unreal> In-Reply-To: <20250626184504.GK17401@unreal> From: Alexander Potapenko Date: Fri, 27 Jun 2025 18:28:14 +0200 X-Gm-Features: Ac12FXzk502TgF39Kdk9rDaSo7SztNg9o8ROEHR27kqxNaOw7yX3TSWKD6zOmLM Message-ID: Subject: Re: [PATCH 5/8] kmsan: convert kmsan_handle_dma to use physical addresses To: Leon Romanovsky Cc: Marek Szyprowski , Christoph Hellwig , Jonathan Corbet , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Robin Murphy , Joerg Roedel , Will Deacon , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , =?UTF-8?Q?Eugenio_P=C3=A9rez?= , Marco Elver , Dmitry Vyukov , Masami Hiramatsu , Mathieu Desnoyers , =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Andrew Morton , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, iommu@lists.linux.dev, virtualization@lists.linux.dev, kasan-dev@googlegroups.com, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: 64dsbhdhnkn63kt7ssnodkumz6wytcys X-Rspamd-Queue-Id: 7B177C0007 X-Rspamd-Server: rspam08 X-HE-Tag: 1751041732-980475 X-HE-Meta: U2FsdGVkX19UIDoVv0X6JNk1sLTN2CZG+TC1FI+7U2FGWPKz6b2Ddhzt9Ktvaj9oukzKoQrmu75VOTQZRGsd52+yDsC5yzz0eoeLDdVnxujoDrPAoKNEQ81kppLAtzd74U86W8IeR+UTIIrlzhVRCZUDliBleNTh41rKGGexHXo0Lb5L9CVmFaVko0l469J0wcqRppU3wzSfnkPvaVtxavvP3SdEi8AC9YrMM+p1ui94qcIeJK5y6+YU5Y2NzquZMwZ9ZbruQ56ejE8kMZ18+w6YWdPxEF0CQAetOeaCxguttYc92KLtw25k2ajy+iimTNwG+b8R31DQy5p3a4JVHVDigb2AwYP36YKi7xAaM/VeRL+K7Tmg1SaAHtBdimz4Bkfz/QxH+LEn8RkN2AN8Mq34RReu18m6WxgzOhP7x+XZGlKKduM5NAbCbDEVliKlb9pC/Ek1aXi/Nlk5YNkc9S5d7gQT4PfGt8P984g9Yd7FEV8bUrIZ8892psphSsRnjzpAF7+J1Z9WEmufvkx41Ek1WpHjlNarAhEHATYjUudOu377Vb6BVYWULn0dy7eiMyvV+7pLH9zFqq7qDHr3ydjJ/1TBYObfdbKkIPBVEgqvirdDktbHUrsAgo2wygHcUK3VyLj/CnRLVpHI8F/GfwL9KEJtq8/vrZBJfZ0JbPMvuTI5/GA2DImfGKwdgz7LLhGFd0aeimR0o8JHZpGwXyj30Vu3M3R4n9J0wusa5Il78uz3RwAMeluoLcxavIpBGyhnOwCj6Qv2/OB6rzZx3VA6zKnkDOXBuK+z34WeyV9hmvoM5qhBOC01REPse3AHL3PqSGLE0yq/7/FzaYImoGsSYm10UK+etwGX5p1W2aj0nVRL7y53mVJo1TduCg/kapSnaHmjCq2k2zUXdGGH9FhCN+AmwrX/z4tQRbXKJ9PqEc8n6UHORE3pNaP7tQ/UEHAYtYmcOUX3VO/LuHT gIM+bM/l j6a9vOnjv6Nz2C6WQBoSlHsD8LV4C5b0qGBEIw4Q/azUSNa7ihrzBGm9nBe7KbW6ij5I48F+4UovJtukJWjp8EuS7m3s1tCQEolFs23F2tNnFydWcpCBTVfkYuNpM5nMHjcX8pCE8jTzRNqq43TOUchdCvnYFU3q82lKjnw7WSwr4CP713LBuW/E3Le9XqAnaxYmZNjMqSePfBRoEh+I8eWon83lXca3YAlQP16eYPhM+16iFBXP8dFiVC7R/2mPFA9hIZLAP070avm6NU8OiMF7Pnw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Jun 26, 2025 at 8:45=E2=80=AFPM Leon Romanovsky w= rote: > > On Thu, Jun 26, 2025 at 07:43:06PM +0200, Alexander Potapenko wrote: > > On Wed, Jun 25, 2025 at 3:19=E2=80=AFPM Leon Romanovsky wrote: > > > > > > From: Leon Romanovsky Acked-by: Alexander Potapenko > > > > Hi Leon, > > > > > > > > Convert the KMSAN DMA handling function from page-based to physical > > > address-based interface. > > > > > > The refactoring renames kmsan_handle_dma() parameters from accepting > > > (struct page *page, size_t offset, size_t size) to (phys_addr_t phys, > > > size_t size). > > > > Could you please elaborate a bit why this is needed? Are you fixing > > some particular issue? > > It is soft of the fix and improvement at the same time. > Improvement: > It allows direct call to kmsan_handle_dma() without need > to convert from phys_addr_t to struct page for newly introduced > dma_map_phys() routine. > > Fix: > It prevents us from executing kmsan for addresses that don't have struct = page > (for example PCI_P2PDMA_MAP_THRU_HOST_BRIDGE pages), which we are doing > with original code. > > dma_map_sg_attrs() > -> __dma_map_sg_attrs() > -> dma_direct_map_sg() > -> PCI_P2PDMA_MAP_THRU_HOST_BRIDGE and nents > 0 > -> kmsan_handle_dma_sg(); > -> kmsan_handle_dma(g_page(item) <---- this is "fake" page. > > We are trying to build DMA API that doesn't require struct pages. Thanks for clarifying that! > > KMSAN only works on 64-bit systems, do we actually have highmem on any = of these? > > I don't know, but the original code had this check: > 344 if (PageHighMem(page)) > 345 return; > > Thanks Ouch, I overlooked that, sorry! I spent a while trying to understand where this code originated from, and found the following discussion: https://lore.kernel.org/all/20200327170647.GA22758@lst.de/ It's still unclear to me whether we actually need this check, because with my config it doesn't produce any code. But I think this shouldn't be blocking your patch, I'd rather make a follow-up fix.