From c8d60dada2ec8eb48b2d2b290cd6683ccec40e39 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 13 Feb 2021 21:41:11 +0000 Subject: gentoo (valentine's day) resync : 14.02.2021 --- ...misc-23.2-killall_check_truncated_16_char.patch | 122 --------------------- .../psmisc/files/psmisc-23.2-old_comm_len.patch | 28 ----- 2 files changed, 150 deletions(-) delete mode 100644 sys-process/psmisc/files/psmisc-23.2-killall_check_truncated_16_char.patch delete mode 100644 sys-process/psmisc/files/psmisc-23.2-old_comm_len.patch (limited to 'sys-process/psmisc/files') diff --git a/sys-process/psmisc/files/psmisc-23.2-killall_check_truncated_16_char.patch b/sys-process/psmisc/files/psmisc-23.2-killall_check_truncated_16_char.patch deleted file mode 100644 index bfc2a24d5de9..000000000000 --- a/sys-process/psmisc/files/psmisc-23.2-killall_check_truncated_16_char.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 1188315cd037d73bf946a0003b70c6423cc330d2 Mon Sep 17 00:00:00 2001 -From: Craig Small -Date: Wed, 7 Nov 2018 20:13:09 +1100 -Subject: [PATCH] killall: match on 16 character commlen too - -The comm length increase meant killall could accomodate the -larger comm name given out by newer kernels but it meant that -if a user relied on the previous 16 character truncation then -processes that used to match would fail. - -killall now checks to see if the the comm is the old COMM_LEN -length and the given name is longer than old COMM_LEN and does -a truncated match as well. - -References: - https://bugs.debian.org/912748 ---- - ChangeLog | 3 +++ - src/killall.c | 69 +++++++++++++++++++++++++++++++++++---------------- - 2 files changed, 50 insertions(+), 22 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index 7fd2abd..37962cb 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,6 @@ -+Changes in 23.4 -+=============== -+ * killall: check also truncated 16 char comm names Debian #912748 - Changes in 23.2 - =============== - * misc: Command names increased from 16 to 64 characters -diff --git a/src/killall.c b/src/killall.c -index 2715515..09212a4 100644 ---- a/src/killall.c -+++ b/src/killall.c -@@ -492,6 +492,49 @@ create_pid_table(int *max_pids, int *pids) - return pid_table; - } - -+#define strcmp2(A,B,I) (I? strcasecmp((A),(B)):strcmp((A),(B))) -+#define strncmp2(A,B,L,I) (I? strncasecmp((A),(B),(L)):strncmp((A),(B),(L))) -+static int match_process_name( -+ const char *proc_comm, -+ const int comm_len, -+ const char *proc_cmdline, -+ const char *match_name, -+ const int match_len, -+ const int got_long -+ ) -+{ -+ /* process is old length but matching longer */ -+ if (comm_len == OLD_COMM_LEN - 1 && match_len >= OLD_COMM_LEN - 1) -+ { -+ if (got_long) -+ { -+ return (0 == strncmp2 (match_name, proc_cmdline, OLD_COMM_LEN - 1, -+ ignore_case)); -+ } else { -+ return (0 == strncmp2 (match_name, proc_comm, OLD_COMM_LEN - 1, -+ ignore_case)); -+ } -+ } -+ -+ if (comm_len == COMM_LEN - 1 && match_len >= COMM_LEN - 1) -+ { -+ if (got_long) -+ { -+ return (0 == strncmp2 (match_name, proc_cmdline, COMM_LEN - 1, -+ ignore_case)); -+ } else { -+ return (0 == strncmp2 (match_name, proc_comm, COMM_LEN - 1, -+ ignore_case)); -+ } -+ } -+ /* Not old new COMM_LEN so we match all of it */ -+ if (got_long) -+ { -+ return (0 == strcmp2 (match_name, proc_cmdline, ignore_case)); -+ } -+ return (0 == strcmp2 (match_name, proc_comm, ignore_case)); -+} -+ - #ifdef WITH_SELINUX - static int - kill_all(int signal, int name_count, char **namelist, struct passwd *pwent, -@@ -599,28 +642,10 @@ kill_all (int signal, int name_count, char **namelist, struct passwd *pwent) - { - if (!name_info[j].st.st_dev) - { -- if (length != COMM_LEN - 1 || name_info[j].name_length < COMM_LEN - 1) -- { -- if (ignore_case == 1) -- { -- if (strcasecmp (namelist[j], comm)) -- continue; -- } else { -- if (strcmp(namelist[j], comm)) -- continue; -- } -- } else { -- if (ignore_case == 1) -- { -- if (got_long ? strcasecmp (namelist[j], command) : -- strncasecmp (namelist[j], comm, COMM_LEN - 1)) -- continue; -- } else { -- if (got_long ? strcmp (namelist[j], command) : -- strncmp (namelist[j], comm, COMM_LEN - 1)) -- continue; -- } -- } -+ if (!match_process_name(comm, length, command, namelist[j], -+ name_info[j].name_length, got_long)) -+ continue; -+ - } else { - int ok = 1; - if (asprintf (&path, PROC_BASE "/%d/exe", pid_table[i]) < 0) --- -2.18.1 - diff --git a/sys-process/psmisc/files/psmisc-23.2-old_comm_len.patch b/sys-process/psmisc/files/psmisc-23.2-old_comm_len.patch deleted file mode 100644 index ae237e691099..000000000000 --- a/sys-process/psmisc/files/psmisc-23.2-old_comm_len.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e2cf9f3e83e0fc0278ff39a4dfc8e3f2730eebca Mon Sep 17 00:00:00 2001 -From: Craig Small -Date: Wed, 7 Nov 2018 20:19:38 +1100 -Subject: [PATCH] misc: Remember to add comm.h too - -The previous commit should have included comm.h too ---- - src/comm.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/comm.h b/src/comm.h -index b54b998..b10eb36 100644 ---- a/src/comm.h -+++ b/src/comm.h -@@ -33,4 +33,10 @@ - */ - #define COMM_LEN 64 - -+/* -+ * Older kernels had only 16 characters, which means we may have to check this -+ * too -+ */ -+#define OLD_COMM_LEN 16 -+ - #endif --- -2.18.1 - -- cgit v1.2.3