Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[13.4-stable] vTPM communication and error handling refactoring #4429

Merged

Commits on Nov 6, 2024

  1. vTPM : refactor control socket communication and error handling

    This changes refactors the control socket communication and error handling
    in the vTPM (server) and KVM (client). The control socket communication
    is now handled by HTTP over UDS, and the error handling is improved,
    since the vTPM server now returns an error message when an error occurs.
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit d965fa1)
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    eda5939 View commit details
    Browse the repository at this point in the history
  2. Domainmgr : refactor virtual TPM setup and termination

    Use a defer function to ensure that the virtual TPM is always terminated
    when the domain manager hits an error during the setup process or boot
    process.
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit 20da6cd)
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    13ba1c3 View commit details
    Browse the repository at this point in the history
  3. vTPM : fix bug when getting launch request

    When server gets a launch request, it checks if the the requested
    instance is already running, but it only checks the internal list and
    not actually the running instances. This can lead to server thinking
    the instance is running but client fails to get the PID with error
    "failed to get pid from file ...".
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit 25af0d6)
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    f98019a View commit details
    Browse the repository at this point in the history
  4. vTPM : validate id before using it in the request

    Validate ID before using it in, it must be in form of a UUID.
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit 7294cce)
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    2bbdea1 View commit details
    Browse the repository at this point in the history
  5. proc utils : rename wd kicker

    Rename wd kicker in proc utils.
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit 9db3b4d)
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    1e7fd4c View commit details
    Browse the repository at this point in the history
  6. domainmgr : call vTPM asynchronously and refactor setup functions

    Refactor vTPM setup/term/teardown functions to call the vTPM server
    endpoints asynchronously, this remove the timeout guessworks and make the
    vTPM setup more reliable.
    
    Refactor vTPM setup functions to accept all watchdog related parameters
    as struct.
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit 18abc71)
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    dbdeb14 View commit details
    Browse the repository at this point in the history
  7. vTPM : more relaxed timeout

    The domainmanager calls vTPM server asynchronously, so we dont need to
    worry and set the wait time too low to return quicly to prevent a watchdog
    kill on pillar.
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit bd856c7)
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    aa24ad5 View commit details
    Browse the repository at this point in the history
  8. add vtpm vendor directory to .spdxignore

    Add vtpm vendor directory to .spdxignore.
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit 5d4f771)
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    aa9611f View commit details
    Browse the repository at this point in the history
  9. Add new vTPM tests

    The TestSwtpmAbruptTerminationRequest function verifies that if swtpm is
    terminated without vTPM notice, no stale id is left in the vtpm internal
    bookkeeping and vtpm can launch a new instance with the same id.
    
    The TestSwtpmMultipleLaucnhRequest function verifies that if swtpm is
    launched multiple times with the same id, only one instance is created
    and other requests are ignored.
    
    Signed-off-by: Shahriyar Jalayeri <[email protected]>
    (cherry picked from commit bc80a42)
    shjala committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    ec97f97 View commit details
    Browse the repository at this point in the history