On 25/08/2018 14:50, Maxime Villard wrote:
Le 25/08/2018 à 14:37, Nick Hudson a écrit :
On 25 Aug 2018, at 10:58, Maxime Villard <m...@m00nbsd.net> wrote:
Le 25/08/2018 à 11:50, Nick Hudson a écrit :
On 25/08/2018 06:56, Maxime Villard wrote:
Module Name: src
Committed By: maxv
Date: Sat Aug 25 05:56:25 UTC 2018
Modified Files:
src/sys/kern: subr_pool.c
Log Message:
Disable POOL_REDZONE until we figure out what's wrong. There must
be a dumb
problem, that is not triggerable on amd64.
Reversed align and align_offset arguments to pool_cache_bootstrap
appear to be
the problem.
indeed
I rushed this email out... I think pool red zone needs fixing for non
zero
align_offset?
I don't think so, unless you see a specific problem.
pool_redzone_init() only modifies pr_size. align_offset is touched
afterwards,
depending on pr_size, and I don't see why we would need to take care
of it.
I hardly see how the inverted parameters can be correct. Already in
the code
we compute (align - ioff), so if you pass align < ioff, we have a
problem.
Let me try this again...
There is clearly a problem with POOL_REDZONE and align < align_offset.
Currently subr_pool.c has
585: * Silently enforce `0 <= ioff < align'.
586: */
587: pp->pr_itemoffset = ioff %= align;
Either this is made loud or POOL_REDZONE is fixed - which do you prefer?
Thanks,
Nick