Description
In the Linux kernel, the following vulnerability has been resolved: md: fix soft lockup in status_resync status_resync() will calculate 'curr_resync - recovery_active' to show user a progress bar like following: [============>........] resync = 61.4% 'curr_resync' and 'recovery_active' is updated in md_do_sync(), and status_resync() can read them concurrently, hence it's possible that 'curr_resync - recovery_active' can overflow to a huge number. In this case status_resync() will be stuck in the loop to print a large amount of '=', which will end up soft lockup. Fix the problem by setting 'resync' to MD_RESYNC_ACTIVE in this case, this way resync in progress will be reported to user.
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
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < b4acb6c3ede88d6b7d33742a09e63cfce5e7fb69affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 23309704e90859af2662bedc44101e6d1d2ece7eaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 6efddf1e32e2a264694766ca485a4f5e04ee82a7affected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected6.1.30 to ≤ 6.1.*unaffected6.3.4 to ≤ 6.3.*unaffected6.4 to ≤ *unaffected