xref: /f-stack/freebsd/libkern/explicit_bzero.c (revision a9643ea8)
1*a9643ea8Slogwang /*	$OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */
2*a9643ea8Slogwang /*
3*a9643ea8Slogwang  * Public domain.
4*a9643ea8Slogwang  * Written by Matthew Dempsky.
5*a9643ea8Slogwang  */
6*a9643ea8Slogwang 
7*a9643ea8Slogwang #include <sys/cdefs.h>
8*a9643ea8Slogwang __FBSDID("$FreeBSD$");
9*a9643ea8Slogwang 
10*a9643ea8Slogwang #ifdef _KERNEL
11*a9643ea8Slogwang #include <sys/libkern.h>
12*a9643ea8Slogwang #else
13*a9643ea8Slogwang #include <string.h>
14*a9643ea8Slogwang #endif /* _KERNEL */
15*a9643ea8Slogwang 
16*a9643ea8Slogwang __attribute__((weak)) void __explicit_bzero_hook(void *, size_t);
17*a9643ea8Slogwang 
18*a9643ea8Slogwang __attribute__((weak)) void
__explicit_bzero_hook(void * buf,size_t len)19*a9643ea8Slogwang __explicit_bzero_hook(void *buf, size_t len)
20*a9643ea8Slogwang {
21*a9643ea8Slogwang }
22*a9643ea8Slogwang 
23*a9643ea8Slogwang void
explicit_bzero(void * buf,size_t len)24*a9643ea8Slogwang explicit_bzero(void *buf, size_t len)
25*a9643ea8Slogwang {
26*a9643ea8Slogwang 	memset(buf, 0, len);
27*a9643ea8Slogwang 	__explicit_bzero_hook(buf, len);
28*a9643ea8Slogwang }
29