Bug 765910
| Summary: | selinux-policy requires exclusive update | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | John Reiser <jreiser> |
| Component: | rpm | Assignee: | Fedora Packaging Toolset Team <packaging-team> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | dominick.grift, dwalsh, ffesti, jnovy, mgrepl, pmatilai |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2012-08-01 14:27:50 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
John Reiser
2011-12-09 16:50:34 UTC
This is really an issue only rpm can solve Rpm has no clue what a given selinux-policy update might change and what packages it might affect. Also policy updates cannot happen in isolation as the policy packages can (and do) have dependencies of their own, any of which could technically be affected by the policy update as well. Well if there was a way for a package to tell RPM To reload its SELinux labels, then selinux-policy could tell rpm to do correct labelling from here on in. not sure if there is anyway to communicate with the running rpm from within the postinstall though. We could probably make rpm detect policy reloads (selinux libs seem to have callbacks for this), but it doesn't help a whole lot if the policy update happens to occur towards the end of the transaction which it very well might: the ordering is calculated from dependencies and since most packages do NOT require selinux-policies then there's nothing to pull it towards the start of the transaction. Right except the problem that we see is rpm reads in file_context file, runs most of the transaction, SELinux-policy replaces the policy and potentially changes one of the labels that rpm is going to put down in future packages, perhaps invalidating one of the labels. If rpm notices the load_policy through a netlink message, it could reread the file context file and now should be guaranteed the file_context is correct for any other content it lays down. The selinux-policy package is supposed to be fixing any labels that might have changed before the post install ran. This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. rpm >= 4.10 automatically reloads the labels if policy changes inside the transaction, so at least we wont be laying down invalid labels and if selinux-policy package fixes the labels before that... I think we can consider this fixed. |