Commit f119414a authored by Tetsuo Handa's avatar Tetsuo Handa Committed by Greg Kroah-Hartman

hfsplus: stop workqueue when fill_super() failed

commit 66072c29 upstream.

syzbot is reporting ODEBUG messages at hfsplus_fill_super() [1].  This
is because hfsplus_fill_super() forgot to call cancel_delayed_work_sync().

As far as I can see, it is hfsplus_mark_mdb_dirty() from
hfsplus_new_inode() in hfsplus_fill_super() that calls
queue_delayed_work().  Therefore, I assume that hfsplus_new_inode() does
not fail if queue_delayed_work() was called, and the out_put_hidden_dir
label is the appropriate location to call cancel_delayed_work_sync().


Link: default avatarTetsuo Handa <>
Reported-by: default avatarsyzbot <>
Cc: Al Viro <>
Cc: David Howells <>
Cc: Ernesto A. Fernandez <>
Cc: Vyacheslav Dubeyko <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
Signed-off-by: default avatarGreg Kroah-Hartman <>
parent 9f2c3586
......@@ -588,6 +588,7 @@ static int hfsplus_fill_super(struct super_block *sb, void *data, int silent)
return 0;
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment