diff mbox series

[v2] manual: Document __wur usage under _FORTIFY_SOURCE

Message ID 20230324152543.30573-1-siddhesh@sourceware.org
State New
Headers show
Series [v2] manual: Document __wur usage under _FORTIFY_SOURCE | expand

Commit Message

Siddhesh Poyarekar March 24, 2023, 3:25 p.m. UTC
The __warn_unused_result__ attribute is only enabled when fortification
is enabled.  Mention that in the document.  The rationale for this is
essentially to mitigate against CWE-252:

[1] https://cwe.mitre.org/data/definitions/252.html

Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
---
 manual/maint.texi | 3 +++
 1 file changed, 3 insertions(+)

Comments

Florian Weimer April 3, 2023, 1:54 p.m. UTC | #1
* Siddhesh Poyarekar:

> The __warn_unused_result__ attribute is only enabled when fortification
> is enabled.  Mention that in the document.  The rationale for this is
> essentially to mitigate against CWE-252:
>
> [1] https://cwe.mitre.org/data/definitions/252.html
>
> Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
> ---
>  manual/maint.texi | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/manual/maint.texi b/manual/maint.texi
> index 76d4a1a147..a8441e20b6 100644
> --- a/manual/maint.texi
> +++ b/manual/maint.texi
> @@ -207,6 +207,9 @@ hardened variant that does additional safety checks at runtime.  Some
>  hardened variants need the size of the buffer to perform access
>  validation and this is provided by the @code{__builtin_object_size} or
>  the @code{__builtin_dynamic_object_size} builtin functions.
> +@code{_FORTIFY_SOURCE} also enables additional compile time diagnostics,
> +such as unchecked return values from some functions, to encourage
> +developers to add error checking for those functions.
>  
>  At runtime, if any of those safety checks fail, the program will
>  terminate with a @code{SIGABRT} signal.  @code{_FORTIFY_SOURCE} may be

Looks good.

Reviewed-by: Florian Weimer <fweimer@redhat.com>

Thanks,
Florian
diff mbox series

Patch

diff --git a/manual/maint.texi b/manual/maint.texi
index 76d4a1a147..a8441e20b6 100644
--- a/manual/maint.texi
+++ b/manual/maint.texi
@@ -207,6 +207,9 @@  hardened variant that does additional safety checks at runtime.  Some
 hardened variants need the size of the buffer to perform access
 validation and this is provided by the @code{__builtin_object_size} or
 the @code{__builtin_dynamic_object_size} builtin functions.
+@code{_FORTIFY_SOURCE} also enables additional compile time diagnostics,
+such as unchecked return values from some functions, to encourage
+developers to add error checking for those functions.
 
 At runtime, if any of those safety checks fail, the program will
 terminate with a @code{SIGABRT} signal.  @code{_FORTIFY_SOURCE} may be