Page MenuHomeFreeBSD

netlink: Align allocations on __max_align_t, not uint64_t.
ClosedPublic

Authored by jhb on Aug 3 2023, 5:32 PM.
Tags
None
Referenced Files
F154352353: D41301.id.diff
Tue, Apr 28, 1:07 AM
Unknown Object (File)
Fri, Apr 24, 5:03 AM
Unknown Object (File)
Tue, Apr 21, 1:59 PM
Unknown Object (File)
Mon, Apr 20, 1:11 PM
Unknown Object (File)
Tue, Apr 14, 3:50 AM
Unknown Object (File)
Mon, Apr 13, 9:45 PM
Unknown Object (File)
Sat, Apr 11, 8:29 PM
Unknown Object (File)
Thu, Apr 9, 6:47 PM
Subscribers

Details

Summary

uint64_t is not sufficient alignment for allocators on all platforms.
On a CHERI platform pointers require 16 byte alignment, but also if a
type contained a uint128_t or long double it would not be aligned
correctly either. C11 added max_align_t precisely to provide a
portable type for allocators to use.

Obtained from: CheriBSD
Sponsored by: DARPA

Diff Detail

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