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 X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E9F6C1975A for ; Wed, 25 Mar 2020 16:15:02 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 407E8206F8 for ; Wed, 25 Mar 2020 16:15:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="pJhNRFGm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 407E8206F8 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 7F66A6B00AE; Wed, 25 Mar 2020 12:14:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 780E46B00B0; Wed, 25 Mar 2020 12:14:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F7266B00B1; Wed, 25 Mar 2020 12:14:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0166.hostedemail.com [216.40.44.166]) by kanga.kvack.org (Postfix) with ESMTP id 3969A6B00AE for ; Wed, 25 Mar 2020 12:14:45 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 1B32675946 for ; Wed, 25 Mar 2020 16:14:45 +0000 (UTC) X-FDA: 76634382930.27.pail35_80bbd499e8c32 X-HE-Tag: pail35_80bbd499e8c32 X-Filterd-Recvd-Size: 4823 Received: from mail-qv1-f73.google.com (mail-qv1-f73.google.com [209.85.219.73]) by imf27.hostedemail.com (Postfix) with ESMTP for ; Wed, 25 Mar 2020 16:14:44 +0000 (UTC) Received: by mail-qv1-f73.google.com with SMTP id d7so2129622qvq.12 for ; Wed, 25 Mar 2020 09:14:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=z9PuLLyOHeeG51XvIl54FTMtQOLNwHzklufUiWnqLYk=; b=pJhNRFGmnvflOObu0zmMeGj51ofx56OE60MTPelLGlX61aNEnQylvaU2sH8UbmG4xA Ikfa0PsIFSs5YNepMqLTlzVT5/UDgWLmp1XRWdvJnBDKKd0rBNZVoNWNzt/IlrXDr4/b K9eJa6hmGb0u2eQSSDG+Tye75PGvwNGopQa540RLeHFIkELlUK9UPYuqASuHWAE/3Z7n jMyc9yEqnj0sXWwBh2BKRb6Oi4lSfEXot9c1rFv7XyYP9+2mTp+SFoYcRj+2ctHc7mG1 qq7O5rBPQ3wAcLjLyxS/fczIfCWB3AfjUaWHC11CZx3Hpf9jVVeQwZaK9ZFXUn+1hJtA FlGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=z9PuLLyOHeeG51XvIl54FTMtQOLNwHzklufUiWnqLYk=; b=Ykrq+MiOrriK9lMy0klTFU0UXOZgTZLBQ0HOE32KspRoT9KORtijU4SoXyo94YDIff NLtWFJHCfJJK0PdYLwZmnrHIYPH4IV3DbEt+SOE/ezYNmibWsk9RgnzzYIUx+Jv9TS4k yystg0Om+6X9nrq+VzSbf0jP/uLmDjhh2du17db4nVbrG8JdN6rb2yuF1jUAPQ4ClsoD y2lkJ1OHPva0tjAbeTvgaxx2sc6mg/rnwIuo5kKxke6Pt1aTgbfZwKMoFr+7iKS6w+fo d/MW4vNG+SQtnmhlDTI81bKItV8Z+HIxpCwUEqvXDoVo/0jqSV3h2T6a88PbEMI3qFHj H65w== X-Gm-Message-State: ANhLgQ3gxSZPXCypqIph8zr8n6CqbQNqQWpWluCRf65LHNLqhhnqAsyN RfOBRLBpNr/SnGtQNPGcoAoDhSTToa8= X-Google-Smtp-Source: ADFU+vuaCfzl6DiwCqX9TvQng2NPrWQG2g6QGK54OIbQIQ6eWXEw9irpJAu7MD14PMRt5I6vhV/R6DICe2E= X-Received: by 2002:a0c:f7cf:: with SMTP id f15mr3892168qvo.214.1585152883754; Wed, 25 Mar 2020 09:14:43 -0700 (PDT) Date: Wed, 25 Mar 2020 17:12:45 +0100 In-Reply-To: <20200325161249.55095-1-glider@google.com> Message-Id: <20200325161249.55095-35-glider@google.com> Mime-Version: 1.0 References: <20200325161249.55095-1-glider@google.com> X-Mailer: git-send-email 2.25.1.696.g5e7596f4ac-goog Subject: [PATCH v5 34/38] kmsan: dma: unpoison memory mapped by dma_direct_map_page() From: glider@google.com To: Christoph Hellwig , Marek Szyprowski , Robin Murphy , Vegard Nossum , Dmitry Vyukov , Marco Elver , Andrey Konovalov , linux-mm@kvack.org Cc: glider@google.com, viro@zeniv.linux.org.uk, adilger.kernel@dilger.ca, akpm@linux-foundation.org, aryabinin@virtuozzo.com, luto@kernel.org, ard.biesheuvel@linaro.org, arnd@arndb.de, hch@infradead.org, darrick.wong@oracle.com, davem@davemloft.net, dmitry.torokhov@gmail.com, ebiggers@google.com, edumazet@google.com, ericvh@gmail.com, gregkh@linuxfoundation.org, harry.wentland@amd.com, herbert@gondor.apana.org.au, iii@linux.ibm.com, mingo@elte.hu, jasowang@redhat.com, axboe@kernel.dk, mark.rutland@arm.com, martin.petersen@oracle.com, schwidefsky@de.ibm.com, willy@infradead.org, mst@redhat.com, mhocko@suse.com, monstr@monstr.eu, pmladek@suse.com, cai@lca.pw, rdunlap@infradead.org, sergey.senozhatsky@gmail.com, rostedt@goodmis.org, tiwai@suse.com, tytso@mit.edu, tglx@linutronix.de, gor@linux.ibm.com, wsa@the-dreams.de Content-Type: text/plain; charset="UTF-8" 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: KMSAN doesn't know about DMA memory writes performed by devices. We unpoison such memory when it's mapped to avoid false positive reports. Signed-off-by: Alexander Potapenko Cc: Christoph Hellwig Cc: Marek Szyprowski Cc: Robin Murphy Cc: Vegard Nossum Cc: Dmitry Vyukov Cc: Marco Elver Cc: Andrey Konovalov Cc: linux-mm@kvack.org --- Change-Id: Ib1019ed531fea69f88b5cdec3d1e27403f2f3d64 --- kernel/dma/direct.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c index a8560052a915f..63dc1a594964a 100644 --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c @@ -367,6 +367,7 @@ dma_addr_t dma_direct_map_page(struct device *dev, struct page *page, &dma_addr, size, *dev->dma_mask, dev->bus_dma_limit); return DMA_MAPPING_ERROR; } + kmsan_handle_dma(page_address(page) + offset, size, dir); if (!dev_is_dma_coherent(dev) && !(attrs & DMA_ATTR_SKIP_CPU_SYNC)) arch_sync_dma_for_device(phys, size, dir); -- 2.25.1.696.g5e7596f4ac-goog