RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2000410 - using virt-qemu-run to start guest with luks image failed with error "No current identity to elevate"
Summary: using virt-qemu-run to start guest with luks image failed with error "No curr...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: libvirt
Version: 9.0
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: rc
: ---
Assignee: Ján Tomko
QA Contact: Han Han
URL:
Whiteboard:
: 2000983 2016264 (view as bug list)
Depends On:
Blocks: 2000983 2016264
TreeView+ depends on / blocked
 
Reported: 2021-09-02 06:19 UTC by zhentang
Modified: 2023-11-07 09:37 UTC (History)
11 users (show)

Fixed In Version: libvirt-9.2.0-1.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 2000983 2016264 (view as bug list)
Environment:
Last Closed: 2023-11-07 08:30:47 UTC
Type: Bug
Target Upstream Version: 9.2.0
Embargoed:


Attachments (Terms of Use)
The scripts for verification (12.29 KB, application/gzip)
2023-04-04 10:11 UTC, Han Han
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker LIBVIRTAT-14719 0 None None None 2023-09-21 02:17:58 UTC
Red Hat Issue Tracker RHELPLAN-95953 0 None None None 2021-09-02 06:22:19 UTC
Red Hat Product Errata RHSA-2023:6409 0 None None None 2023-11-07 08:31:21 UTC

Description zhentang 2021-09-02 06:19:52 UTC
Description of problem:

using virt-qemu-run to start guest with specified root dir and luks image failed with error "No current identity to elevate"

Version-Release number of selected component (if applicable):
libvirt 7.6.0-2.el9
qemu-kvm  6.0.0-13.el9


How reproducible:
100%

Steps to Reproduce:
1.prepare a qcow2 luks image
#qemu-img create --object secret,id=sec0,data=123456 -f qcow2 -o encrypt.format=luks,encrypt.key-secret=sec0 /var/lib/libvirt/images/luks.qcow2 1G

2.Prepare secret xml and secret value:
#cat /xml/secret.xml
  <secret ephemeral='no' private='yes'>
         <description>LUKS Sample Secret</description>
         <uuid>f981dd17-143f-45bc-88e6-ed1fe20ce9da</uuid>
         <usage type='volume'>
            <volume>/var/lib/libvirt/images/luks.img</volume>
         </usage>
      </secret> 

#cat /xml/secret-value
123456

3.Prepare a guest xml with the luks image:
#cat /tmp/vm1.xml
...
<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none' io='threads' copy_on_read='off'/>
      <source file='/var/lib/libvirt/images/luks.qcow2' index='1'>
              <encryption format='luks'>
        <secret type='passphrase' uuid='f981dd17-143f-45bc-88e6-ed1fe20ce9da'/>
</encryption>
     </source>
...
</disk>
...

4. Start guest with specified root dir and luks image:
# virt-qemu-run -s /xml/secret.xml,/xml/value -d -v -r /tmp/test1 /tmp/vm1.xml

Actual results:

virt-qemu-run: 127: initializing libvirt 259671
virt-qemu-run: 1719: initializing signal handlers
virt-qemu-run: 1807: preparing event loop thread
virt-qemu-run: 1999: opening secret:///embed?root=%2Ftmp%2Ftest1
virt-qemu-run: 3590: loading secret secret.xml and secret-value
virt-qemu-run: 3951: opening qemu:///embed?root=%2Ftmp%2Ftest1
virt-qemu-run: 25790: fetching guest config /tmp/vm1.xml
virt-qemu-run: 25868: starting guest /tmp/vm1.xml
2021-09-02 04:13:24.782+0000: 259671: info : libvirt version: 7.6.0, package: 2.el9 (Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>, 2021-08-10-04:33:30, )
2021-09-02 04:13:24.782+0000: 259671: info : hostname: hhan-rhel9-1
2021-09-02 04:13:24.782+0000: 259671: warning : qemuProcessStop:7964 : Unable to release network device '<null>'
virt-qemu-run: cannot start VM: internal error: No current identity to elevate
virt-qemu-run: 452573: cleaned up, exiting


Expected results:
Start guest successfully and show verbose output.

Additional info:

Comment 1 Fangge Jin 2021-09-02 13:04:32 UTC
Start vm without specified root dir has same issue

Comment 2 Jaroslav Suchanek 2021-09-06 14:37:35 UTC
*** Bug 2000983 has been marked as a duplicate of this bug. ***

Comment 3 Fangge Jin 2021-10-21 07:17:33 UTC
*** Bug 2016264 has been marked as a duplicate of this bug. ***

Comment 5 Ján Tomko 2023-03-15 16:06:15 UTC
Upstream patch:
https://listman.redhat.com/archives/libvir-list/2023-March/238834.html

Given the disclaimer in virt-qemu-run's man page:

  NOTE:  this  tool  is  currently  considered experimental. Its usage and behaviour is still subject to change in future libvirt re‐
         leases. For further information on its usage consult the QEMU driver documentation.

I don't think we care about it much. But the fix seemed trivial enough.

Comment 6 Ján Tomko 2023-03-22 13:45:16 UTC
commit 8c8cda2c9a94c63917e859ed83593dc4e28b0644
Author:     Ján Tomko <jtomko>
CommitDate: 2023-03-22 14:41:28 +0100

    qemu_shim: set system identity
    
    Otherwise looking up a secret fails when we try to elevate the identity
    in qemuDomainSecretInfoSetupFromSecret.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=2000410
    
    Signed-off-by: Ján Tomko <jtomko>
    Reviewed-by: Michal Privoznik <mprivozn>

git describe: v9.1.0-275-g8c8cda2c9a

Comment 7 Han Han 2023-04-04 10:11:13 UTC
Created attachment 1955674 [details]
The scripts for verification

Test as comment0 on qemu-kvm-7.2.0-14.el9_2.x86_64  libvirt-9.2.0-1.el9.x86_64. PASS

Comment 10 Han Han 2023-05-31 05:57:09 UTC
Tested as comment7 on libvirt-9.3.0-2.el9.x86_64 qemu-kvm-8.0.0-4.el9.x86_64. PASS

Comment 12 errata-xmlrpc 2023-11-07 08:30:47 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: libvirt security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2023:6409


Note You need to log in before you can comment on or make changes to this bug.