On Tue, Mar 26, 2024 at 11:53:12AM +0100, Christian Brauner wrote: > 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. But send them out in one series ofc. Amir and I can sort this if needed.