In the Linux kernel, the following vulnerability has been resolved: mm/ksm: fix race with VMA iteration and mm_struct teardown exit_mmap() will tear down the VMAs and maple tree with the mmap_lock held in write mode. Ensure that the maple tree is still valid by checking ksm_test_exit() after taking the mmap_lock in read mode, but before the for_each_vma() iterator dereferences a destroyed maple tree. Since the maple tree is destroyed, the flags telling lockdep to check an external lock has been cleared. Skip the for_each_vma() iterator to avoid dereferencing a maple tree without the external lock flag, which would create a lockdep warning.
| Product | Vendor | Version |
|---|---|---|
| Linux | Linux | 12.3(4)XD3 |
| Linux | Linux | 12.3(4)XD2 |
| Linux | Linux | 10 Version 1709 for x64-based Systems |
| Linux | Linux | 10 Version 1803 for ARM64-based Systems |