top: scan all user processes after sorting by memory enabled

Resolves: RHEL-46760
This commit is contained in:
Jan Rybar 2026-05-13 16:19:51 +02:00
parent 668aa7714c
commit 438fa3e135
3 changed files with 42 additions and 14 deletions

View File

@ -4,7 +4,7 @@
Summary: System and process monitoring utilities
Name: procps-ng
Version: 3.3.17
Release: 14%{?dist}
Release: 15%{?dist}
License: GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+
URL: https://sourceforge.net/projects/procps-ng/
@ -26,7 +26,7 @@ Patch8: display-sig-unsafe.patch
Patch9: ps-out-of-bonds-read.patch
Patch10: sysctl-nameonly-shows-value.patch
Patch11: cve-2023-4016.patch
Patch12: top-invisible-tasks-if-memsort.patch
Patch12: top-sort-by-mem-begtask-reset.patch
BuildRequires: make
@ -169,6 +169,10 @@ ln -s %{_bindir}/pidof %{buildroot}%{_sbindir}/pidof
%files i18n -f %{name}.lang
%changelog
* Wed May 13 2026 Jan Rybar <jrybar@redhat.com> - 3.3.17-15
- top: scan all user processes after sorting by memory enabled
- Resolves: RHEL-46760
* Mon Jan 22 2024 Jan Rybar <jrybar@redhat.com> - 3.3.17-14
- top: processes for specific user not displayed if sorted by mem
- Resolves: RHEL-16278

View File

@ -1,12 +0,0 @@
diff --git a/top/top.c b/top/top.c
index 58badaa..21fab42 100644
--- a/top/top.c
+++ b/top/top.c
@@ -5704,6 +5704,7 @@ static void keys_xtra (int ch) {
switch (ch) {
case 'M':
w->rc.sortindx = EU_MEM;
+ mkVIZrow1(w); // we need to avoid hiding tasks if scrolled too much
// xmsg = "Memory";
break;
case 'N':

View File

@ -0,0 +1,36 @@
diff --git a/top/top.c b/top/top.c
index 58badaa..bbfc09b 100644
--- a/top/top.c
+++ b/top/top.c
@@ -5381,6 +5381,7 @@ static void keys_task (int ch) {
#endif
if (p >= w->procflgs) {
w->rc.sortindx = *p;
+ w->begtask = 0;
#ifndef TREE_NORESET
OFFw(w, Show_FOREST);
#endif
@@ -5402,6 +5403,7 @@ static void keys_task (int ch) {
#endif
if (p < w->procflgs + w->maxpflgs) {
w->rc.sortindx = *p;
+ w->begtask = 0;
#ifndef TREE_NORESET
OFFw(w, Show_FOREST);
#endif
@@ -5440,6 +5442,7 @@ static void keys_task (int ch) {
OFFw(w, Show_FOREST);
}
#endif
+ w->begtask = 0;
break;
case 'S':
if (VIZCHKw(w)) {
@@ -5721,6 +5724,7 @@ static void keys_xtra (int ch) {
default: // keep gcc happy
break;
}
+ w->begtask = 0;
// some have objected to this message, so we'll just keep silent...
// show_msg(fmtmk("%s sort compatibility key honored", xmsg));
} // end: keys_xtra