Bug 2176939 - libvirt is unable to start nbdkit process when SELinux is enforcing
Summary: libvirt is unable to start nbdkit process when SELinux is enforcing
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: selinux-policy
Version: 9.2
Hardware: Unspecified
OS: Linux
high
medium
Target Milestone: rc
: ---
Assignee: Nikola Knazekova
QA Contact: Milos Malik
URL:
Whiteboard:
Depends On: 2182505
Blocks: 2016527
TreeView+ depends on / blocked
 
Reported: 2023-03-09 18:52 UTC by Jonathon Jongsma
Modified: 2023-07-20 11:20 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-151300 0 None None None 2023-03-09 18:52:39 UTC

Description Jonathon Jongsma 2023-03-09 18:52:14 UTC
In bug 2016527, we want to add the ability for libvirt to use nbdkit to provide network disks to qemu. However, when selinux is in enforcing mode, libvirt is unable to start the nbdkit process. We need an selinux policy change that will allow this.

Comment 1 Richard W.M. Jones 2023-03-09 19:28:07 UTC
Is libvirt using the nbdkit --selinux-label option and doing chcon
on the socket?  The manual recommends:

 nbdkit -U /tmp/sock --selinux-label=system_u:object_r:svirt_socket_t:s0 [etc]
 chcon system_u:object_r:svirt_image_t:s0 /tmp/sock

See also https://libguestfs.org/nbdkit.1.html

Comment 2 Jonathon Jongsma 2023-03-09 19:39:56 UTC
The implementation has not been merged yet, but my branch does not currently use that option. Perhaps that's something else I'm missing. But we can't even get that far with selinux in enforcing mode since we're not allowed to run the binary.

Comment 3 Nikola Knazekova 2023-03-10 08:53:29 UTC
Hi,

Can you please reproduce the issue in permissive mode?
# setenforce 0

And then collect AVC denials:
# ausearch -i -m avc,user_avc,selinux_err,user_selinux_err -ts today

Thanks

Comment 4 Jonathon Jongsma 2023-03-14 21:15:23 UTC
type=AVC msg=audit(03/14/2023 16:09:22.652:2212) : avc:  denied  { entrypoint } for  pid=1019434 comm=rpc-libvirtd path=/usr/sbin/nbdkit dev="dm-1" ino=3145762 scontext=unconfined_u:unconfined_r:svirt_t:s0:c547,c919 tcontext=system_u:object_r:bin_t:s0 tclass=file permissive=1


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