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