CVE-2025-68240

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinux3f66cc261ccb54a8e4d8d5aa51c389c19453b00c < 36049e81dc7f077e0e24d5b9688a7458beacef8faffected
LinuxLinux3f66cc261ccb54a8e4d8d5aa51c389c19453b00c < 2f65799e2a736d556d306440c4e1e8906736117aaffected
LinuxLinux3f66cc261ccb54a8e4d8d5aa51c389c19453b00c < 9a6b60cb147d53968753a34805211d2e5e08c027affected
LinuxLinux6.12affected
LinuxLinux0 < 6.12unaffected
LinuxLinux6.12.59 <= 6.12.*unaffected
LinuxLinux6.17.9 <= 6.17.*unaffected
LinuxLinux6.18 <= *unaffected

Weaknesses

References