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,URIBL_BLOCKED, 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 1528CC432C0 for ; Tue, 26 Nov 2019 10:52:24 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id ACE7C20637 for ; Tue, 26 Nov 2019 10:52:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="qApPfclA" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ACE7C20637 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 09DF76B02DB; Tue, 26 Nov 2019 05:52:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 04F7A6B02DC; Tue, 26 Nov 2019 05:52:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E7FA56B02DD; Tue, 26 Nov 2019 05:52:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0087.hostedemail.com [216.40.44.87]) by kanga.kvack.org (Postfix) with ESMTP id D0ABC6B02DB for ; Tue, 26 Nov 2019 05:52:22 -0500 (EST) Received: from smtpin22.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with SMTP id 700608249980 for ; Tue, 26 Nov 2019 10:52:22 +0000 (UTC) X-FDA: 76198114524.22.tank42_4edc4aa886235 X-HE-Tag: tank42_4edc4aa886235 X-Filterd-Recvd-Size: 6523 Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by imf40.hostedemail.com (Postfix) with ESMTP for ; Tue, 26 Nov 2019 10:52:21 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id b11so2651067wmb.5 for ; Tue, 26 Nov 2019 02:52:21 -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=qbzNlIDjs197fMoGMciud6mQ/8wronKPUS4sA+vLU90=; b=qApPfclADzHspTezrQdqYWu1FYS/vBqae0QZf2cDey+QXnJ7JMQMU0H8MTGwekeFIy mSrhsww4zKMhB3wbZcFAmHNalLdzLr+417mIaR0q8LZ+IgHd5MoKhdU3+LTCn1gYdCf4 1vCWtQdt2fTz6cJMxh2adc/EkIi2Qk53Ycgg2ic8M9uHi1oWvbeqCWnWWZWoVnzauc2y j1Ms7SHfEVwBZp4K4G8OlnTkzi9lGn/X7jxb+/JveiF5SincNprwRBrzvwVo1uaV7DCH JWhFpc5MaTxP+dullJpgJ2yuBYuBdCVkV9vUGzuXzpNGFGHN1yEXmQpedLeZhRBTQ1CR YCQg== 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=qbzNlIDjs197fMoGMciud6mQ/8wronKPUS4sA+vLU90=; b=IOT2Qr7NcxXN8kLc3awiUk/lJazZGDlVgQEIRvP1MoxHGyKWEZgheXwd/J4NnsgRKJ feFoI90ecrMWvIrMPU8kC2YL1e8O99de1AqwVMGIL8e8Ol6KiX4DZImfmjblqHC4l/QG sSevX5/bWr4+m+YGgsjlAQmAK4lVSRelggnZekHCHW15bX4w4Wh8eGFW6nb+cReHpFvU QfEym4/aL9435nMkk/PsI6Z0R0cofLP2988PMeXYi7LTpGLDWs5iWONuyBkeeI6UblRD O16RFD7+DiVVx9LFXStLVdGMoHI/VAXUHBrLs8nbcKKwNm4ApwhWrKbTRlCZmBo5AWx3 jK2g== X-Gm-Message-State: APjAAAXjnjzBAnXLb5XK7CsKSA4itDw4RaOYuyekMPnm9OBu7Kil/KZa UM/z2Iw5KpTe1iR2i3ymp7r/0xKg65LpTVbpxQDq6g== X-Google-Smtp-Source: APXvYqwsVtjDvwnOi+T7P+xsol9aRLDZUjHVkOcjubhVazden22fT6LdO+bgQzOXSqxr5UBY2U72f3SQy7dnp3+viqY= X-Received: by 2002:a05:600c:1:: with SMTP id g1mr3583472wmc.131.1574765539972; Tue, 26 Nov 2019 02:52:19 -0800 (PST) MIME-Version: 1.0 References: <20191122112621.204798-1-glider@google.com> <20191122112621.204798-24-glider@google.com> <20191126101752.nt54r4foxipqrlv4@pathway.suse.cz> In-Reply-To: <20191126101752.nt54r4foxipqrlv4@pathway.suse.cz> From: Alexander Potapenko Date: Tue, 26 Nov 2019 11:52:08 +0100 Message-ID: Subject: Re: [PATCH RFC v3 23/36] kmsan: call KMSAN hooks where needed To: Petr Mladek Cc: Andrew Morton , Greg Kroah-Hartman , Eric Dumazet , Wolfram Sang , Vegard Nossum , Dmitry Vyukov , Linux Memory Management List , Al Viro , Andreas Dilger , Andrey Konovalov , Andrey Ryabinin , Andy Lutomirski , Ard Biesheuvel , Arnd Bergmann , hch@infradead.org, Christoph Hellwig , darrick.wong@oracle.com, David Miller , Dmitry Torokhov , Eric Biggers , Eric Van Hensbergen , Harry Wentland , Herbert Xu , Ilya Leoshkevich , Ingo Molnar , jasowang@redhat.com, Jens Axboe , Marek Szyprowski , Marco Elver , Mark Rutland , "Martin K . Petersen" , Martin Schwidefsky , Matthew Wilcox , "Michael S. Tsirkin" , Michal Simek , Qian Cai , Randy Dunlap , Robin Murphy , Sergey Senozhatsky , Steven Rostedt , Takashi Iwai , "Theodore Ts'o" , Thomas Gleixner , Vasily Gorbik 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 Tue, Nov 26, 2019 at 11:17 AM Petr Mladek wrote: > > On Fri 2019-11-22 12:26:08, glider@google.com wrote: > > Insert KMSAN hooks that check for potential memory errors and/or make > > necessary bookkeeping changes: > > - allocate/split/deallocate metadata pages in > > alloc_pages()/split_page()/free_page(); > > - clear page shadow and origins in clear_page(), copy_user_highpage(); > > - copy page metadata in copy_highpage(), wp_page_copy(); > > - handle vmap()/vunmap()/iounmap(); > > - handle task creation and deletion; > > - initialize result of vscnprintf() in vprintk_store(); > > - call softirq entry/exit hooks in kernel/softirq.c; > > - check/initialize memory sent to/read from USB, I2C, and network I forgot to remove I2C from patch description, will do in the next patch se= ries. > > > > Signed-off-by: Alexander Potapenko > > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > > index ca65327a6de8..c9ef7fb0906f 100644 > > --- a/kernel/printk/printk.c > > +++ b/kernel/printk/printk.c > > @@ -1915,6 +1915,12 @@ int vprintk_store(int facility, int level, > > * prefix which might be passed-in as a parameter. > > */ > > text_len =3D vscnprintf(text, sizeof(textbuf), fmt, args); > > + /* > > + * If any of vscnprintf() arguments is uninitialized, KMSAN will = report > > + * one or more errors and also probably mark text_len as uninitia= lized. > > + * Initialize |text_len| to prevent the errors from spreading fur= ther. > > + */ > > + text_len =3D KMSAN_INIT_VALUE(text_len); > > > > /* mark and strip a trailing newline */ > > if (text_len && text[text_len-1] =3D=3D '\n') { > > Acked-by: Petr Mladek # for printk.c > > Best Regards, > Petr --=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