Re: [syzbot] [block?] general protection fault in rtlock_slowlock_locked
From: Edward Adam Davis
Date: Mon Nov 10 2025 - 18:21:05 EST
#syz test
diff --git a/fs/jfs/jfs_lock.h b/fs/jfs/jfs_lock.h
index feb37dd9debf..ab798de87202 100644
--- a/fs/jfs/jfs_lock.h
+++ b/fs/jfs/jfs_lock.h
@@ -29,7 +29,7 @@ do { \
if (cond) \
break; \
unlock_cmd; \
- io_schedule(); \
+ io_schedule_timeout(HZ); \
lock_cmd; \
} \
__set_current_state(TASK_RUNNING); \
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index b343c5ea1159..ee6e9ed5e3af 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -1860,6 +1860,7 @@ static void lbmLogShutdown(struct jfs_log * log)
lbuf = log->lbuf_free;
while (lbuf) {
struct lbuf *next = lbuf->l_freelist;
+ lbmIOWait(lbuf, 0);
__free_page(lbuf->l_page);
kfree(lbuf);
lbuf = next;