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=-23.2 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,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 B57BAC4338F for ; Thu, 12 Aug 2021 08:50:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9AAA161077 for ; Thu, 12 Aug 2021 08:50:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235129AbhHLIvM (ORCPT ); Thu, 12 Aug 2021 04:51:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231470AbhHLIvI (ORCPT ); Thu, 12 Aug 2021 04:51:08 -0400 Received: from mail-ot1-x32d.google.com (mail-ot1-x32d.google.com [IPv6:2607:f8b0:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C46CC061765 for ; Thu, 12 Aug 2021 01:50:42 -0700 (PDT) Received: by mail-ot1-x32d.google.com with SMTP id d10-20020a9d4f0a0000b02904f51c5004e3so6852478otl.9 for ; Thu, 12 Aug 2021 01:50:42 -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; bh=AFyPNO4ZkizLh3L5gPVy35vzpqSp3wuB2t4x2aRMQPw=; b=Dw7WCJKVYgppAHEJ9FQoaU/9bvIu6cF/4LSfy/ttMhKBAoNhFwTPw0t53y7YerEawH mBCjRqy55uTCgjD+xFR+HRu+IMueLOqNAFVUA30pc2UD9e9WljLfDvNNImDkvmHhtEXq /17Ck0yYL4aMOtXxAnMoMHPNVz+z3HIcmqDoZ9pfI8J9D9PT5wZJV+X0Hh4c9O7XQk0v Q4FRqWdIytObCFcQb1zdUXdUK6YIX0T6leyn1aGbYpRvvJNIcR4Cj7ZVcbzep3r7drJo dzDTcRcQqHqbEpc9P7eeknis+nDKldFIn2TE6YRuWTTAdz/5JnzLI+Bka0lNgQqXapAB Fy/w== 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=AFyPNO4ZkizLh3L5gPVy35vzpqSp3wuB2t4x2aRMQPw=; b=rh5NAd/kNC1JF8wjjamNDOjQg/B1TxQsKuegvqjLWGvNEqTD/zQlRRJUv6OxIjpxr8 iace/iZkQol2rE4VAFThPuMBzCMFRDA0t1SEcQK/h5R2oTBY6osD25CFLcBLOke0Dopv Sjgd3nopjB+/0W0P0TpS55WyOYivDNHswDjwGWRInCJ9PGDSyUSbC28A0Y0lU8UKIg53 RbVYGiEU+WpuyKGEr8dsDf4DpM1nyMiQ3hKFUBPP7+dUwruf0eSOel9rRerL6q95Ifwi JVgZBgF9dyY4brY9WN+tidOkEBHuxYhJbChEmXu7MTCb0G3WovPXO+N8efUeLJPlkS/c psmg== X-Gm-Message-State: AOAM532S8cwqC7a8RiBSbeWz/49Dcspn4Xt/QTuJuXuo9PQhWJrvJ3iQ rKbci9xRENkB6Bwxflsx/6gQ1HmEjeWV4CdAwC611A== X-Google-Smtp-Source: ABdhPJysDReP89EMb13h1cgaiQj6lz+h0CzBnsfGhqallZmJIUoyDxnfKrmhk6+UmkuMXENkHCDbCJHccctC237tsrs= X-Received: by 2002:a05:6830:1490:: with SMTP id s16mr2619178otq.233.1628758241746; Thu, 12 Aug 2021 01:50:41 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Marco Elver Date: Thu, 12 Aug 2021 10:50:30 +0200 Message-ID: Subject: Re: [PATCH 8/8] kasan: test: avoid corrupting memory in kasan_rcu_uaf To: andrey.konovalov@linux.dev Cc: Andrew Morton , Andrey Konovalov , Andrey Ryabinin , Dmitry Vyukov , Alexander Potapenko , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 11 Aug 2021 at 21:34, wrote: > > From: Andrey Konovalov > > kasan_rcu_uaf() writes to freed memory via kasan_rcu_reclaim(), which is > only safe with the GENERIC mode (as it uses quarantine). For other modes, > this test corrupts kernel memory, which might result in a crash. > > Turn the write into a read. > > Signed-off-by: Andrey Konovalov Reviewed-by: Marco Elver > --- > lib/test_kasan_module.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/test_kasan_module.c b/lib/test_kasan_module.c > index fa73b9df0be4..7ebf433edef3 100644 > --- a/lib/test_kasan_module.c > +++ b/lib/test_kasan_module.c > @@ -71,7 +71,7 @@ static noinline void __init kasan_rcu_reclaim(struct rcu_head *rp) > struct kasan_rcu_info, rcu); > > kfree(fp); > - fp->i = 1; > + ((volatile struct kasan_rcu_info *)fp)->i; > } > > static noinline void __init kasan_rcu_uaf(void) > -- > 2.25.1 >