Page MenuHomeFreeBSD

lib/libc/string: add memset_explicit() for compliance with C23
ClosedPublic

Authored by fuz on Oct 25 2024, 5:48 PM.
Tags
None
Referenced Files
F168018479: D47286.id146474.diff
Tue, Aug 25, 10:56 PM
F168006061: D47286.diff
Tue, Aug 25, 9:20 PM
Unknown Object (File)
Tue, Aug 25, 2:01 AM
Unknown Object (File)
Fri, Aug 21, 11:04 AM
Unknown Object (File)
Fri, Aug 21, 11:04 AM
Unknown Object (File)
Wed, Aug 19, 6:35 AM
Unknown Object (File)
Tue, Aug 18, 5:36 PM
Unknown Object (File)
Mon, Aug 17, 11:17 PM
Subscribers

Details

Summary

Patterned after explicit_bzero sans the hook.
SSP hardening is provided, too.
The function is documented in memset(3).

Test Plan

passes newly added unit tests

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

fuz requested review of this revision.Oct 25 2024, 5:48 PM
  • lib/libc/string/memset_explicit.c: add weak hook to confuse LTO inlining

As requested by @emaste.

fortify bits look good, thanks

include/string.h
74

I believe

This revision is now accepted and ready to land.Nov 14 2024, 4:30 PM