Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A828FC61DA4 for ; Wed, 15 Mar 2023 21:05:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232314AbjCOVF4 (ORCPT ); Wed, 15 Mar 2023 17:05:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229584AbjCOVFt (ORCPT ); Wed, 15 Mar 2023 17:05:49 -0400 Received: from mail-io1-xd36.google.com (mail-io1-xd36.google.com [IPv6:2607:f8b0:4864:20::d36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EFBEE3B3DB for ; Wed, 15 Mar 2023 14:05:18 -0700 (PDT) Received: by mail-io1-xd36.google.com with SMTP id q6so8413580iot.2 for ; Wed, 15 Mar 2023 14:05:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678914318; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=IwGhmwR58ADGQ+ITIo7v6jnjt7oIvun400KU/kpOQR4=; b=YzSWvQUxOkJcRTkv1YhAMyONarbx7Wu+HHznXkPA9m54ndq1AiUlL+AhbB/8LXmCAm 6vf7d1cVNB1CzyCt7T0lqXBRCFFZuNexrCKvXLs/EnXy1m+szYTG8Q3+9NabFzQlUVr1 c/VThVm63A3IUacpvDyqPgH90lPd/O82UO8n6UUb/lwesL/Qcy4Y2KyOMQz+OJvS8yvS tNdNKOjTpRGsA/IIfxTocHxycPqQiDevURIp7UIxm43Kjl1YPtAwwzUCU6d+jICr7dEt D+d8viAnkQ0JtW0ZzaVYrdgeY22LR53R1mA2bOcPqN4ki56zHOJCRDrCZQpw4TDhLk/7 EnWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678914318; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=IwGhmwR58ADGQ+ITIo7v6jnjt7oIvun400KU/kpOQR4=; b=d7EbJyABYLxrACw81A9WXfr86ukp/Cdn5YZYCpOwSr+KOnBlDgG/979LfZVyfUSmcd vGB3R68V3RKRBcyAWeF1kCWfx5nOETka6yI0fQ8sN/MCJKTb6b1tS0Z1HmE1H8jWKYYj 6XaCvXuGbfgKizppwkHHVRk4EvNQD/c1zBGX9pcUndc5zI4jdG/eT+BhijOWPwWb2Mhc nAdRf+eZesg6hORD/0PLzhzd3bwsXrBtKzNA2/TH4KdAkdrUs6g9HsOTYH+LEkYjtBLu o7zMpPsRriV6/dnTjoZcm3eVgOT1Lis6EVxJjW+99Jweex60m7Qx2/74KhnbvFNLRbNj KUGQ== X-Gm-Message-State: AO0yUKXwswxEPhvLh8N70EocYohLIzSGw0ah2hFJjhaFnYyazvGZl1mX C7MkPabwWY2SPvtSrKDSBej5hdQXm9TGhk/Gc7G7aw== X-Google-Smtp-Source: AK7set/O/C/AmSPYxARwLjtbc8HQkBpIBl2PZeSCG4mpPndRBaBsslTRMqibTUEyoa/Dpk4ISb2xZMwqOaEvshNFNg4= X-Received: by 2002:a6b:ed02:0:b0:74c:8243:9291 with SMTP id n2-20020a6bed02000000b0074c82439291mr19019902iog.1.1678914317895; Wed, 15 Mar 2023 14:05:17 -0700 (PDT) MIME-Version: 1.0 References: <20230315034441.44321-1-songmuchun@bytedance.com> <20230315125425.70a22d32cf46b23d249775ec@linux-foundation.org> In-Reply-To: <20230315125425.70a22d32cf46b23d249775ec@linux-foundation.org> From: Marco Elver Date: Wed, 15 Mar 2023 22:04:33 +0100 Message-ID: Subject: Re: [PATCH] mm: kfence: fix using kfence_metadata without initialization in show_object() To: Andrew Morton Cc: Muchun Song , glider@google.com, dvyukov@google.com, jannh@google.com, sjpark@amazon.de, kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, muchun.song@linux.dev Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 15 Mar 2023 at 20:54, Andrew Morton wrote: > > On Wed, 15 Mar 2023 09:07:40 +0100 Marco Elver wrote: > > > On Wed, 15 Mar 2023 at 04:45, Muchun Song wrote: > > > > > > The variable kfence_metadata is initialized in kfence_init_pool(), then, it is > > > not initialized if kfence is disabled after booting. In this case, kfence_metadata > > > will be used (e.g. ->lock and ->state fields) without initialization when reading > > > /sys/kernel/debug/kfence/objects. There will be a warning if you enable > > > CONFIG_DEBUG_SPINLOCK. Fix it by creating debugfs files when necessary. > > > > > > Fixes: 0ce20dd84089 ("mm: add Kernel Electric-Fence infrastructure") > > > Signed-off-by: Muchun Song > > > > Tested-by: Marco Elver > > Reviewed-by: Marco Elver > > Thanks, I'll add cc:stable to this. > > I assume the warning is the only known adverse effect of this bug? For architectures where the initial spinlock state is 0, the warning is the only issue. For architectures where that's not the case, it might result in lockup of the task querying the 'objects' file -- which isn't the case for any arch that supports KFENCE by the looks of it (last I checked 'sh' and 'parisc' don't support KFENCE). Thanks, -- Marco