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 <max%m00nbsd.net@localhost> 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 dumbproblem, that is not triggerable on amd64.Reversed align and align_offset arguments to pool_cache_bootstrap appear to bethe problem.indeedI rushed this email out... I think pool red zone needs fixing for non zeroalign_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