manual: sigaction's sa_flags field and SA_SIGINFO (RHEL-67592)
Resolves: RHEL-67592
This commit is contained in:
parent
38cc5f2c2b
commit
f604405c3e
27
glibc-RHEL-67592-1.patch
Normal file
27
glibc-RHEL-67592-1.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From ca7334d34b7811fc261c84c498fd4a19acd70530 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Mon, 28 Feb 2022 11:50:41 +0100
|
||||
Subject: [PATCH] manual: SA_ONSTACK is ignored without alternate stack
|
||||
Content-type: text/plain; charset=UTF-8
|
||||
|
||||
The current stack is used. No SIGILL is generated.
|
||||
---
|
||||
manual/signal.texi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/manual/signal.texi b/manual/signal.texi
|
||||
index 8a12baf044..5c2ba7dae6 100644
|
||||
--- a/manual/signal.texi
|
||||
+++ b/manual/signal.texi
|
||||
@@ -1329,7 +1329,7 @@ Setting this flag for a signal other than @code{SIGCHLD} has no effect.
|
||||
If this flag is set for a particular signal number, the system uses the
|
||||
signal stack when delivering that kind of signal. @xref{Signal Stack}.
|
||||
If a signal with this flag arrives and you have not set a signal stack,
|
||||
-the system terminates the program with @code{SIGILL}.
|
||||
+the normal user stack is used instead, as if the flag had not been set.
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr Macro int SA_RESTART
|
||||
--
|
||||
2.43.5
|
||||
|
89
glibc-RHEL-67592-2.patch
Normal file
89
glibc-RHEL-67592-2.patch
Normal file
@ -0,0 +1,89 @@
|
||||
From 87cd94bba4091d22e24116298ade33b712ada235 Mon Sep 17 00:00:00 2001
|
||||
From: DJ Delorie <dj@redhat.com>
|
||||
Date: Tue, 10 Dec 2024 17:07:21 -0500
|
||||
Subject: [PATCH] manual: Document more sigaction flags
|
||||
Content-type: text/plain; charset=UTF-8
|
||||
|
||||
Adds documentation for three-argument handler
|
||||
|
||||
Adds remainder of the SA_* flags
|
||||
|
||||
Reviewed-by: Florian Weimer <fweimer@redhat.com>
|
||||
---
|
||||
manual/signal.texi | 39 +++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 39 insertions(+)
|
||||
|
||||
diff --git a/manual/signal.texi b/manual/signal.texi
|
||||
index 5c2ba7dae6..2012980efe 100644
|
||||
--- a/manual/signal.texi
|
||||
+++ b/manual/signal.texi
|
||||
@@ -1141,6 +1141,15 @@ This is used in the same way as the @var{action} argument to the
|
||||
@code{signal} function. The value can be @code{SIG_DFL},
|
||||
@code{SIG_IGN}, or a function pointer. @xref{Basic Signal Handling}.
|
||||
|
||||
+@item void (*sa_sigaction) (int @var{signum}, siginfo_t *@var{info}, void *@var{ucontext})
|
||||
+This is an alternate to @code{sa_handler} that is used when the
|
||||
+@code{sa_flags} includes the @code{flag SA_SIGINFO}. Note that this
|
||||
+and @code{sa_handler} overlap; only ever set one at a time.
|
||||
+
|
||||
+The contents of the @var{info} and @var{ucontext} structures are
|
||||
+kernel and architecture dependent. Please see
|
||||
+@manpageurl{sigaction,2} for details.
|
||||
+
|
||||
@item sigset_t sa_mask
|
||||
This specifies a set of signals to be blocked while the handler runs.
|
||||
Blocking is explained in @ref{Blocking for Handler}. Note that the
|
||||
@@ -1324,6 +1333,24 @@ delivered for both terminated children and stopped children.
|
||||
Setting this flag for a signal other than @code{SIGCHLD} has no effect.
|
||||
@end deftypevr
|
||||
|
||||
+@deftypevr Macro int SA_NOCLDWAIT
|
||||
+This flag is meaningful only for the @code{SIGCHLD} signal. When the
|
||||
+flag is set, the terminated child will not wait for the parent to reap
|
||||
+it, or become a zombie if not reaped. The child will instead be
|
||||
+reaped by the kernel immediately on termination, similar to setting
|
||||
+SIGCHLD to SIG_IGN.
|
||||
+
|
||||
+Setting this flag for a signal other than @code{SIGCHLD} has no effect.
|
||||
+@end deftypevr
|
||||
+
|
||||
+@deftypevr Macro int SA_NODEFER
|
||||
+Normally a signal is added to the signal mask while running its own
|
||||
+handler; this negates that, so that the same signal can be received
|
||||
+while it's handler is running. Note that if the signal is included in
|
||||
+@code{sa_mask}, it is masked regardless of this flag. Only useful when
|
||||
+assigning a function as a signal handler.
|
||||
+@end deftypevr
|
||||
+
|
||||
@deftypevr Macro int SA_ONSTACK
|
||||
@standards{BSD, signal.h}
|
||||
If this flag is set for a particular signal number, the system uses the
|
||||
@@ -1332,6 +1359,12 @@ If a signal with this flag arrives and you have not set a signal stack,
|
||||
the normal user stack is used instead, as if the flag had not been set.
|
||||
@end deftypevr
|
||||
|
||||
+@deftypevr Macro int SA_RESETHAND
|
||||
+Resets the handler for a signal to SIG_DFL, at the moment specified
|
||||
+handler function begins. I.e. the handler is called once, then the
|
||||
+action resets.
|
||||
+@end deftypevr
|
||||
+
|
||||
@deftypevr Macro int SA_RESTART
|
||||
@standards{BSD, signal.h}
|
||||
This flag controls what happens when a signal is delivered during
|
||||
@@ -1347,6 +1380,12 @@ clear, returning from a handler makes the function fail.
|
||||
@xref{Interrupted Primitives}.
|
||||
@end deftypevr
|
||||
|
||||
+@deftypevr Macro int SA_SIGINFO
|
||||
+Indicates that the @code{sa_sigaction} three-argument form of the
|
||||
+handler should be used in setting up a handler instead of the
|
||||
+one-argument @code{sa_handler} form.
|
||||
+@end deftypevr
|
||||
+
|
||||
@node Initial Signal Actions
|
||||
@subsection Initial Signal Actions
|
||||
@cindex initial signal actions
|
||||
--
|
||||
2.43.5
|
||||
|
38
glibc-RHEL-67592-3.patch
Normal file
38
glibc-RHEL-67592-3.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 298bc488fdc047da37482f4003023cb9adef78f8 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Wed, 11 Sep 2024 10:05:08 +0200
|
||||
Subject: [PATCH] manual: Extract the @manpageurl{func,sec} macro
|
||||
Content-type: text/plain; charset=UTF-8
|
||||
|
||||
From the existing @manpagefunctionstub{func,sec} macro,
|
||||
so that URLs can be included in the manual without the
|
||||
stub text.
|
||||
|
||||
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
||||
---
|
||||
manual/macros.texi | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/manual/macros.texi b/manual/macros.texi
|
||||
index 579da3fb81..f48dd4ec22 100644
|
||||
--- a/manual/macros.texi
|
||||
+++ b/manual/macros.texi
|
||||
@@ -282,10 +282,13 @@ cwd\comments\
|
||||
@macro standardsx {element, standard, header}
|
||||
@end macro
|
||||
|
||||
+@macro manpageurl {func, sec}
|
||||
+@url{https://man7.org/linux/man-pages/man\sec\/\func\.\sec\.html}
|
||||
+@end macro
|
||||
+
|
||||
@macro manpagefunctionstub {func,sec}
|
||||
This documentation is a stub. For additional information on this
|
||||
-function, consult the manual page
|
||||
-@url{https://man7.org/linux/man-pages/man\sec\/\func\.\sec\.html}.
|
||||
+function, consult the manual page @manpageurl{\func\,\sec\}.
|
||||
@xref{Linux Kernel}.
|
||||
@end macro
|
||||
|
||||
--
|
||||
2.43.5
|
||||
|
85
glibc-RHEL-67592-4.patch
Normal file
85
glibc-RHEL-67592-4.patch
Normal file
@ -0,0 +1,85 @@
|
||||
From 37a0933e1bf97346b45463bde0c4631be8abaa07 Mon Sep 17 00:00:00 2001
|
||||
From: DJ Delorie <dj@redhat.com>
|
||||
Date: Tue, 10 Dec 2024 16:57:21 -0500
|
||||
Subject: [PATCH] manual: make @manpageurl more specific to each output
|
||||
Content-type: text/plain; charset=UTF-8
|
||||
|
||||
Tweak the @manpageurl macro to customize the output for
|
||||
each of html, info, and pdf output. HTML and PDF (at
|
||||
least, these days) support clicking on the link title,
|
||||
whereas info does not. Add text to the intro section
|
||||
explaining which man pages are normative and which
|
||||
aren't.
|
||||
|
||||
Conflicts
|
||||
manual/resource.texi
|
||||
Removed; unneeded
|
||||
---
|
||||
manual/intro.texi | 14 +++++++++++++-
|
||||
manual/macros.texi | 12 ++++++++++--
|
||||
manual/resource.texi | 3 +--
|
||||
3 files changed, 24 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/manual/intro.texi b/manual/intro.texi
|
||||
index 879c1b38d9..d95648468d 100644
|
||||
--- a/manual/intro.texi
|
||||
+++ b/manual/intro.texi
|
||||
@@ -966,13 +966,25 @@ functionality is available on commercial systems.
|
||||
|
||||
@Theglibc{} includes by reference the Linux man-pages
|
||||
@value{man_pages_version} documentation to document the listed
|
||||
-syscalls for the Linux kernel. For reference purposes only the latest
|
||||
+syscalls for the Linux kernel. For reference purposes only, the latest
|
||||
@uref{https://www.kernel.org/doc/man-pages/,Linux man-pages Project}
|
||||
documentation can be accessed from the
|
||||
@uref{https://www.kernel.org,Linux kernel} website. Where the syscall
|
||||
has more specific documentation in this manual that more specific
|
||||
documentation is considered authoritative.
|
||||
|
||||
+Throughout this manual, when we refer to a man page, for example:
|
||||
+@quotation
|
||||
+@manpageurl{sendmsg,2}
|
||||
+@end quotation
|
||||
+@noindent
|
||||
+we are referring primarily to the specific version noted above (the
|
||||
+``normative'' version), typically accessed by running (for example)
|
||||
+@code{man 2 sendmsg} on a system with that version installed. For
|
||||
+convenience, we will also link to the online latest copy of the man
|
||||
+pages, but keep in mind that version will almost always be newer than,
|
||||
+and thus different than, the normative version noted above.
|
||||
+
|
||||
Additional details on the Linux system call interface can be found in
|
||||
@xref{System Calls}.
|
||||
|
||||
diff --git a/manual/macros.texi b/manual/macros.texi
|
||||
index f48dd4ec22..2003ce2678 100644
|
||||
--- a/manual/macros.texi
|
||||
+++ b/manual/macros.texi
|
||||
@@ -282,14 +282,22 @@ cwd\comments\
|
||||
@macro standardsx {element, standard, header}
|
||||
@end macro
|
||||
|
||||
+@ifhtml
|
||||
@macro manpageurl {func, sec}
|
||||
-@url{https://man7.org/linux/man-pages/man\sec\/\func\.\sec\.html}
|
||||
+@url{https://man7.org/linux/man-pages/man\sec\/\func\.\sec\.html,,\func\(\sec\)}
|
||||
+@xref{Linux Kernel}
|
||||
@end macro
|
||||
+@end ifhtml
|
||||
+@ifnothtml
|
||||
+@macro manpageurl {func, sec}
|
||||
+\func\(\sec\) (Latest, online: @url{https://man7.org/linux/man-pages/man\sec\/\func\.\sec\.html})
|
||||
+@xref{Linux Kernel}
|
||||
+@end macro
|
||||
+@end ifnothtml
|
||||
|
||||
@macro manpagefunctionstub {func,sec}
|
||||
This documentation is a stub. For additional information on this
|
||||
function, consult the manual page @manpageurl{\func\,\sec\}.
|
||||
-@xref{Linux Kernel}.
|
||||
@end macro
|
||||
|
||||
@end ifclear
|
||||
--
|
||||
2.43.5
|
||||
|
@ -157,7 +157,7 @@ end \
|
||||
Summary: The GNU libc libraries
|
||||
Name: glibc
|
||||
Version: %{glibcversion}
|
||||
Release: 162%{?dist}
|
||||
Release: 163%{?dist}
|
||||
|
||||
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
||||
# libraries.
|
||||
@ -1094,6 +1094,10 @@ Patch786: glibc-RHEL-75810-2.patch
|
||||
Patch787: glibc-RHEL-75810-3.patch
|
||||
Patch788: glibc-RHEL-46761-5.patch
|
||||
Patch789: glibc-RHEL-75938.patch
|
||||
Patch790: glibc-RHEL-67592-1.patch
|
||||
Patch791: glibc-RHEL-67592-2.patch
|
||||
Patch792: glibc-RHEL-67592-3.patch
|
||||
Patch793: glibc-RHEL-67592-4.patch
|
||||
|
||||
##############################################################################
|
||||
# Continued list of core "glibc" package information:
|
||||
@ -3087,6 +3091,9 @@ update_gconv_modules_cache ()
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Feb 4 2025 DJ Delorie <dj@redhat.com> - 2.34-163
|
||||
- manual: sigaction's sa_flags field and SA_SIGINFO (RHEL-67592)
|
||||
|
||||
* Wed Jan 29 2025 Patsy Griffin <patsy@redhat.com> - 2.34-162
|
||||
- CVE-2025-0395: fix underallocation of abort_msg_s struct (RHEL-75938)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user