• Marko Mäkelä's avatar
    MDEV-25026 Various code paths are accessing freed pages · 01b44c05
    Marko Mäkelä authored
    The test case encryption.innodb_encrypt_freed was failing in
    MemorySanitizer builds.
    
    recv_recover_page(): Mark non-recovered pages as freed.
    
    fil_crypt_rotate_page(): Before comparing the block->frame contents,
    check if the block was marked as freed.
    
    Other places: Whenever using BUF_GET_POSSIBLY_FREED, check the
    block->page.status before accessing the page frame.
    
    (Both uses of BUF_GET_IF_IN_POOL should be correct now.)
    01b44c05
fil0crypt.cc 70.7 KB