import setroubleshoot-3.3.26-5.el8
This commit is contained in:
parent
7295da18ee
commit
49680f06eb
@ -0,0 +1,70 @@
|
|||||||
|
From a2102cb35cd45852fc508b2f62400be098050d7a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vit Mojzis <vmojzis@redhat.com>
|
||||||
|
Date: Mon, 4 Jul 2022 16:20:30 +0200
|
||||||
|
Subject: [PATCH] Decrease setroubleshootd priority and limit RAM utilization
|
||||||
|
to 1GB
|
||||||
|
|
||||||
|
This should help with system responsiveness in case of large amount of
|
||||||
|
AVCs. The memory limit ensures the process cannot indefinitely hog
|
||||||
|
memory in case it is running continuously. My testing showed normal
|
||||||
|
memory consumption not to exceed 350MB, so 1GB should not limit normal
|
||||||
|
operation.
|
||||||
|
|
||||||
|
Note: Limiting memory using systemd service file was chosen to make it easier
|
||||||
|
for users to adjust the limits.
|
||||||
|
|
||||||
|
Related:
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=2064727
|
||||||
|
|
||||||
|
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
|
||||||
|
---
|
||||||
|
Makefile.am | 3 +++
|
||||||
|
org.fedoraproject.Setroubleshootd.service | 3 ++-
|
||||||
|
setroubleshootd.service | 10 ++++++++++
|
||||||
|
3 files changed, 15 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 setroubleshootd.service
|
||||||
|
|
||||||
|
diff --git a/framework/Makefile.am b/framework/Makefile.am
|
||||||
|
index f330b7c..93c6a06 100644
|
||||||
|
--- a/framework/Makefile.am
|
||||||
|
+++ b/framework/Makefile.am
|
||||||
|
@@ -28,6 +28,9 @@ polkit_systemdir = $(datadir)/polkit-1/actions
|
||||||
|
polkit_system_DATA = \
|
||||||
|
org.fedoraproject.setroubleshootfixit.policy
|
||||||
|
|
||||||
|
+systemd_systemunitdir = $(prefix)/lib/systemd/system/
|
||||||
|
+systemd_systemunit_DATA = setroubleshootd.service
|
||||||
|
+
|
||||||
|
autostartdir = $(sysconfdir)/xdg/autostart
|
||||||
|
autostart_DATA = sealertauto.desktop
|
||||||
|
|
||||||
|
diff --git a/framework/org.fedoraproject.Setroubleshootd.service b/framework/org.fedoraproject.Setroubleshootd.service
|
||||||
|
index 05c2c39..2c52499 100644
|
||||||
|
--- a/framework/org.fedoraproject.Setroubleshootd.service
|
||||||
|
+++ b/framework/org.fedoraproject.Setroubleshootd.service
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
[D-BUS Service]
|
||||||
|
Name=org.fedoraproject.Setroubleshootd
|
||||||
|
-Exec=/usr/sbin/setroubleshootd -f
|
||||||
|
+SystemdService=setroubleshootd.service
|
||||||
|
+Exec=/bin/false
|
||||||
|
User=setroubleshoot
|
||||||
|
diff --git a/framework/setroubleshootd.service b/framework/setroubleshootd.service
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..81c75b1
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/framework/setroubleshootd.service
|
||||||
|
@@ -0,0 +1,10 @@
|
||||||
|
+[Unit]
|
||||||
|
+Description=SETroubleshoot daemon for processing new SELinux denial logs
|
||||||
|
+
|
||||||
|
+[Service]
|
||||||
|
+Type=dbus
|
||||||
|
+BusName=org.fedoraproject.Setroubleshootd
|
||||||
|
+ExecStart=/usr/sbin/setroubleshootd -f
|
||||||
|
+User=setroubleshoot
|
||||||
|
+LimitAS=1G
|
||||||
|
+Nice=5
|
||||||
|
--
|
||||||
|
2.35.3
|
||||||
|
|
45
SOURCES/0008-doc-Document-performance-related-changes.patch
Normal file
45
SOURCES/0008-doc-Document-performance-related-changes.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From eed06d0f11867c1019fee4fb1a80be775a60d74e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vit Mojzis <vmojzis@redhat.com>
|
||||||
|
Date: Mon, 11 Jul 2022 18:20:47 +0200
|
||||||
|
Subject: [PATCH] doc: Document performance related changes
|
||||||
|
|
||||||
|
- Setroubleshootd is now executed using setroubleshootd.service
|
||||||
|
- ^^ is limited to 1GB of RAM and has a lower than normal priority
|
||||||
|
|
||||||
|
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
|
||||||
|
---
|
||||||
|
doc/setroubleshootd.8 | 9 +++++++--
|
||||||
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/framework/doc/setroubleshootd.8 b/framework/doc/setroubleshootd.8
|
||||||
|
index bed6713..f1f04d8 100644
|
||||||
|
--- a/framework/doc/setroubleshootd.8
|
||||||
|
+++ b/framework/doc/setroubleshootd.8
|
||||||
|
@@ -23,9 +23,14 @@ components, sealert and setroubleshootd.
|
||||||
|
setroubleshootd is a system daemon which runs under setroubleshoot user and
|
||||||
|
listens for audit events emitted from the kernel related to SELinux. When the
|
||||||
|
setroubleshootd daemon sees an SELinux AVC denial it runs a series of analysis
|
||||||
|
-plugins which examines the audit data related to the AVC. It records the
|
||||||
|
+plugins which examine the audit data related to the AVC. It records the
|
||||||
|
results of the analysis and signals any clients which have attached to the
|
||||||
|
setroubleshootd daemon that a new alert has been seen.
|
||||||
|
+.P
|
||||||
|
+setroubleshootd is not persistent and only runs when there are new AVCs to be
|
||||||
|
+analyzed. It is executed using setroubleshootd.service, which also limits its
|
||||||
|
+priority and maximum RAM utilization to 1GB, in order to help with system
|
||||||
|
+responsiveness in case of large amounts of AVCs.
|
||||||
|
|
||||||
|
.SH "OPTIONS"
|
||||||
|
.TP
|
||||||
|
@@ -33,7 +38,7 @@ setroubleshootd daemon that a new alert has been seen.
|
||||||
|
Do not fork the daemon
|
||||||
|
.TP
|
||||||
|
.B \-d \-\-debug
|
||||||
|
-Do not exit after 10 seconds
|
||||||
|
+Do not exit after 10 seconds of inactivity
|
||||||
|
.TP
|
||||||
|
.B \-h \-\-help
|
||||||
|
Show this message
|
||||||
|
--
|
||||||
|
2.35.3
|
||||||
|
|
@ -0,0 +1,56 @@
|
|||||||
|
From 2fbc58c26359989894dfb54daaca2ff4b537f4fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com>
|
||||||
|
Date: Fri, 22 Apr 2022 16:27:30 +0200
|
||||||
|
Subject: [PATCH] setroubleshoot/server: shutdown RunFaultServer nicely
|
||||||
|
|
||||||
|
systemd[1]: dbus-:1.2-org.fedoraproject.Setroubleshootd@2.service: Main process exited, code=killed, status=14/ALRM
|
||||||
|
systemd[1]: dbus-:1.2-org.fedoraproject.Setroubleshootd@2.service: Failed with result 'signal'.
|
||||||
|
audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:systemd_t:s0 msg='unit=dbus-:1.2-org.fedoraproject.Setroubleshootd@2 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
|
||||||
|
---
|
||||||
|
src/setroubleshoot/server.py | 14 +++++++++++---
|
||||||
|
1 file changed, 11 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/framework/src/setroubleshoot/server.py b/framework/src/setroubleshoot/server.py
|
||||||
|
index 10ef215..8f16993 100755
|
||||||
|
--- a/framework/src/setroubleshoot/server.py
|
||||||
|
+++ b/framework/src/setroubleshoot/server.py
|
||||||
|
@@ -733,9 +733,17 @@ def goodbye(database):
|
||||||
|
audit2why.finish()
|
||||||
|
|
||||||
|
|
||||||
|
+main_loop = GLib.MainLoop()
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+def alarm_handler(signum, frame):
|
||||||
|
+ log_debug("SIGALRM raised in RunFaultServer")
|
||||||
|
+ main_loop.quit()
|
||||||
|
+
|
||||||
|
+
|
||||||
|
def RunFaultServer(timeout=10):
|
||||||
|
signal.alarm(timeout)
|
||||||
|
- sigalrm_handler = signal.signal(signal.SIGALRM, polling_failed_handler)
|
||||||
|
+ signal.signal(signal.SIGALRM, polling_failed_handler)
|
||||||
|
# polling for /sys/fs/selinux/policy file
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
@@ -760,7 +768,7 @@ def RunFaultServer(timeout=10):
|
||||||
|
|
||||||
|
global host_database, analysis_queue, email_recipients
|
||||||
|
|
||||||
|
- signal.signal(signal.SIGALRM, sigalrm_handler)
|
||||||
|
+ signal.signal(signal.SIGALRM, alarm_handler)
|
||||||
|
signal.signal(signal.SIGHUP, sighandler)
|
||||||
|
|
||||||
|
#interface_registry.dump_interfaces()
|
||||||
|
@@ -856,7 +864,7 @@ def RunFaultServer(timeout=10):
|
||||||
|
|
||||||
|
dbus.glib.init_threads()
|
||||||
|
setroubleshootd_dbus = SetroubleshootdDBus(analysis_queue, alert_receiver, timeout)
|
||||||
|
- main_loop = GLib.MainLoop()
|
||||||
|
+
|
||||||
|
main_loop.run()
|
||||||
|
|
||||||
|
except KeyboardInterrupt as e:
|
||||||
|
--
|
||||||
|
2.35.3
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
Summary: Helps troubleshoot SELinux problems
|
Summary: Helps troubleshoot SELinux problems
|
||||||
Name: setroubleshoot
|
Name: setroubleshoot
|
||||||
Version: 3.3.26
|
Version: 3.3.26
|
||||||
Release: 3%{?dist}
|
Release: 5%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://gitlab.com/setroubleshoot/framework
|
URL: https://gitlab.com/setroubleshoot/framework
|
||||||
Source0: https://releases.pagure.org/setroubleshoot/%{name}-%{version}.tar.gz
|
Source0: https://releases.pagure.org/setroubleshoot/%{name}-%{version}.tar.gz
|
||||||
@ -14,6 +14,9 @@ Patch0003: 0003-Fix-typos-in-help-man-pages-and-developer-s-guide.patch
|
|||||||
Patch0004: 0004-Revert-Replace-pydbus-with-dasbus.patch
|
Patch0004: 0004-Revert-Replace-pydbus-with-dasbus.patch
|
||||||
Patch0005: 0005-Improve-after_first-email-filter-behavior.patch
|
Patch0005: 0005-Improve-after_first-email-filter-behavior.patch
|
||||||
Patch0006: 0006-Update-translations.patch
|
Patch0006: 0006-Update-translations.patch
|
||||||
|
Patch0007: 0007-Decrease-setroubleshootd-priority-and-limit-RAM-util.patch
|
||||||
|
Patch0008: 0008-doc-Document-performance-related-changes.patch
|
||||||
|
Patch0009: 0009-setroubleshoot-server-shutdown-RunFaultServer-nicely.patch
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: libcap-ng-devel
|
BuildRequires: libcap-ng-devel
|
||||||
@ -108,6 +111,7 @@ Requires: libselinux-python3 >= 2.1.5-1
|
|||||||
Requires: policycoreutils-python-utils
|
Requires: policycoreutils-python-utils
|
||||||
BuildRequires: intltool gettext python3
|
BuildRequires: intltool gettext python3
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: systemd
|
||||||
Requires: systemd-python3 >= 206-1
|
Requires: systemd-python3 >= 206-1
|
||||||
Requires: python3-gobject >= 3.11
|
Requires: python3-gobject >= 3.11
|
||||||
Requires: dbus
|
Requires: dbus
|
||||||
@ -198,11 +202,19 @@ chown -R setroubleshoot:setroubleshoot %{pkgvardatadir}
|
|||||||
%{_datadir}/polkit-1/actions/org.fedoraproject.setroubleshootfixit.policy
|
%{_datadir}/polkit-1/actions/org.fedoraproject.setroubleshootfixit.policy
|
||||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.fedoraproject.SetroubleshootFixit.conf
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.fedoraproject.SetroubleshootFixit.conf
|
||||||
%{_datadir}/dbus-1/system-services/org.fedoraproject.SetroubleshootFixit.service
|
%{_datadir}/dbus-1/system-services/org.fedoraproject.SetroubleshootFixit.service
|
||||||
|
%{_unitdir}/setroubleshootd.service
|
||||||
%attr(0644,root,root) %{_tmpfilesdir}/%{name}.conf
|
%attr(0644,root,root) %{_tmpfilesdir}/%{name}.conf
|
||||||
%attr(0711,setroubleshoot,setroubleshoot) %dir %{_rundir}/setroubleshoot
|
%attr(0711,setroubleshoot,setroubleshoot) %dir %{_rundir}/setroubleshoot
|
||||||
%doc AUTHORS COPYING ChangeLog DBUS.md NEWS README TODO
|
%doc AUTHORS COPYING ChangeLog DBUS.md NEWS README TODO
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Aug 22 2022 Vit Mojzis <vmojzis@redhat.com> - 3.3.26-5
|
||||||
|
- Shutdown RunFaultServer nicely (#2119001)
|
||||||
|
|
||||||
|
* Wed Jul 13 2022 Vit Mojzis <vmojzis@redhat.com> - 3.3.26-4
|
||||||
|
- Decrease setroubleshootd priority and limit RAM utilization to 1GB (#2064727)
|
||||||
|
- doc: Document performance related changes
|
||||||
|
|
||||||
* Fri Feb 25 2022 Vit Mojzis <vmojzis@redhat.com> - 3.3.26-3
|
* Fri Feb 25 2022 Vit Mojzis <vmojzis@redhat.com> - 3.3.26-3
|
||||||
- Update translations (#2017299)
|
- Update translations (#2017299)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user