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

Adjust permission for delayed starting of debugging

    XMLWordPrintable

Details

    • CSR
    • Resolution: Approved
    • P3
    • 13
    • core-svc
    • None
    • behavioral
    • low
    • A user of the DCmd having access permissions monitor won't be able to enable debugging any longer.
    • Other
    • Implementation

    Description

      Summary

      The required permission for DCmd VM.start_java_debugging will be changed from monitor to control.

      Problem

      The DCmd VM.start_java_debugging provides the ability to enable to connect to the VM with a debbugger. As the task of debugging provides the debugger with more than only monitoring capablilities, e.g. fields and data in the VM can be modified, a permission of type "control" seems more suitable.

      Solution

      The permission needs to be changed in the coding for diagnostic commands in hotspot.

      Specification

      The (simple) patch looks like this:

      diff --git a/src/hotspot/share/services/diagnosticCommand.hpp b/src/hotspot/share/services/diagnosticCommand.hpp
      --- a/src/hotspot/share/services/diagnosticCommand.hpp
      +++ b/src/hotspot/share/services/diagnosticCommand.hpp
      @@ -880,7 +880,7 @@
      return "High: Switches the VM into Java debug mode.";
      }
      static const JavaPermission permission() {
      - JavaPermission p = { "java.lang.management.ManagementPermission", "monitor", NULL };
      + JavaPermission p = { "java.lang.management.ManagementPermission", "control", NULL };
      return p;
      }
      static int num_arguments() { return 0; }

      Attachments

        Issue Links

          Activity

            People

              clanger Christoph Langer
              rschmelter Ralf Schmelter
              Serguei Spitsyn
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: