Bug 2305270
Summary: | SELinux is preventing systemd-journal from using the 'signull' accesses on a process. | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Mikhail <mikhail.v.gavrilov> | ||||||
Component: | kernel | Assignee: | Kernel Maintainer List <kernel-maint> | ||||||
Status: | POST --- | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | rawhide | CC: | acaringi, adscvr, airlied, alciregi, awilliam, bgoncalv, bskeggs, daan.j.demeyer, dan, dwalsh, fedoraproject, hdegoede, hpa, josef, kernel-maint, linville, lnykryn, lvrabec, masami256, mchehab, mikhail.v.gavrilov, mmalik, msekleta, omosnacek, pkoncity, ptalbert, ryncsn, santiago, steved, suraj.ghimire7, systemd-maint, vmojzis, yuwatana, zbyszek, zpytela | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | x86_64 | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | abrt_hash:3cb8e432fee6fd2cb6a36cc4d193766b83866acd938a33f03493b6aff5bd974b;VARIANT_ID=workstation; | ||||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | Type: | --- | |||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 2305940 | ||||||||
Attachments: |
|
Description
Mikhail
2024-08-16 05:46:25 UTC
Created attachment 2044277 [details]
File: description
Created attachment 2044278 [details]
File: os_info
*** Bug 2305271 has been marked as a duplicate of this bug. *** *** Bug 2305273 has been marked as a duplicate of this bug. *** (copying my explanation from https://issues.redhat.com/browse/RHEL-54549:) So the git bisect identified the following commit as the culprit: commit 3b5bbe798b2451820e74243b738268f51901e7d0 Author: Christian Brauner <brauner> Date: Wed Jul 31 12:01:12 2024 +0200 pidfd: prevent creation of pidfds for kthreads It's currently possible to create pidfds for kthreads but it is unclear what that is supposed to mean. Until we have use-cases for it and we figured out what behavior we want block the creation of pidfds for kthreads. Link: https://lore.kernel.org/r/20240731-gleis-mehreinnahmen-6bbadd128383@brauner Fixes: 32fcb426ec00 ("pid: add pidfd_open()") Cc: stable.org Signed-off-by: Christian Brauner <brauner> It seems that this change prevents systemd from doing a "killall" operation (src/shared/killall.c), because it tries to get a pidfd for all running tasks including kernel threads, which the kernel now rejects with -EINVAL. Systemd even has a fallback in pidref_set_pid() for when pidfd_open(2) fails, but it only ignores certain types of error codes that don't include EINVAL. I think that this failure then results in systemd-journald not being restarted during switch-root, so it remains running with the kernel_t label, leading to denials later on. I'm not sure if it's systemd or the kernel at fault here, but switching to systemd in the hope that they can argue it out with the kernel upstream or find a way around it... So it turns out the bad commit is going to be reverted in the kernel: https://lore.kernel.org/all/20240819-staudamm-rederei-cb7092f54e76@brauner/ https://github.com/systemd/systemd/pull/34058 *** Bug 2306818 has been marked as a duplicate of this bug. *** Thanks for figuring this out! I should've remembered the QA Golden Rule: always try it with SELinux turned off... |