support: Add check for TID zero in support_wait_for_thread_exit
This commit is contained in:
parent
3e354e4554
commit
2fe3fe9429
@ -66,7 +66,7 @@
|
||||
##############################################################################
|
||||
Name: glibc
|
||||
Version: 2.34
|
||||
Release: 43
|
||||
Release: 44
|
||||
Summary: The GNU libc libraries
|
||||
License: %{all_license}
|
||||
URL: http://www.gnu.org/software/glibc/
|
||||
@ -163,6 +163,7 @@ Patch75: socket-Add-the-__sockaddr_un_set-function.patch
|
||||
Patch76: CVE-2022-23219-Buffer-overflow-in-sunrpc-clnt_create.patch
|
||||
Patch77: sunrpc-Test-case-for-clnt_create-unix-buffer-overflo.patch
|
||||
Patch78: CVE-2022-23218-Buffer-overflow-in-sunrpc-svcunix_cre.patch
|
||||
Patch79: support-Add-check-for-TID-zero-in-support_wait_for_t.patch
|
||||
|
||||
Patch9000: turn-default-value-of-x86_rep_stosb_threshold_form_2K_to_1M.patch
|
||||
Patch9001: delete-no-hard-link-to-avoid-all_language-package-to.patch
|
||||
@ -1365,7 +1366,10 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
*Tue Jan 18 Qingqing Li <liqingqing3@huawei.com> - 2.34-43
|
||||
* Fri Jan 21 Qingqing Li <liqingqing3@huawei.com> - 2.34-44
|
||||
- support: Add check for TID zero in support_wait_for_thread_exit
|
||||
|
||||
* Tue Jan 18 Qingqing Li <liqingqing3@huawei.com> - 2.34-43
|
||||
- fix CVE-2022-23218 and CVE-2022-23219
|
||||
|
||||
* Tue Jan 11 2022 Yang Yanchao <yangyanchao6@huawei.com> - 2.34-42
|
||||
|
||||
42
support-Add-check-for-TID-zero-in-support_wait_for_t.patch
Normal file
42
support-Add-check-for-TID-zero-in-support_wait_for_t.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From 176c88f5214d8107d330971cbbfbbba5186a111f Mon Sep 17 00:00:00 2001
|
||||
From: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Fri, 1 Oct 2021 18:16:41 +0200
|
||||
Subject: [PATCH] support: Add check for TID zero in
|
||||
support_wait_for_thread_exit
|
||||
|
||||
Some kernel versions (observed with kernel 5.14 and earlier) can list
|
||||
"0" entries in /proc/self/task. This happens when a thread exits
|
||||
while the task list is being constructed. Treat this entry as not
|
||||
present, like the proposed kernel patch does:
|
||||
|
||||
[PATCH] procfs: Do not list TID 0 in /proc/<pid>/task
|
||||
<https://lore.kernel.org/all/8735pn5dx7.fsf@oldenburg.str.redhat.com/>
|
||||
|
||||
Fixes commit 032d74eaf6179100048a5bf0ce942e97dc8b9a60 ("support: Add
|
||||
support_wait_for_thread_exit").
|
||||
|
||||
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
||||
Tested-by: Carlos O'Donell <carlos@redhat.com>
|
||||
---
|
||||
support/support_wait_for_thread_exit.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/support/support_wait_for_thread_exit.c b/support/support_wait_for_thread_exit.c
|
||||
index 658a813..5e3be42 100644
|
||||
--- a/support/support_wait_for_thread_exit.c
|
||||
+++ b/support/support_wait_for_thread_exit.c
|
||||
@@ -43,7 +43,10 @@ support_wait_for_thread_exit (void)
|
||||
return;
|
||||
}
|
||||
|
||||
- if (strcmp (e->d_name, ".") == 0 || strcmp (e->d_name, "..") == 0)
|
||||
+ /* In some kernels, "0" entries denote a thread that has just
|
||||
+ exited. */
|
||||
+ if (strcmp (e->d_name, ".") == 0 || strcmp (e->d_name, "..") == 0
|
||||
+ || strcmp (e->d_name, "0") == 0)
|
||||
continue;
|
||||
|
||||
int task_tid = atoi (e->d_name);
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user