All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Muchun Song <muchun.song@linux.dev>
Cc: akpm@linux-foundation.org, dvyukov@google.com, elver@google.com,
	glider@google.com, jannh@google.com, sjpark@amazon.de,
	songmuchun@bytedance.com, stable@vger.kernel.org
Subject: Re: FAILED: patch "[PATCH] mm: kfence: fix using kfence_metadata without initialization" failed to apply to 5.15-stable tree
Date: Tue, 28 Mar 2023 15:19:56 +0200	[thread overview]
Message-ID: <ZCLpfES07kMJv_rh@kroah.com> (raw)
In-Reply-To: <90d1ad90-028c-7fa2-70dd-09737eece60c@linux.dev>

On Tue, Mar 28, 2023 at 09:02:27PM +0800, Muchun Song wrote:
> 
> 
> On 2023/3/28 20:01, gregkh@linuxfoundation.org wrote:
> > The patch below does not apply to the 5.15-stable tree.
> > If someone wants it applied there, or to any other stable or longterm
> > tree, then please email the backport, including the original git commit
> > id to <stable@vger.kernel.org>.
> > 
> > To reproduce the conflict and resubmit, you may use the following commands:
> > 
> > git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
> > git checkout FETCH_HEAD
> > git cherry-pick -x 1c86a188e03156223a34d09ce290b49bd4dd0403
> > # <resolve conflicts, build, test, etc.>
> > git commit -s
> > git send-email --to '<stable@vger.kernel.org>' --in-reply-to '16800049118459@kroah.com' --subject-prefix 'PATCH 5.15.y' HEAD^..
> > 
> > Possible dependencies:
> > 
> > 1c86a188e031 ("mm: kfence: fix using kfence_metadata without initialization in show_object()")
> > b33f778bba5e ("kfence: alloc kfence_pool after system startup")
> > 698361bca2d5 ("kfence: allow re-enabling KFENCE after system startup")
> > 07e8481d3c38 ("kfence: always use static branches to guard kfence_alloc()")
> > 08f6b10630f2 ("kfence: limit currently covered allocations when pool nearly full")
> > a9ab52bbcb52 ("kfence: move saving stack trace of allocations into __kfence_alloc()")
> > 9a19aeb56650 ("kfence: count unexpectedly skipped allocations")
> > 
> > thanks,
> > 
> > greg k-h
> > 
> > ------------------ original commit in Linus's tree ------------------
> > 
> >  From 1c86a188e03156223a34d09ce290b49bd4dd0403 Mon Sep 17 00:00:00 2001
> > From: Muchun Song <muchun.song@linux.dev>
> > Date: Wed, 15 Mar 2023 11:44:41 +0800
> > Subject: [PATCH] mm: kfence: fix using kfence_metadata without initialization
> >   in show_object()
> > 
> > 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.
> > 
> > Link: https://lkml.kernel.org/r/20230315034441.44321-1-songmuchun@bytedance.com
> > Fixes: 0ce20dd84089 ("mm: add Kernel Electric-Fence infrastructure")
> > Signed-off-by: Muchun Song <songmuchun@bytedance.com>
> > Tested-by: Marco Elver <elver@google.com>
> > Reviewed-by: Marco Elver <elver@google.com>
> > Cc: Alexander Potapenko <glider@google.com>
> > Cc: Dmitry Vyukov <dvyukov@google.com>
> > Cc: Jann Horn <jannh@google.com>
> > Cc: SeongJae Park <sjpark@amazon.de>
> > Cc: <stable@vger.kernel.org>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > 
> > diff --git a/mm/kfence/core.c b/mm/kfence/core.c
> > index 5349c37a5dac..79c94ee55f97 100644
> > --- a/mm/kfence/core.c
> > +++ b/mm/kfence/core.c
> > @@ -726,10 +726,14 @@ static const struct seq_operations objects_sops = {
> >   };
> >   DEFINE_SEQ_ATTRIBUTE(objects);
> > -static int __init kfence_debugfs_init(void)
> > +static int kfence_debugfs_init(void)
> >   {
> > -	struct dentry *kfence_dir = debugfs_create_dir("kfence", NULL);
> > +	struct dentry *kfence_dir;
> > +	if (!READ_ONCE(kfence_enabled))
> > +		return 0;
> > +
> > +	kfence_dir = debugfs_create_dir("kfence", NULL);
> >   	debugfs_create_file("stats", 0444, kfence_dir, NULL, &stats_fops);
> >   	debugfs_create_file("objects", 0400, kfence_dir, NULL, &objects_fops);
> >   	return 0;
> > @@ -883,6 +887,8 @@ static int kfence_init_late(void)
> >   	}
> >   	kfence_init_enable();
> > +	kfence_debugfs_init();
> > +
> >   	return 0;
> >   }
> 
> I have implemented a following patch based on v5.15 branch.
> 
> From ba26f344fa3e477456a3cc60488a7b8e5af0e88d Mon Sep 17 00:00:00 2001
> From: Muchun Song <songmuchun@bytedance.com>
> Date: Wed, 15 Mar 2023 11:44:41 +0800
> Subject: [PATCH] mm: kfence: fix using kfence_metadata without
> initialization
>  in show_object()
> 
> 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.
> 
> Link:
> https://lkml.kernel.org/r/20230315034441.44321-1-songmuchun@bytedance.com
> Fixes: 0ce20dd84089 ("mm: add Kernel Electric-Fence infrastructure")
> Signed-off-by: Muchun Song <songmuchun@bytedance.com>
> Tested-by: Marco Elver <elver@google.com>
> Reviewed-by: Marco Elver <elver@google.com>
> Cc: Alexander Potapenko <glider@google.com>
> Cc: Dmitry Vyukov <dvyukov@google.com>
> Cc: Jann Horn <jannh@google.com>
> Cc: SeongJae Park <sjpark@amazon.de>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>  mm/kfence/core.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/kfence/core.c b/mm/kfence/core.c
> index 39a6c434e355..573f34e6af0b 100644
> --- a/mm/kfence/core.c
> +++ b/mm/kfence/core.c
> @@ -678,10 +678,14 @@ static const struct file_operations objects_fops = {
>      .release = seq_release,
>  };
> 

Patch is corrupted with the whitespace eaten by your email client.  Can
you resend this in a format that it can be applied?

thanks,

greg k-h

  reply	other threads:[~2023-03-28 13:20 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-28 12:01 FAILED: patch "[PATCH] mm: kfence: fix using kfence_metadata without initialization" failed to apply to 5.15-stable tree gregkh
2023-03-28 13:02 ` Muchun Song
2023-03-28 13:19   ` Greg KH [this message]
2023-03-28 13:27     ` Muchun Song
2023-03-28 13:50       ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZCLpfES07kMJv_rh@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=dvyukov@google.com \
    --cc=elver@google.com \
    --cc=glider@google.com \
    --cc=jannh@google.com \
    --cc=muchun.song@linux.dev \
    --cc=sjpark@amazon.de \
    --cc=songmuchun@bytedance.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.