DescriptionEugene Teo (Security Response)
2011-06-03 05:55:23 UTC
Andrea Righi reported a case where an exiting task can race against ksmd.
ksm_scan.mm_slot == the only registered mm
CPU 1 (bug program) CPU 2 (ksmd)
list_empty() is false
lock
ksm_scan.mm_slot
list_del
unlock
slot == &ksm_mm_head (but list is now empty_)
Close this race by revalidating that the new slot is not simply the list head again.
Reproducer: http://www.spinics.net/lists/linux-mm/msg20233.html
Proposed patch: http://www.spinics.net/lists/linux-mm/msg20301.html
Acknowledgements:
Red Hat would like to thank Andrea Righi for reporting this issue.
Comment 2Eugene Teo (Security Response)
2011-06-03 06:03:50 UTC
Statement:
This issue did not affect the versions of the Linux kernel as shipped with Red Hat Enterprise Linux 4, 5, and Red Hat Enterprise MRG do not provide support for KSM (Kernel Samepage Merging). This has been addressed in Red Hat Enterprise Linux 6 via https://rhn.redhat.com/errata/RHSA-2011-1189.html.