From: syzbot <syzbot+1a8e2b31f2ac9bd3d148@syzkaller.appspotmail.com>
To: linux-kernel@vger.kernel.org
Subject: Re: [syzbot] Re: [syzbot] [f2fs?] KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
Date: Thu, 25 Jul 2024 05:49:23 -0700 [thread overview]
Message-ID: <000000000000028216061e11d327@google.com> (raw)
In-Reply-To: <0000000000005c7ccb061e032b9b@google.com>
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org.
***
Subject: Re: [syzbot] [f2fs?] KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
Author: lizhi.xu@windriver.com
before thread stop and free gc_thread, set sbi->gc_thread to NULL,
and add lock for reentry f2fs_stop_gc_thread.
#syz test: upstream 2c9b3512402e
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 6066c6eecf41..462f8957ea9a 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -203,14 +203,20 @@ int f2fs_start_gc_thread(struct f2fs_sb_info *sbi)
void f2fs_stop_gc_thread(struct f2fs_sb_info *sbi)
{
- struct f2fs_gc_kthread *gc_th = sbi->gc_thread;
+ struct f2fs_gc_kthread *gc_th;
+ static DEFINE_MUTEX(gct_mutex);
+ mutex_lock(&gct_mutex);
+ gc_th = sbi->gc_thread;
if (!gc_th)
- return;
+ goto unlock;
+
+ sbi->gc_thread = NULL;
kthread_stop(gc_th->f2fs_gc_task);
wake_up_all(&gc_th->fggc_wq);
kfree(gc_th);
- sbi->gc_thread = NULL;
+unlock:
+ mutex_unlock(&gct_mutex);
}
static int select_gc_type(struct f2fs_sb_info *sbi, int gc_type)
next prev parent reply other threads:[~2024-07-25 12:49 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-24 19:20 [f2fs-dev] [syzbot] [f2fs?] KASAN: null-ptr-deref Write in f2fs_stop_gc_thread syzbot
2024-07-24 19:20 ` syzbot
2024-07-25 1:32 ` [syzbot] " syzbot
2024-07-25 2:21 ` syzbot
2024-07-25 5:08 ` syzbot
2024-07-25 7:27 ` syzbot
2024-07-25 8:08 ` syzbot
2024-07-25 12:49 ` syzbot [this message]
2024-07-25 13:19 ` syzbot
2024-07-25 13:53 ` syzbot
2024-07-26 11:08 ` Edward Adam Davis
2024-07-26 17:02 ` syzbot
2024-07-27 2:08 ` Edward Adam Davis
2024-07-27 2:48 ` syzbot
2024-07-27 3:38 ` Edward Adam Davis
2024-07-27 4:01 ` syzbot
2024-07-27 4:07 ` Edward Adam Davis
2024-07-27 5:13 ` syzbot
2024-07-27 5:56 ` [f2fs-dev] [PATCH] f2fs: Add mutex to prevent gc task from being accessed before initialization Edward Adam Davis via Linux-f2fs-devel
2024-07-27 5:56 ` Edward Adam Davis
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=000000000000028216061e11d327@google.com \
--to=syzbot+1a8e2b31f2ac9bd3d148@syzkaller.appspotmail.com \
--cc=linux-kernel@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.