Re: [PATCH 03/18] fs_context: fix detecting full log buffer

From: David Howells
Date: Mon Jul 09 2018 - 05:35:54 EST


David Howells <dhowells@xxxxxxxxxx> wrote:

> > When 'head' and 'tail' wrap around, 'log->head - log->tail' will be
> > something like '4 - 252 = -248', and comparing that directly to the
> > array size is wrong. Fix by casting to 'u8'.
>
> I think a better fix is to use CIRC_CNT() or CIRC_SPACE().

Or it would be - if CIRC_CNT() and CIRC_SPACE() didn't leave a hole in the
buffer - but that's unnecessary if the head and tail counters can hold 2x the
ring size or more.

David