Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Mar 2017 12:21 -0700
From:      John Baldwin <jhb@freebsd.org>
To:        src-committers@freebsd.org
Cc:        svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r315323 - head/sys/kern
Message-ID:  <3167768.s4jIG6eyGp@ralph.baldwin.cx>
In-Reply-To: <201703151823.v2FINWN9083379@repo.freebsd.org>
References:  <201703151823.v2FINWN9083379@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3167768.s4jIG6eyGp>