• Marko Mäkelä's avatar
    MDEV-14874 innodb_encrypt_log corrupts the log when the LSN crosses 32-bit boundary · 16d308e2
    Marko Mäkelä authored
    This bug affects both writing and reading encrypted redo log in
    MariaDB 10.1, starting from version 10.1.3 which added support for
    innodb_encrypt_log. That is, InnoDB crash recovery and Mariabackup
    will sometimes fail when innodb_encrypt_log is used.
    
    MariaDB 10.2 or Mariabackup 10.2 or later versions are not affected.
    
    log_block_get_start_lsn(): Remove. This function would cause trouble if
    a log segment that is being read is crossing a 32-bit boundary of the LSN,
    because this function does not allow the most significant 32 bits of the
    LSN to change.
    
    log_blocks_crypt(), log_encrypt_before_write(), log_decrypt_after_read():
    Add the parameter "lsn" for the start LSN of the block.
    
    log_blocks_encrypt(): Remove (unused function).
    16d308e2
log0log.cc 94.1 KB