SIGSEGV fills si_addr only for memory access faults. Add a note to clarify. Signed-off-by: Yu-cheng Yu <yu-cheng.yu@xxxxxxxxx> Cc: Alejandro Colomar <alx.manpages@xxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Florian Weimer <fweimer@xxxxxxxxxx> Cc: "H.J. Lu" <hjl.tools@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxx Link: https://lore.kernel.org/linux-api/20210217222730.15819-7-yu-cheng.yu@xxxxxxxxx/ --- man2/sigaction.2 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/man2/sigaction.2 b/man2/sigaction.2 index 49a30f11e..bea884a23 100644 --- a/man2/sigaction.2 +++ b/man2/sigaction.2 @@ -467,7 +467,7 @@ and .BR SIGTRAP fill in .I si_addr -with the address of the fault. +with the address of the fault (see notes). On some architectures, these signals also fill in the .I si_trapno @@ -955,6 +955,11 @@ It is not possible to block .IR sa_mask ). Attempts to do so are silently ignored. .PP +In a +.B SIGSEGV, +if the fault is a memory access fault, si_addr is filled with the address +causing the fault, otherwise it is not filled. +.PP See .BR sigsetops (3) for details on manipulating signal sets. -- 2.21.0