Commit 6cb9df8
gfs2: fix double destroy_workqueue error
When gfs2_fill_super() fails, destroy_workqueue() is called within
gfs2_gl_hash_clear(), and the subsequent code path calls
destroy_workqueue() on the same work queue again.
This issue can be fixed by setting the work queue pointer to NULL after
the first destroy_workqueue() call and checking for a NULL pointer
before attempting to destroy the work queue again.
Reported-by: [email protected]
Closes: https://syzkaller.appspot.com/bug?extid=d34c2a269ed512c531b0
Fixes: 30e388d ("gfs2: Switch to a per-filesystem glock workqueue")
Cc: [email protected]
Signed-off-by: Julian Sun <[email protected]>
Signed-off-by: Andreas Gruenbacher <[email protected]>1 parent 4117efd commit 6cb9df8
2 files changed
+3
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2251 | 2251 | | |
2252 | 2252 | | |
2253 | 2253 | | |
| 2254 | + | |
2254 | 2255 | | |
2255 | 2256 | | |
2256 | 2257 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1307 | 1307 | | |
1308 | 1308 | | |
1309 | 1309 | | |
1310 | | - | |
| 1310 | + | |
| 1311 | + | |
1311 | 1312 | | |
1312 | 1313 | | |
1313 | 1314 | | |
| |||
0 commit comments