Description
In the Linux kernel, the following vulnerability has been resolved: nilfs2: avoid having an active sc_timer before freeing sci Because kthread_stop did not stop sc_task properly and returned -EINTR, the sc_timer was not properly closed, ultimately causing the problem [1] reported by syzbot when freeing sci due to the sc_timer not being closed. Because the thread sc_task main function nilfs_segctor_thread() returns 0 when it succeeds, when the return value of kthread_stop() is not 0 in nilfs_segctor_destroy(), we believe that it has not properly closed sc_timer. We use timer_shutdown_sync() to sync wait for sc_timer to shutdown, and set the value of sc_task to NULL under the protection of lock sc_state_lock, so as to avoid the issue caused by sc_timer not being properly shutdowned. [1] ODEBUG: free active (active state 0) object: 00000000dacb411a object type: timer_list hint: nilfs_construction_timeout Call trace: nilfs_segctor_destroy fs/nilfs2/segment.c:2811 [inline] nilfs_detach_log_writer+0x668/0x8cc fs/nilfs2/segment.c:2877 nilfs_put_super+0x4c/0x12c fs/nilfs2/super.c:509
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
3f66cc261ccb54a8e4d8d5aa51c389c19453b00c to < 36049e81dc7f077e0e24d5b9688a7458beacef8faffected3f66cc261ccb54a8e4d8d5aa51c389c19453b00c to < 2f65799e2a736d556d306440c4e1e8906736117aaffected3f66cc261ccb54a8e4d8d5aa51c389c19453b00c to < 9a6b60cb147d53968753a34805211d2e5e08c027affected
Linux Linux
Default version status: affected
6.12affected0 to < 6.12unaffected6.12.59 to ≤ 6.12.*unaffected6.17.9 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected