Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-23229

Read of Uninitialized memory during buffer pool resizing

    XMLWordPrintable

    Details

      Description

      buf_block_t::unfix:

       
       uint32_t unfix()
        {
          uint32_t fix_count= page.unfix();
          ut_ad(fix_count || page.io_fix() != BUF_IO_NONE ||
                page.state() == BUF_BLOCK_ZIP_PAGE ||
                !rw_lock_own_flagged(&lock, RW_LOCK_FLAG_X | RW_LOCK_FLAG_S |
                                     RW_LOCK_FLAG_SX));
          return fix_count;
        }
      

      After unfixing the page, InnoDB waits to enter rw_lock_debug_mutex_enter(). In the meantime, InnoDB shrinking its buffer pool and de-allocate the memory. While accessing lock->debug_list inside rw_lock_own_flagged() leads to failure of access of uninitialized memory

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              thiru Thirunarayanan Balathandayuthapani
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: