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=-11.4 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=no 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 07D48C433E2 for ; Tue, 8 Sep 2020 17:44:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BAA4F2078B for ; Tue, 8 Sep 2020 17:44:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="QPX3it+b" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731722AbgIHRoB (ORCPT ); Tue, 8 Sep 2020 13:44:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731664AbgIHQOE (ORCPT ); Tue, 8 Sep 2020 12:14:04 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70E2EC0617B9 for ; Tue, 8 Sep 2020 05:16:22 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id q9so17091120wmj.2 for ; Tue, 08 Sep 2020 05:16:22 -0700 (PDT) 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=25SuQDI0eyCRm9y5WDHzplEK9oGtQL3VKe10BEOjmTA=; b=QPX3it+b0HCvDkvbnLXnuah4CoH16gftRJ7806vrwP3qNieZtYGGzWOWb5H6s2Ymo6 tFciYxxHwZ+bLk25IzxWbtHz0zL7hPxojHfBsUJqxOPoVKqSYMw4s5Jhs4CWSe+lLKvZ c5AwWr450MpqcX6CXpFhLMMNrVYkQ9Fjd8nqLWMfFi9LnzsfdtWd0LpKQYtzz+NCxHB3 J637fA5b93NLgh+gh4KvKv3RMjqzd73wNSnuCBKM/un+6MXqTcJ0HEPCNbet4mb1L5NA cKFb0yVJxMPcpuUS6t+uXVXwP2CwZFGY4q8U86OqXN4i0oaciML3l3t5SgA2Rsr+bZIa dFfg== 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=25SuQDI0eyCRm9y5WDHzplEK9oGtQL3VKe10BEOjmTA=; b=boefQ8avXQ0E42bqc2BFMAzZoV8ybYrVJvNGYhi189YPd5vouqN9MmBrP0Tha5RFo1 bVKZnvQcjJ1IbdQiAvrqAvQXSC7KO9m8rZRIUtXyvecCkZcDl3xIOhqCKiddiGIyfWA4 4PdUwPr4kn51e34P2gpHdKAIZ00Pqzu10qSQpGepPXGI7PetV+l4rSharXpPaAu/93/R fcB1+SsIHKovrAqELN1M3DMpPn1uRfj7r+JLH53ClGQCAS4tQQjPF9ElQeS1FrA+lig+ FL/31kYRTVIM2nDEp9mRDxiK8CYafuIhanksD2JRduy38/qntsscabjixCvwBauTcCss dKpA== X-Gm-Message-State: AOAM533GZAKh1VDluVY3uG07/aHmOgQtgQ9JXW+NM5LwEG0huFdyJiO2 pduAP81gJPGjEtFa0ZMWWGhShXZDv/lbhRTm2fkThw== X-Google-Smtp-Source: ABdhPJzNFarnK0nYdbKJBLU0NMJuC6Hpm534oaFYqrVkXTx051ncwUm57xW2hX6Fd0DEO38hfYKPpM9pZm6/JEEqxdA= X-Received: by 2002:a1c:105:: with SMTP id 5mr4078883wmb.175.1599567380842; Tue, 08 Sep 2020 05:16:20 -0700 (PDT) MIME-Version: 1.0 References: <20200907134055.2878499-1-elver@google.com> <4dc8852a-120d-0835-1dc4-1a91f8391c8a@suse.cz> In-Reply-To: <4dc8852a-120d-0835-1dc4-1a91f8391c8a@suse.cz> From: Alexander Potapenko Date: Tue, 8 Sep 2020 14:16:09 +0200 Message-ID: Subject: Re: [PATCH RFC 00/10] KFENCE: A low-overhead sampling-based memory safety error detector To: Vlastimil Babka Cc: Marco Elver , Andrew Morton , Catalin Marinas , Christoph Lameter , David Rientjes , Joonsoo Kim , Mark Rutland , Pekka Enberg , "H. Peter Anvin" , paulmck@kernel.org, Andrey Konovalov , Andrey Ryabinin , Andy Lutomirski , Borislav Petkov , dave.hansen@linux.intel.com, Dmitriy Vyukov , Eric Dumazet , Greg Kroah-Hartman , Ingo Molnar , Jann Horn , Jonathan Corbet , Kees Cook , Peter Zijlstra , Qian Cai , Thomas Gleixner , Will Deacon , "the arch/x86 maintainers" , linux-doc@vger.kernel.org, LKML , kasan-dev , linux-arm-kernel@lists.infradead.org, Linux Memory Management List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > Toggling a static branch is AFAIK quite disruptive (PeterZ will probably = tell > you better), and with the default 100ms sample interval, I'd think it's n= ot good > to toggle it so often? Did you measure what performance would you get, if= the > static key was only for long-term toggling the whole feature on and off (= boot > time or even runtime), but the decisions "am I in a sample interval right= now?" > would be normal tests behind this static key? Thanks. 100ms is the default that we use for testing, but for production it should be fine to pick a longer interval (e.g. 1 second or more). We haven't noticed any performance impact with neither 100ms nor bigger val= ues. Regarding using normal branches, they are quite expensive. E.g. at some point we used to have a branch in slab_free() to check whether the freed object belonged to KFENCE pool. When the pool address was taken from memory, this resulted in some non-zero performance penalty. As for enabling the whole feature at runtime, our intention is to let the users have it enabled by default, otherwise someone will need to tell every machine in the fleet when the feature is to be enabled. > > > We have verified by running synthetic benchmarks (sysbench I/O, > > hackbench) that a kernel with KFENCE is performance-neutral compared to > > a non-KFENCE baseline kernel. > > > > KFENCE is inspired by GWP-ASan [1], a userspace tool with similar > > properties. The name "KFENCE" is a homage to the Electric Fence Malloc > > Debugger [2]. > > > > For more details, see Documentation/dev-tools/kfence.rst added in the > > series -- also viewable here: > > > > https://raw.githubusercontent.com/google/kasan/kfence/Documentati= on/dev-tools/kfence.rst > > > > [1] http://llvm.org/docs/GwpAsan.html > > [2] https://linux.die.net/man/3/efence > > > > Alexander Potapenko (6): > > mm: add Kernel Electric-Fence infrastructure > > x86, kfence: enable KFENCE for x86 > > mm, kfence: insert KFENCE hooks for SLAB > > mm, kfence: insert KFENCE hooks for SLUB > > kfence, kasan: make KFENCE compatible with KASAN > > kfence, kmemleak: make KFENCE compatible with KMEMLEAK > > > > Marco Elver (4): > > arm64, kfence: enable KFENCE for ARM64 > > kfence, lockdep: make KFENCE compatible with lockdep > > kfence, Documentation: add KFENCE documentation > > kfence: add test suite > > > > Documentation/dev-tools/index.rst | 1 + > > Documentation/dev-tools/kfence.rst | 285 +++++++++++ > > MAINTAINERS | 11 + > > arch/arm64/Kconfig | 1 + > > arch/arm64/include/asm/kfence.h | 39 ++ > > arch/arm64/mm/fault.c | 4 + > > arch/x86/Kconfig | 2 + > > arch/x86/include/asm/kfence.h | 60 +++ > > arch/x86/mm/fault.c | 4 + > > include/linux/kfence.h | 174 +++++++ > > init/main.c | 2 + > > kernel/locking/lockdep.c | 8 + > > lib/Kconfig.debug | 1 + > > lib/Kconfig.kfence | 70 +++ > > mm/Makefile | 1 + > > mm/kasan/common.c | 7 + > > mm/kfence/Makefile | 6 + > > mm/kfence/core.c | 730 +++++++++++++++++++++++++++ > > mm/kfence/kfence-test.c | 777 +++++++++++++++++++++++++++++ > > mm/kfence/kfence.h | 104 ++++ > > mm/kfence/report.c | 201 ++++++++ > > mm/kmemleak.c | 11 + > > mm/slab.c | 46 +- > > mm/slab_common.c | 6 +- > > mm/slub.c | 72 ++- > > 25 files changed, 2591 insertions(+), 32 deletions(-) > > create mode 100644 Documentation/dev-tools/kfence.rst > > create mode 100644 arch/arm64/include/asm/kfence.h > > create mode 100644 arch/x86/include/asm/kfence.h > > create mode 100644 include/linux/kfence.h > > create mode 100644 lib/Kconfig.kfence > > create mode 100644 mm/kfence/Makefile > > create mode 100644 mm/kfence/core.c > > create mode 100644 mm/kfence/kfence-test.c > > create mode 100644 mm/kfence/kfence.h > > create mode 100644 mm/kfence/report.c > > > --=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 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=-11.4 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=no 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 A9D19C433E2 for ; Tue, 8 Sep 2020 12:16:24 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 32A2D21D47 for ; Tue, 8 Sep 2020 12:16:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="QPX3it+b" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 32A2D21D47 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 A647E6B0002; Tue, 8 Sep 2020 08:16:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A14746B0037; Tue, 8 Sep 2020 08:16:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8DB3E6B0055; Tue, 8 Sep 2020 08:16:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0227.hostedemail.com [216.40.44.227]) by kanga.kvack.org (Postfix) with ESMTP id 7A0766B0002 for ; Tue, 8 Sep 2020 08:16:23 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 3E97C247F for ; Tue, 8 Sep 2020 12:16:23 +0000 (UTC) X-FDA: 77239791846.01.mist77_4607319270d4 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin01.hostedemail.com (Postfix) with ESMTP id 0764F1004A33A for ; Tue, 8 Sep 2020 12:16:22 +0000 (UTC) X-HE-Tag: mist77_4607319270d4 X-Filterd-Recvd-Size: 8435 Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by imf37.hostedemail.com (Postfix) with ESMTP for ; Tue, 8 Sep 2020 12:16:22 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id s13so17045103wmh.4 for ; Tue, 08 Sep 2020 05:16:22 -0700 (PDT) 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=25SuQDI0eyCRm9y5WDHzplEK9oGtQL3VKe10BEOjmTA=; b=QPX3it+b0HCvDkvbnLXnuah4CoH16gftRJ7806vrwP3qNieZtYGGzWOWb5H6s2Ymo6 tFciYxxHwZ+bLk25IzxWbtHz0zL7hPxojHfBsUJqxOPoVKqSYMw4s5Jhs4CWSe+lLKvZ c5AwWr450MpqcX6CXpFhLMMNrVYkQ9Fjd8nqLWMfFi9LnzsfdtWd0LpKQYtzz+NCxHB3 J637fA5b93NLgh+gh4KvKv3RMjqzd73wNSnuCBKM/un+6MXqTcJ0HEPCNbet4mb1L5NA cKFb0yVJxMPcpuUS6t+uXVXwP2CwZFGY4q8U86OqXN4i0oaciML3l3t5SgA2Rsr+bZIa dFfg== 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=25SuQDI0eyCRm9y5WDHzplEK9oGtQL3VKe10BEOjmTA=; b=F3hMBMXsDiaLMTolBEqPdeS1sa+2S1GAYJO91b4fGw1DNuh9G66z2lZssv54pm5iec kGz1wPZc7/IhUxAYVg/SAVG1gjeExioSALYeDIigCxieEKtOZXqXyXPY0uSiyN7wdDEn kv4sDFZRAICi2/leT9ISPKnV52ld3AwkCviiZ5WfMtd5gTUhTBMWZ4/Ys+5vqbM0lYp7 /3C4+l0L3NqCTyjOYMkKHlwaFqnOy3fuMDGFxXhTfj7daojJ1GrWPVeL9qPDZ3fddwyC gEWc6k0dgXnDvXfpozgEAc8eHNAsVOXmmbQNemIEMLA2XFELXG/deZZs5pV7DOkRp1bo +shg== X-Gm-Message-State: AOAM533OQLBjtNr8lmHkpdgh94DFX3ys8kK6nehr++XG6zKRPN1tClZI L5GgBxcn9olqKhPf5XcVLBfLCLJSWL3QA7kk+TLiNA== X-Google-Smtp-Source: ABdhPJzNFarnK0nYdbKJBLU0NMJuC6Hpm534oaFYqrVkXTx051ncwUm57xW2hX6Fd0DEO38hfYKPpM9pZm6/JEEqxdA= X-Received: by 2002:a1c:105:: with SMTP id 5mr4078883wmb.175.1599567380842; Tue, 08 Sep 2020 05:16:20 -0700 (PDT) MIME-Version: 1.0 References: <20200907134055.2878499-1-elver@google.com> <4dc8852a-120d-0835-1dc4-1a91f8391c8a@suse.cz> In-Reply-To: <4dc8852a-120d-0835-1dc4-1a91f8391c8a@suse.cz> From: Alexander Potapenko Date: Tue, 8 Sep 2020 14:16:09 +0200 Message-ID: Subject: Re: [PATCH RFC 00/10] KFENCE: A low-overhead sampling-based memory safety error detector To: Vlastimil Babka Cc: Marco Elver , Andrew Morton , Catalin Marinas , Christoph Lameter , David Rientjes , Joonsoo Kim , Mark Rutland , Pekka Enberg , "H. Peter Anvin" , paulmck@kernel.org, Andrey Konovalov , Andrey Ryabinin , Andy Lutomirski , Borislav Petkov , dave.hansen@linux.intel.com, Dmitriy Vyukov , Eric Dumazet , Greg Kroah-Hartman , Ingo Molnar , Jann Horn , Jonathan Corbet , Kees Cook , Peter Zijlstra , Qian Cai , Thomas Gleixner , Will Deacon , "the arch/x86 maintainers" , linux-doc@vger.kernel.org, LKML , kasan-dev , linux-arm-kernel@lists.infradead.org, Linux Memory Management List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 0764F1004A33A X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam03 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: > Toggling a static branch is AFAIK quite disruptive (PeterZ will probably = tell > you better), and with the default 100ms sample interval, I'd think it's n= ot good > to toggle it so often? Did you measure what performance would you get, if= the > static key was only for long-term toggling the whole feature on and off (= boot > time or even runtime), but the decisions "am I in a sample interval right= now?" > would be normal tests behind this static key? Thanks. 100ms is the default that we use for testing, but for production it should be fine to pick a longer interval (e.g. 1 second or more). We haven't noticed any performance impact with neither 100ms nor bigger val= ues. Regarding using normal branches, they are quite expensive. E.g. at some point we used to have a branch in slab_free() to check whether the freed object belonged to KFENCE pool. When the pool address was taken from memory, this resulted in some non-zero performance penalty. As for enabling the whole feature at runtime, our intention is to let the users have it enabled by default, otherwise someone will need to tell every machine in the fleet when the feature is to be enabled. > > > We have verified by running synthetic benchmarks (sysbench I/O, > > hackbench) that a kernel with KFENCE is performance-neutral compared to > > a non-KFENCE baseline kernel. > > > > KFENCE is inspired by GWP-ASan [1], a userspace tool with similar > > properties. The name "KFENCE" is a homage to the Electric Fence Malloc > > Debugger [2]. > > > > For more details, see Documentation/dev-tools/kfence.rst added in the > > series -- also viewable here: > > > > https://raw.githubusercontent.com/google/kasan/kfence/Documentati= on/dev-tools/kfence.rst > > > > [1] http://llvm.org/docs/GwpAsan.html > > [2] https://linux.die.net/man/3/efence > > > > Alexander Potapenko (6): > > mm: add Kernel Electric-Fence infrastructure > > x86, kfence: enable KFENCE for x86 > > mm, kfence: insert KFENCE hooks for SLAB > > mm, kfence: insert KFENCE hooks for SLUB > > kfence, kasan: make KFENCE compatible with KASAN > > kfence, kmemleak: make KFENCE compatible with KMEMLEAK > > > > Marco Elver (4): > > arm64, kfence: enable KFENCE for ARM64 > > kfence, lockdep: make KFENCE compatible with lockdep > > kfence, Documentation: add KFENCE documentation > > kfence: add test suite > > > > Documentation/dev-tools/index.rst | 1 + > > Documentation/dev-tools/kfence.rst | 285 +++++++++++ > > MAINTAINERS | 11 + > > arch/arm64/Kconfig | 1 + > > arch/arm64/include/asm/kfence.h | 39 ++ > > arch/arm64/mm/fault.c | 4 + > > arch/x86/Kconfig | 2 + > > arch/x86/include/asm/kfence.h | 60 +++ > > arch/x86/mm/fault.c | 4 + > > include/linux/kfence.h | 174 +++++++ > > init/main.c | 2 + > > kernel/locking/lockdep.c | 8 + > > lib/Kconfig.debug | 1 + > > lib/Kconfig.kfence | 70 +++ > > mm/Makefile | 1 + > > mm/kasan/common.c | 7 + > > mm/kfence/Makefile | 6 + > > mm/kfence/core.c | 730 +++++++++++++++++++++++++++ > > mm/kfence/kfence-test.c | 777 +++++++++++++++++++++++++++++ > > mm/kfence/kfence.h | 104 ++++ > > mm/kfence/report.c | 201 ++++++++ > > mm/kmemleak.c | 11 + > > mm/slab.c | 46 +- > > mm/slab_common.c | 6 +- > > mm/slub.c | 72 ++- > > 25 files changed, 2591 insertions(+), 32 deletions(-) > > create mode 100644 Documentation/dev-tools/kfence.rst > > create mode 100644 arch/arm64/include/asm/kfence.h > > create mode 100644 arch/x86/include/asm/kfence.h > > create mode 100644 include/linux/kfence.h > > create mode 100644 lib/Kconfig.kfence > > create mode 100644 mm/kfence/Makefile > > create mode 100644 mm/kfence/core.c > > create mode 100644 mm/kfence/kfence-test.c > > create mode 100644 mm/kfence/kfence.h > > create mode 100644 mm/kfence/report.c > > > --=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 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=-3.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 CFD83C433E2 for ; Tue, 8 Sep 2020 12:17:49 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 89C95221EE for ; Tue, 8 Sep 2020 12:17:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="S67zn5Oq"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=google.com header.i=@google.com header.b="QPX3it+b" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 89C95221EE Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=WAMNbiLWa2Jw+V4wqgNZEFdMw3DrGj01NzZZuFEq8ag=; b=S67zn5Oqvq0bPs33NPuuoh1Rk KVj0bS0ZH3qbxOz/CeoP8QeZ6NRp2qNJE/NwyDLcQ+EcZCp7laMPhP67QjepmikCxAGRftk8iEnAu NeXLqj6dQP9dms+Wn2yOd5XyX7hEeo4er0qlIDdyzuXhjaTWtjHT7ChnIm8fPXaE4E04Nu5QRNikU lOj53JuR8UE3mX2ILxqXeshAxDSrQlLWT1pPebOqI7gGCbwgYd2eVKl50a5yGHzgSP9+sjh4MlPcg wMmPYjUb7gvY5064Iuo8TcmSJSGj5hCo69uKdPDY13CW5+znFjuHWO6qKYXUuMpmpJ60VGC/ggGAw tCxRkI2Pw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kFcY1-0002KK-6t; Tue, 08 Sep 2020 12:16:29 +0000 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kFcXw-0002H2-0s for linux-arm-kernel@lists.infradead.org; Tue, 08 Sep 2020 12:16:25 +0000 Received: by mail-wm1-x342.google.com with SMTP id e17so17078050wme.0 for ; Tue, 08 Sep 2020 05:16:21 -0700 (PDT) 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=25SuQDI0eyCRm9y5WDHzplEK9oGtQL3VKe10BEOjmTA=; b=QPX3it+b0HCvDkvbnLXnuah4CoH16gftRJ7806vrwP3qNieZtYGGzWOWb5H6s2Ymo6 tFciYxxHwZ+bLk25IzxWbtHz0zL7hPxojHfBsUJqxOPoVKqSYMw4s5Jhs4CWSe+lLKvZ c5AwWr450MpqcX6CXpFhLMMNrVYkQ9Fjd8nqLWMfFi9LnzsfdtWd0LpKQYtzz+NCxHB3 J637fA5b93NLgh+gh4KvKv3RMjqzd73wNSnuCBKM/un+6MXqTcJ0HEPCNbet4mb1L5NA cKFb0yVJxMPcpuUS6t+uXVXwP2CwZFGY4q8U86OqXN4i0oaciML3l3t5SgA2Rsr+bZIa dFfg== 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=25SuQDI0eyCRm9y5WDHzplEK9oGtQL3VKe10BEOjmTA=; b=Z7lJfuP7BwzsMEz1CBQ2RsHBi0qg4kX7DQcezZS0nA70OzKqqKDQI0zjDm9BV1QN6N hznIc+3V1ay/byLROqjMmFT8TUyYc7IcdKEOA06RVfwXGS0wXY2c1Qj/7P7Blhf+10e7 YfAKYYrVJgKfHGbXlpjJ64GQPmfDBVIZ5Qfxv0ilLBxh4z+rldLleulrRD/fNxt2twLR exkCS2lKDscjb/1M7dgxJXZqFkK6Jx8dUVtJ+hGspL375+QoczhSt4djsTkff3GbM4En e8z6uEa83PqQhJJBopZBMluE20O/AsXj2Q1c4PBqhtmaaxQBtiSheNMUqywZfRrwfdkb eVTA== X-Gm-Message-State: AOAM530lqLPc7NATpCHpOgn9bDPJTrvYIvWSrX6YPdSdq9UQ4GTBhbNN Wm0AIBgXSwNo3Wf+20woWVsrKMpbLXqETEEBICl+sg== X-Google-Smtp-Source: ABdhPJzNFarnK0nYdbKJBLU0NMJuC6Hpm534oaFYqrVkXTx051ncwUm57xW2hX6Fd0DEO38hfYKPpM9pZm6/JEEqxdA= X-Received: by 2002:a1c:105:: with SMTP id 5mr4078883wmb.175.1599567380842; Tue, 08 Sep 2020 05:16:20 -0700 (PDT) MIME-Version: 1.0 References: <20200907134055.2878499-1-elver@google.com> <4dc8852a-120d-0835-1dc4-1a91f8391c8a@suse.cz> In-Reply-To: <4dc8852a-120d-0835-1dc4-1a91f8391c8a@suse.cz> From: Alexander Potapenko Date: Tue, 8 Sep 2020 14:16:09 +0200 Message-ID: Subject: Re: [PATCH RFC 00/10] KFENCE: A low-overhead sampling-based memory safety error detector To: Vlastimil Babka X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200908_081624_198746_C84E653F X-CRM114-Status: GOOD ( 25.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , linux-doc@vger.kernel.org, Peter Zijlstra , Catalin Marinas , dave.hansen@linux.intel.com, Linux Memory Management List , Eric Dumazet , "H. Peter Anvin" , Christoph Lameter , Will Deacon , Jonathan Corbet , the arch/x86 maintainers , kasan-dev , Ingo Molnar , linux-arm-kernel@lists.infradead.org, David Rientjes , Andrey Ryabinin , Marco Elver , Kees Cook , paulmck@kernel.org, Jann Horn , Andrey Konovalov , Borislav Petkov , Andy Lutomirski , Thomas Gleixner , Andrew Morton , Dmitriy Vyukov , Greg Kroah-Hartman , LKML , Pekka Enberg , Qian Cai , Joonsoo Kim Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org PiBUb2dnbGluZyBhIHN0YXRpYyBicmFuY2ggaXMgQUZBSUsgcXVpdGUgZGlzcnVwdGl2ZSAoUGV0 ZXJaIHdpbGwgcHJvYmFibHkgdGVsbAo+IHlvdSBiZXR0ZXIpLCBhbmQgd2l0aCB0aGUgZGVmYXVs dCAxMDBtcyBzYW1wbGUgaW50ZXJ2YWwsIEknZCB0aGluayBpdCdzIG5vdCBnb29kCj4gdG8gdG9n Z2xlIGl0IHNvIG9mdGVuPyBEaWQgeW91IG1lYXN1cmUgd2hhdCBwZXJmb3JtYW5jZSB3b3VsZCB5 b3UgZ2V0LCBpZiB0aGUKPiBzdGF0aWMga2V5IHdhcyBvbmx5IGZvciBsb25nLXRlcm0gdG9nZ2xp bmcgdGhlIHdob2xlIGZlYXR1cmUgb24gYW5kIG9mZiAoYm9vdAo+IHRpbWUgb3IgZXZlbiBydW50 aW1lKSwgYnV0IHRoZSBkZWNpc2lvbnMgImFtIEkgaW4gYSBzYW1wbGUgaW50ZXJ2YWwgcmlnaHQg bm93PyIKPiB3b3VsZCBiZSBub3JtYWwgdGVzdHMgYmVoaW5kIHRoaXMgc3RhdGljIGtleT8gVGhh bmtzLgoKMTAwbXMgaXMgdGhlIGRlZmF1bHQgdGhhdCB3ZSB1c2UgZm9yIHRlc3RpbmcsIGJ1dCBm b3IgcHJvZHVjdGlvbiBpdApzaG91bGQgYmUgZmluZSB0byBwaWNrIGEgbG9uZ2VyIGludGVydmFs IChlLmcuIDEgc2Vjb25kIG9yIG1vcmUpLgpXZSBoYXZlbid0IG5vdGljZWQgYW55IHBlcmZvcm1h bmNlIGltcGFjdCB3aXRoIG5laXRoZXIgMTAwbXMgbm9yIGJpZ2dlciB2YWx1ZXMuCgpSZWdhcmRp bmcgdXNpbmcgbm9ybWFsIGJyYW5jaGVzLCB0aGV5IGFyZSBxdWl0ZSBleHBlbnNpdmUuCkUuZy4g YXQgc29tZSBwb2ludCB3ZSB1c2VkIHRvIGhhdmUgYSBicmFuY2ggaW4gc2xhYl9mcmVlKCkgdG8g Y2hlY2sKd2hldGhlciB0aGUgZnJlZWQgb2JqZWN0IGJlbG9uZ2VkIHRvIEtGRU5DRSBwb29sLgpX aGVuIHRoZSBwb29sIGFkZHJlc3Mgd2FzIHRha2VuIGZyb20gbWVtb3J5LCB0aGlzIHJlc3VsdGVk IGluIHNvbWUKbm9uLXplcm8gcGVyZm9ybWFuY2UgcGVuYWx0eS4KCkFzIGZvciBlbmFibGluZyB0 aGUgd2hvbGUgZmVhdHVyZSBhdCBydW50aW1lLCBvdXIgaW50ZW50aW9uIGlzIHRvIGxldAp0aGUg dXNlcnMgaGF2ZSBpdCBlbmFibGVkIGJ5IGRlZmF1bHQsIG90aGVyd2lzZSBzb21lb25lIHdpbGwg bmVlZCB0bwp0ZWxsIGV2ZXJ5IG1hY2hpbmUgaW4gdGhlIGZsZWV0IHdoZW4gdGhlIGZlYXR1cmUg aXMgdG8gYmUgZW5hYmxlZC4KPgo+ID4gV2UgaGF2ZSB2ZXJpZmllZCBieSBydW5uaW5nIHN5bnRo ZXRpYyBiZW5jaG1hcmtzIChzeXNiZW5jaCBJL08sCj4gPiBoYWNrYmVuY2gpIHRoYXQgYSBrZXJu ZWwgd2l0aCBLRkVOQ0UgaXMgcGVyZm9ybWFuY2UtbmV1dHJhbCBjb21wYXJlZCB0bwo+ID4gYSBu b24tS0ZFTkNFIGJhc2VsaW5lIGtlcm5lbC4KPiA+Cj4gPiBLRkVOQ0UgaXMgaW5zcGlyZWQgYnkg R1dQLUFTYW4gWzFdLCBhIHVzZXJzcGFjZSB0b29sIHdpdGggc2ltaWxhcgo+ID4gcHJvcGVydGll cy4gVGhlIG5hbWUgIktGRU5DRSIgaXMgYSBob21hZ2UgdG8gdGhlIEVsZWN0cmljIEZlbmNlIE1h bGxvYwo+ID4gRGVidWdnZXIgWzJdLgo+ID4KPiA+IEZvciBtb3JlIGRldGFpbHMsIHNlZSBEb2N1 bWVudGF0aW9uL2Rldi10b29scy9rZmVuY2UucnN0IGFkZGVkIGluIHRoZQo+ID4gc2VyaWVzIC0t IGFsc28gdmlld2FibGUgaGVyZToKPiA+Cj4gPiAgICAgICBodHRwczovL3Jhdy5naXRodWJ1c2Vy Y29udGVudC5jb20vZ29vZ2xlL2thc2FuL2tmZW5jZS9Eb2N1bWVudGF0aW9uL2Rldi10b29scy9r ZmVuY2UucnN0Cj4gPgo+ID4gWzFdIGh0dHA6Ly9sbHZtLm9yZy9kb2NzL0d3cEFzYW4uaHRtbAo+ ID4gWzJdIGh0dHBzOi8vbGludXguZGllLm5ldC9tYW4vMy9lZmVuY2UKPiA+Cj4gPiBBbGV4YW5k ZXIgUG90YXBlbmtvICg2KToKPiA+ICAgbW06IGFkZCBLZXJuZWwgRWxlY3RyaWMtRmVuY2UgaW5m cmFzdHJ1Y3R1cmUKPiA+ICAgeDg2LCBrZmVuY2U6IGVuYWJsZSBLRkVOQ0UgZm9yIHg4Ngo+ID4g ICBtbSwga2ZlbmNlOiBpbnNlcnQgS0ZFTkNFIGhvb2tzIGZvciBTTEFCCj4gPiAgIG1tLCBrZmVu Y2U6IGluc2VydCBLRkVOQ0UgaG9va3MgZm9yIFNMVUIKPiA+ICAga2ZlbmNlLCBrYXNhbjogbWFr ZSBLRkVOQ0UgY29tcGF0aWJsZSB3aXRoIEtBU0FOCj4gPiAgIGtmZW5jZSwga21lbWxlYWs6IG1h a2UgS0ZFTkNFIGNvbXBhdGlibGUgd2l0aCBLTUVNTEVBSwo+ID4KPiA+IE1hcmNvIEVsdmVyICg0 KToKPiA+ICAgYXJtNjQsIGtmZW5jZTogZW5hYmxlIEtGRU5DRSBmb3IgQVJNNjQKPiA+ICAga2Zl bmNlLCBsb2NrZGVwOiBtYWtlIEtGRU5DRSBjb21wYXRpYmxlIHdpdGggbG9ja2RlcAo+ID4gICBr ZmVuY2UsIERvY3VtZW50YXRpb246IGFkZCBLRkVOQ0UgZG9jdW1lbnRhdGlvbgo+ID4gICBrZmVu Y2U6IGFkZCB0ZXN0IHN1aXRlCj4gPgo+ID4gIERvY3VtZW50YXRpb24vZGV2LXRvb2xzL2luZGV4 LnJzdCAgfCAgIDEgKwo+ID4gIERvY3VtZW50YXRpb24vZGV2LXRvb2xzL2tmZW5jZS5yc3QgfCAy ODUgKysrKysrKysrKysKPiA+ICBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgIHwg IDExICsKPiA+ICBhcmNoL2FybTY0L0tjb25maWcgICAgICAgICAgICAgICAgIHwgICAxICsKPiA+ ICBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2tmZW5jZS5oICAgIHwgIDM5ICsrCj4gPiAgYXJjaC9h cm02NC9tbS9mYXVsdC5jICAgICAgICAgICAgICB8ICAgNCArCj4gPiAgYXJjaC94ODYvS2NvbmZp ZyAgICAgICAgICAgICAgICAgICB8ICAgMiArCj4gPiAgYXJjaC94ODYvaW5jbHVkZS9hc20va2Zl bmNlLmggICAgICB8ICA2MCArKysKPiA+ICBhcmNoL3g4Ni9tbS9mYXVsdC5jICAgICAgICAgICAg ICAgIHwgICA0ICsKPiA+ICBpbmNsdWRlL2xpbnV4L2tmZW5jZS5oICAgICAgICAgICAgIHwgMTc0 ICsrKysrKysKPiA+ICBpbml0L21haW4uYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsK PiA+ICBrZXJuZWwvbG9ja2luZy9sb2NrZGVwLmMgICAgICAgICAgIHwgICA4ICsKPiA+ICBsaWIv S2NvbmZpZy5kZWJ1ZyAgICAgICAgICAgICAgICAgIHwgICAxICsKPiA+ICBsaWIvS2NvbmZpZy5r ZmVuY2UgICAgICAgICAgICAgICAgIHwgIDcwICsrKwo+ID4gIG1tL01ha2VmaWxlICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDEgKwo+ID4gIG1tL2thc2FuL2NvbW1vbi5jICAgICAgICAgICAg ICAgICAgfCAgIDcgKwo+ID4gIG1tL2tmZW5jZS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAg IDYgKwo+ID4gIG1tL2tmZW5jZS9jb3JlLmMgICAgICAgICAgICAgICAgICAgfCA3MzAgKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gPiAgbW0va2ZlbmNlL2tmZW5jZS10ZXN0LmMgICAgICAg ICAgICB8IDc3NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIG1tL2tmZW5jZS9r ZmVuY2UuaCAgICAgICAgICAgICAgICAgfCAxMDQgKysrKwo+ID4gIG1tL2tmZW5jZS9yZXBvcnQu YyAgICAgICAgICAgICAgICAgfCAyMDEgKysrKysrKysKPiA+ICBtbS9rbWVtbGVhay5jICAgICAg ICAgICAgICAgICAgICAgIHwgIDExICsKPiA+ICBtbS9zbGFiLmMgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDQ2ICstCj4gPiAgbW0vc2xhYl9jb21tb24uYyAgICAgICAgICAgICAgICAgICB8 ICAgNiArLQo+ID4gIG1tL3NsdWIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNzIgKyst Cj4gPiAgMjUgZmlsZXMgY2hhbmdlZCwgMjU5MSBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMo LSkKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXYtdG9vbHMva2ZlbmNl LnJzdAo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2tmZW5j ZS5oCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gveDg2L2luY2x1ZGUvYXNtL2tmZW5jZS5o Cj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGludXgva2ZlbmNlLmgKPiA+ICBjcmVh dGUgbW9kZSAxMDA2NDQgbGliL0tjb25maWcua2ZlbmNlCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IG1tL2tmZW5jZS9NYWtlZmlsZQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBtbS9rZmVuY2UvY29y ZS5jCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IG1tL2tmZW5jZS9rZmVuY2UtdGVzdC5jCj4gPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IG1tL2tmZW5jZS9rZmVuY2UuaAo+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBtbS9rZmVuY2UvcmVwb3J0LmMKPiA+Cj4KCgotLSAKQWxleGFuZGVyIFBvdGFwZW5rbwpT b2Z0d2FyZSBFbmdpbmVlcgoKR29vZ2xlIEdlcm1hbnkgR21iSApFcmlrYS1NYW5uLVN0cmHDn2Us IDMzCjgwNjM2IE3DvG5jaGVuCgpHZXNjaMOkZnRzZsO8aHJlcjogUGF1bCBNYW5pY2xlLCBIYWxp bWFoIERlTGFpbmUgUHJhZG8KUmVnaXN0ZXJnZXJpY2h0IHVuZCAtbnVtbWVyOiBIYW1idXJnLCBI UkIgODY4OTEKU2l0eiBkZXIgR2VzZWxsc2NoYWZ0OiBIYW1idXJnCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==