Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp4373612pxu; Wed, 9 Dec 2020 15:48:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJzY+A6PbHe7wHxX/papXAwcHoSDURgpq8ZmyehwoLY4HSFOzELo6bcU0hrVR4pXcI9uhYzg X-Received: by 2002:a17:906:578e:: with SMTP id k14mr4173335ejq.90.1607557688321; Wed, 09 Dec 2020 15:48:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607557688; cv=none; d=google.com; s=arc-20160816; b=aAlm/s/3C1AwoEJpw+InquNd0A4LQ/8LsG0oohshOgov88SkJnkJquWKb33183Q/p2 uhaJTfLLpSEmjJbbnCHtKXOnmyVoIVjurnShc/7drK9NWFd5EcbwG0hGguwIDI2gZE/3 tsrynfKTYkSfp2MeFbN4ZrR4WVAfPZdQk34Wdtd/0pFkAZw1mSXkqn7EsFP41d5eYF/C QHGFVqbdHU7Y7b/Qznri1fAfVDDmZganZVo1R3ov873POqbzard5TrJWBzqp05PS+PHa OOHcx+h2B9hGoHbxwZ8UMTcJ5Ki0reHAHf/eVdGHTSFGcg+boWL5+JS8eF2Hqg1XDaow 6nog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=nQgmlgyLspfkVp2FCuJol7fCS4Xdf4wtNQYwX+VG7Nw=; b=FytVLDSJICYFimXcTJUbdCggndjl9bANr2n+QUSm893ScVVGnFzVlUP39WsMh08p+h AuDBm4ezaAwbw+2NWVU8QZpMcaOSkaMqtSgl9PpNdbLpDzxHwZC85U+E+pY1tExbNEuR 27/Sujxkn0C3jZF7vZBakcCJiuAoM8zNGxArNRZjTdtQKwqigph7Em85FKec6fnVspVO jGu72RPYO44gopZBtVYdxO+hds6axtW4ImdpO/SSiDHAgvpUs/JcRxC4uyxMfgtzDTxO JDlnBrxKVywCDEmSBJEWXHy40T4yii5w6bWVymQ3K29GX/w8U5WOTxLAr1uxKr6Nsm2m RiMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=l9z1W9O3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g2si1686878edn.508.2020.12.09.15.47.46; Wed, 09 Dec 2020 15:48:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=l9z1W9O3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733259AbgLISu3 (ORCPT + 99 others); Wed, 9 Dec 2020 13:50:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48504 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731168AbgLISu3 (ORCPT ); Wed, 9 Dec 2020 13:50:29 -0500 Received: from mail-ot1-x341.google.com (mail-ot1-x341.google.com [IPv6:2607:f8b0:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0DB53C0613CF for ; Wed, 9 Dec 2020 10:49:49 -0800 (PST) Received: by mail-ot1-x341.google.com with SMTP id j12so2395902ota.7 for ; Wed, 09 Dec 2020 10:49:49 -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; bh=nQgmlgyLspfkVp2FCuJol7fCS4Xdf4wtNQYwX+VG7Nw=; b=l9z1W9O3U56nYI143oRJfV5311iDCKWoNpQI2FpTYMgLxt+baGoxWXsWfCjBDlFppv rAUd7fVu8DpLcrjze29pY6oLvq0xYJP7cEPd6XDycAukgjlFYuQzQuX4l1Vn+rFYo+QG g0H/ZbO1qMBSjxsJ3u72sevhToBFpUIys5OjjfwTxJXvlMT9vw0djPPYnitBhWvDTwIs 7h7pBmIigp3RjL1HLHtv9syoQVrWk1z9B/usq313vp4hILK+MZVWWt4zMlvyKlRNtd8R Zvktg6+bqd4FKFyge2x3pMdFgTKxZWE7SA3IUuoI4j9T45TRCTgKygftTDOjJPQf0WU0 MI8g== 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; bh=nQgmlgyLspfkVp2FCuJol7fCS4Xdf4wtNQYwX+VG7Nw=; b=MTfdZAMjNJPo3og7tci0+ADSaTzOJVro8c2wz0pr43WGxpqUvMdDhUq++lX6a2bI/z pIuOlWfL07K8VxiDoLEu2aUV2IgSK1Yw5+FsUqeF1jlVr48NC9SMjjTxgNCRrr12kEzy Yx5pgNNhC7iBWWDWusH7selQJHepdnDH+zrKn5z3d7YaKJho9BWrwxfwhjrjQTufDJ+L D9DmrL2Wonk2kkwBRHeDlCuwBcg4vJh2z8GPVWVZFRgTy+KpMXUmku2ol1QEMJ8z/7Wy x6R1CrmP25WCGrqRRrjKdKty4Ipc04b+kJBNavlyFiWdjSLG4MX5lJQye/NVC0cDRIH4 x4lA== X-Gm-Message-State: AOAM530G0MZvyOC2LhYsEMCjrQjHV8jhKqeqUun1qez3LCLgySDQbJoj vPIQLzJiulDgYq/SZLCd9XS63oppo+ZcSn0rfkoDmQ== X-Received: by 2002:a9d:6317:: with SMTP id q23mr3014950otk.251.1607539788150; Wed, 09 Dec 2020 10:49:48 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Marco Elver Date: Wed, 9 Dec 2020 19:49:36 +0100 Message-ID: Subject: Re: [PATCH mm 1/2] kasan: don't use read-only static keys To: Andrey Konovalov Cc: Andrew Morton , Catalin Marinas , Will Deacon , Vincenzo Frascino , Dmitry Vyukov , Andrey Ryabinin , Alexander Potapenko , Evgenii Stepanov , Branislav Rankov , Kevin Brodsky , kasan-dev , Linux ARM , Linux Memory Management List , LKML , Kees Cook Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 9 Dec 2020 at 19:24, Andrey Konovalov wrote: > __ro_after_init static keys are incompatible with usage in loadable kernel > modules and cause crashes. Don't use those, use normal static keys. > > Signed-off-by: Andrey Konovalov Reviewed-by: Marco Elver > --- > > This fix can be squashed into > "kasan: add and integrate kasan boot parameters". > > --- > mm/kasan/hw_tags.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/kasan/hw_tags.c b/mm/kasan/hw_tags.c > index c91f2c06ecb5..55bd6f09c70f 100644 > --- a/mm/kasan/hw_tags.c > +++ b/mm/kasan/hw_tags.c > @@ -43,11 +43,11 @@ static enum kasan_arg_stacktrace kasan_arg_stacktrace __ro_after_init; > static enum kasan_arg_fault kasan_arg_fault __ro_after_init; > > /* Whether KASAN is enabled at all. */ > -DEFINE_STATIC_KEY_FALSE_RO(kasan_flag_enabled); > +DEFINE_STATIC_KEY_FALSE(kasan_flag_enabled); Side-node: This appears to be just a bad interface; I think the macro DEFINE_STATIC_KEY_FALSE_RO() is error-prone, if it can't be guaranteed that this is always safe, since the presence of the macro encourages its use and we'll inevitably run into this problem again. > EXPORT_SYMBOL(kasan_flag_enabled); DEFINE_STATIC_KEY_FALSE_RO() + EXPORT_SYMBOL() is an immediate bug. Given its use has not increased substantially since its introduction, it may be safer to consider its removal. Thanks, -- Marco