On Mon, Mar 25, 2024 at 05:50:55PM -0700, Vinicius Costa Gomes wrote: > Christian Brauner <brauner@xxxxxxxxxx> writes: > > > > > So something like this? (Amir?) > > > > > > -DEFINE_LOCK_GUARD_1(cred, const struct cred, _T->lock = override_creds_light(_T->lock), > > - revert_creds_light(_T->lock)); > > +DEFINE_LOCK_GUARD_1(cred, struct cred, > > + _T->lock = (struct cred *)override_creds_light(_T->lock), > > + revert_creds_light(_T->lock)); > > + > > +#define cred_guard(_cred) guard(cred)(((struct cred *)_cred)) > > +#define cred_scoped_guard(_cred) scoped_guard(cred, ((struct cred *)_cred)) > > > > /** > > * get_new_cred_many - Get references on a new set of credentials > > Thinking about proposing a PATCH version (with these suggestions applied), Amir > has suggested in the past that I should propose two separate series: > (1) introducing the guard helpers + backing file changes; > (2) overlayfs changes; > > Any new ideas about this? Or should I go with this plan? I mean make it two separate patches and I can provide Amir with a stable branch for the cleanup guards. I think that's what he wanted.