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 | ||||
| Name: setroubleshoot | ||||
| Version: 3.3.26 | ||||
| Release: 3%{?dist} | ||||
| Release: 5%{?dist} | ||||
| License: GPLv2+ | ||||
| URL: https://gitlab.com/setroubleshoot/framework | ||||
| 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 | ||||
| Patch0005: 0005-Improve-after_first-email-filter-behavior.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: make | ||||
| BuildRequires: libcap-ng-devel | ||||
| @ -108,6 +111,7 @@ Requires: libselinux-python3  >= 2.1.5-1 | ||||
| Requires: policycoreutils-python-utils | ||||
| BuildRequires: intltool gettext python3 | ||||
| BuildRequires: python3-devel | ||||
| BuildRequires: systemd | ||||
| Requires: systemd-python3 >= 206-1 | ||||
| Requires: python3-gobject >= 3.11 | ||||
| Requires: dbus | ||||
| @ -198,11 +202,19 @@ chown -R setroubleshoot:setroubleshoot %{pkgvardatadir} | ||||
| %{_datadir}/polkit-1/actions/org.fedoraproject.setroubleshootfixit.policy | ||||
| %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.fedoraproject.SetroubleshootFixit.conf | ||||
| %{_datadir}/dbus-1/system-services/org.fedoraproject.SetroubleshootFixit.service | ||||
| %{_unitdir}/setroubleshootd.service | ||||
| %attr(0644,root,root) %{_tmpfilesdir}/%{name}.conf | ||||
| %attr(0711,setroubleshoot,setroubleshoot) %dir %{_rundir}/setroubleshoot | ||||
| %doc AUTHORS COPYING ChangeLog DBUS.md NEWS README TODO | ||||
| 
 | ||||
| %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 | ||||
| - Update translations (#2017299) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user