Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8216987

ciMethodData::load_data() unpacks MDOs with non-atomic copy

    Details

    • Subcomponent:
    • Resolved In Build:
      b06

      Backports

        Description

        The ciMethodData::load_data() member function copies a raw MDO to the compiler mirror of said MDO. However, the copy is performed using a non-atomic copy function, despite being updated concurrently. This could potentially cause word tearing when reading metadata pointers, causing the VM to crash... in theory.

        While this is not a problem when unpacking the extra data section, because it is done under a lock, the same can not be said about the rest of the MDO. So it should either be protected by a lock, or use an atomic copy function instead.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  eosterlund Erik Österlund
                  Reporter:
                  eosterlund Erik Österlund
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: