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=-14.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,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 4CE9CC432C0 for ; Tue, 3 Dec 2019 12:46:12 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id F32E520684 for ; Tue, 3 Dec 2019 12:46:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ssTN5Ogt" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F32E520684 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 95B856B04FA; Tue, 3 Dec 2019 07:46:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9323C6B04FB; Tue, 3 Dec 2019 07:46:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 848CD6B04FC; Tue, 3 Dec 2019 07:46:11 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0251.hostedemail.com [216.40.44.251]) by kanga.kvack.org (Postfix) with ESMTP id 6E6FC6B04FA for ; Tue, 3 Dec 2019 07:46:11 -0500 (EST) Received: from smtpin24.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with SMTP id F3E60181AEF21 for ; Tue, 3 Dec 2019 12:46:10 +0000 (UTC) X-FDA: 76223802900.24.offer92_18caee95f2f27 X-HE-Tag: offer92_18caee95f2f27 X-Filterd-Recvd-Size: 6526 Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by imf45.hostedemail.com (Postfix) with ESMTP for ; Tue, 3 Dec 2019 12:46:10 +0000 (UTC) Received: by mail-wm1-f66.google.com with SMTP id s14so3294361wmh.4 for ; Tue, 03 Dec 2019 04:46:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ygMPMhKdMyEqdPFPwPcGHSCdrHFO6OJsbyafckj9Y78=; b=ssTN5OgtZO+XRYz4JTt1vfVAdmpu8KzYOIEo3sCAL8J7BGvvT9qVB8efU6J7tKViRd cXU+Dr3GI0w0z/har79QmiA9+fxyAv7eb9Mu7VcyWKVGE3XmkrPekTG3zoYrn3aleZnP TfR+Vu/JuCxDIaIN4IwgMlynJk77sOtkxtpoheASeYwhE4jAMidJekh8rtisas3o4g6/ HSd1BS+R91BZc5UGsLglIBTV2h2FnchMekqts09d/zIdu8C/6hGqXqbIH850y05hHCXl MjhAGnenrs+KbQE3VQKw9cK/sC6acZVvTzP8h43ZdbHTWUx917g7BjZbBFIoFZQYZ0QL EPqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ygMPMhKdMyEqdPFPwPcGHSCdrHFO6OJsbyafckj9Y78=; b=iD0TVIw+l13CunF3r0ly+8uCzOTuUU4528Cm2OtbfyIk+JRyATP6mWb4NOLt5BKcmo CTdZ0VwcLfJzUuWcPYkIFPBvPpaZSxaPOLxUEcmIefJ0lkdG1pzc4Hnrt7hrd9uOMx0i 7GVgrZkN0JJ93MZ1fEqiowkJfqIuyAhCPyW+rjlxweY0iGQFh7jNP9RKpshxQC/IOQQX LJXq3o9GO9zZj4JhCPpd45vgj4TNHFgV8Vu2rNnO/Q5VfBgryUjE1UdDrnUkHep6THDY 0zyM52X9MnYCxWVzeAnbzRAFHUe7UAo5TT25SOou82E7rnPrQSN+9r1Jun5yYSISA1Kn og9g== X-Gm-Message-State: APjAAAXudAccOX/z9J2y9h9bhKGJ9TnD0ERiNxPR0g/oYoE3KJNKkodv 7bRkD0DLZrvlmoakRDMv+7zeS4qHu9YG8xC8mZyFhw== X-Google-Smtp-Source: APXvYqxxo9ud96mIjGfwQ/spHysHvCbaglcB1P4IJq3S++lhvkJgj9Wqb6Xktz4JuJ9DOat2jLhjPfB3B03b08pU+pk= X-Received: by 2002:a1c:9e49:: with SMTP id h70mr33632816wme.79.1575377168840; Tue, 03 Dec 2019 04:46:08 -0800 (PST) MIME-Version: 1.0 References: <20191122112621.204798-1-glider@google.com> <20191122112621.204798-13-glider@google.com> In-Reply-To: From: Alexander Potapenko Date: Tue, 3 Dec 2019 13:45:57 +0100 Message-ID: Subject: Re: [PATCH RFC v3 12/36] kmsan: define READ_ONCE_NOCHECK() To: Marco Elver Cc: Mark Rutland , Vegard Nossum , Dmitry Vyukov , Linux Memory Management List , Al Viro , Andreas Dilger , Andrew Morton , Andrey Konovalov , Andrey Ryabinin , Andy Lutomirski , Ard Biesheuvel , Arnd Bergmann , Christoph Hellwig , Christoph Hellwig , "Darrick J. Wong" , David Miller , Dmitry Torokhov , Eric Biggers , Eric Dumazet , Eric Van Hensbergen , Greg Kroah-Hartman , Harry Wentland , Herbert Xu , Ilya Leoshkevich , Ingo Molnar , Jason Wang , Jens Axboe , Marek Szyprowski , "Martin K . Petersen" , Martin Schwidefsky , Matthew Wilcox , "Michael S. Tsirkin" , Michal Simek , Petr Mladek , Qian Cai , Randy Dunlap , Robin Murphy , Sergey Senozhatsky , Steven Rostedt , Takashi Iwai , "Theodore Ts'o" , Thomas Gleixner , Vasily Gorbik , Wolfram Sang Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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: On Mon, Dec 2, 2019 at 11:03 AM Marco Elver wrote: > > On Fri, 22 Nov 2019 at 12:27, wrote: > > > > READ_ONCE_NOCHECK() is already used by KASAN to ignore memory accesses > > from e.g. stack unwinders. > > Define READ_ONCE_NOCHECK() for KMSAN so that it returns initialized > > values. This helps defeat false positives from leftover stack contents. > > > > Signed-off-by: Alexander Potapenko > > To: Alexander Potapenko > > Cc: Mark Rutland > > Cc: Vegard Nossum > > Cc: Dmitry Vyukov > > Cc: linux-mm@kvack.org > > --- > > v3: > > - removed unnecessary #ifdef as requested by Mark Rutland > > > > Change-Id: Ib38369ba038ab3b581d8e45b81036c3304fb79cb > > --- > > include/linux/compiler.h | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/include/linux/compiler.h b/include/linux/compiler.h > > index 5e88e7e33abe..99d40f31a2c3 100644 > > --- a/include/linux/compiler.h > > +++ b/include/linux/compiler.h > > @@ -270,9 +270,9 @@ static __always_inline void __write_once_size(volat= ile void *p, void *res, int s > > > > /* > > * Use READ_ONCE_NOCHECK() instead of READ_ONCE() if you need > > - * to hide memory access from KASAN. > > + * to hide memory access from KASAN or KMSAN. > > */ > > -#define READ_ONCE_NOCHECK(x) __READ_ONCE(x, 0) > > +#define READ_ONCE_NOCHECK(x) KMSAN_INIT_VALUE(__READ_ONCE(x, 0)) > > I think this needs: > #include > above. Ack, will include in v4. > > static __no_kasan_or_inline > > unsigned long read_word_at_a_time(const void *addr) > > -- > > 2.24.0.432.g9d3f5f5b63-goog > > --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg