Re: [PATCH 3/4] mmap locking API: Don't check locking if the mm isn't live yet
From: Jason Gunthorpe
Date: Thu Oct 01 2020 - 19:41:35 EST
On Thu, Oct 01, 2020 at 10:16:35PM +0200, Jann Horn wrote:
> > A subclass isn't right, it has to be a _nested annotation.
> >
> > nested locking is a pretty good reason to not be able to do this, this
> > is something lockdep does struggle to model.
>
> Did I get the terminology wrong? I thought they were the same. The
> down_*_nested() APIs take an argument "subclass", with the default
> subclass for the functions without "_nested" being 0.
AFAIK a subclass at init time sticks with the lock forever, the
_nested ones are temporary overrides.
I think what you kind of want is to start out with
lockdep_set_novalidate_class() then switch to a real class once things
are finished. Not sure exactly how :)
Jason