diff options
| author | Deepanshu Kartikey <kartikey406@gmail.com> | 2026-09-06 20:16:29 +0530 |
|---|---|---|
| committer | Carlos Maiolino <cem@kernel.org> | 2026-09-10 16:43:48 +0200 |
| commit | e240919ca727776f16a468d3d90686dc82cfe9cb (patch) | |
| tree | 7fb87c7ec508e6a6b36984a4b385d4da017d38a2 | |
| parent | 50ba24ccb9a94f61c707209442ca23d98c815052 (diff) | |
| download | linux-next-e240919ca727776f16a468d3d90686dc82cfe9cb.tar.gz linux-next-e240919ca727776f16a468d3d90686dc82cfe9cb.zip | |
xfs: take hm->lock in xfs_ioc_health_monitor() before insert
__xfs_healthmon_insert() asserts that hm->lock is held
(lockdep_assert_held), but xfs_ioc_health_monitor() called it right
after allocating hm, before ever taking the lock, triggering a
lockdep warning.
Take hm->lock around the call.
Fixes: b3a289a2a9397 ("xfs: create event queuing, formatting, and discovery infrastructure")
Reported-by: syzbot+ccdf3469f5f653bff7ac@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=ccdf3469f5f653bff7ac
Signed-off-by: Deepanshu Kartikey <kartikey406@gmail.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
| -rw-r--r-- | fs/xfs/xfs_healthmon.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/xfs/xfs_healthmon.c b/fs/xfs/xfs_healthmon.c index b57fa033cec4..c3749675ef19 100644 --- a/fs/xfs/xfs_healthmon.c +++ b/fs/xfs/xfs_healthmon.c @@ -1223,7 +1223,9 @@ xfs_ioc_health_monitor( } running_event->type = XFS_HEALTHMON_RUNNING; running_event->domain = XFS_HEALTHMON_MOUNT; + mutex_lock(&hm->lock); __xfs_healthmon_insert(hm, INSERT_HEAD, running_event); + mutex_unlock(&hm->lock); /* * Preallocate the unmount event so that we can't fail to notify the |
