svn commit: r315323 - head/sys/kern
John Baldwin
jhb at freebsd.org
Wed Mar 15 19:21:58 UTC 2017
On Wednesday, March 15, 2017 06:23:32 PM John Baldwin wrote:
> Author: jhb
> Date: Wed Mar 15 18:23:32 2017
> New Revision: 315323
> URL: https://svnweb.freebsd.org/changeset/base/315323
>
> Log:
> Use UMA_ALIGN_PTR instead of sizeof(void *) for zone alignment.
>
> uma_zcreate()'s alignment argument is supposed to be sizeof(foo) - 1,
> and uma.h provides a set of helper macros for common types. Passing
> sizeof(void *) results in all of the members being misaligned triggering
> unaligned access faults on certain architectures (notably MIPS).
>
> Reported by: brooks
> Obtained from: CheriBSD
> MFC after: 3 days
> Sponsored by: DARPA / AFRL
>
> Modified:
> head/sys/kern/vfs_lookup.c
We should perhaps add a KASSERT() to uma_zcreate to catch this sort of
thing. Something like KASSERT(powerof2(align + 1)) (assuming there isn't
a real use case for having non-power-of-2 alignments)?
--
John Baldwin
More information about the svn-src-all
mailing list