lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
[gnulib.git] / doc / glibc-functions / explicit_bzero.texi
blob31b4c9c011486d882534c9e976a1aa76e27c3c5b
1 @node explicit_bzero
2 @subsection @code{explicit_bzero}
3 @findex explicit_bzero
5 Documentation:
6 @itemize
7 @item
8 @ifinfo
9 @ref{Erasing Sensitive Data,,Erasing Sensitive Data,libc},
10 @end ifinfo
11 @ifnotinfo
12 @url{https://www.gnu.org/software/libc/manual/html_node/Erasing-Sensitive-Data.html},
13 @end ifnotinfo
14 @item
15 @uref{https://www.kernel.org/doc/man-pages/online/pages/man3/explicit_bzero.3.html,,man explicit_bzero}.
16 @end itemize
18 Gnulib module: explicit_bzero
20 The @code{explicit_bzero} function is an approximation to what is
21 needed, and does not suffice in general to erase information.
22 Although calling @code{explicit_bzero} should clear the memory in
23 question, the information that was in memory may still be available
24 elsewhere on the machine.  Proper implementation of information
25 erasure requires support from levels below C code.
27 Portability problems fixed by Gnulib:
28 @itemize
29 @item
30 This function is missing on some platforms:
31 glibc 2.24, FreeBSD 10, NetBSD 7.1, OpenBSD 5.4, macOS 10.12, Solaris 11.4, Android 9.0,
32 and many other systems.
33 @end itemize
35 Portability problems not fixed by Gnulib:
36 @itemize
37 @item
38 Although the module's implementation should clear the memory on
39 platforms compatible with GCC and on platforms using traditional
40 linkers, it may not clear the memory on non-GCC platforms that use
41 whole-program optimization.
42 @end itemize