Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  • David Hildenbrand's avatar
    Revert "mm: init_mlocked_on_free_v3" · 384a746b
    David Hildenbrand authored
    There was insufficient review and no agreement that this is the right
    approach.
    
    There are serious flaws with the implementation that make processes using
    mlock() not even work with simple fork() [1] and we get reliable crashes
    when rebooting.
    
    Further, simply because we might be unmapping a single PTE of a large
    mlocked folio, we shouldn't zero out the whole folio.
    
    ... especially because the code can also *corrupt* urelated memory because
    	kernel_init_pages(page, folio_nr_pages(folio));
    
    Could end up writing outside of the actual folio if we work with a tail
    page.
    
    Let's revert it.  Once there is agreement that this is the right approach,
    the issues were fixed and there was reasonable review and proper testing,
    we can consider it again.
    
    [1] https://lkml.kernel.org/r/4da9da2f-73e4-45fd-b62f-a8a513314057@redhat.com
    
    Link: https://lkml.kernel.org/r/20240605091710.38961-1-david@redhat.com
    Fixes: ba42b524 ("mm: init_mlocked_on_free_v3")
    Signed-off-by: David Hildenbra...
    384a746b