Re: [PATCH v7 06/16] lockdep: Detect and handle hist_lock ring buffer overwrite

From: Byungchul Park
Date: Tue Jul 11 2017 - 22:03:58 EST


On Tue, Jul 11, 2017 at 06:12:32PM +0200, Peter Zijlstra wrote:
>
> ARGH!!! please, if there are known holes in patches, put a comment in.

The fourth of the last change log is the comment, but it was not enough.
I will try to add more comment in that case.

> I now had to independently discover this problem during review of the
> last patch.
>

...

>
> Right, like I wrote in the comment; I don't think you need quite this
> much.
>
> The problem only happens if you rewind more than MAX_XHLOCKS_NR;
> although I realize it can be an accumulative rewind, which makes it
> slightly more tricky.
>
> We can either make the rewind more expensive and make xhlock_valid()
> false for each rewound entry; or we can keep the max_idx and account

Does max_idx mean the 'original position - 1'?

> from there. If we rewind >= MAX_XHLOCKS_NR from the max_idx we need to
> invalidate the entire state, which we can do by invaliding

Could you explain what the entire state is?

> xhlock_valid() or by re-introduction of the hist_gen_id. When we

What does the re-introduction of the hist_gen_id mean?

> invalidate the entire state, we can also clear the max_idx.