Re: [RFC PATCH 02/11] mm/mempolicy: swap cond reference counting logic in do_get_mempolicy

From: Michal Hocko
Date: Tue Nov 28 2023 - 09:29:01 EST


[restoring the CC list, I supect you didn't want this to be a private
discussion]

On Tue 28-11-23 09:10:18, Gregory Price wrote:
> On Tue, Nov 28, 2023 at 03:07:10PM +0100, Michal Hocko wrote:
> > On Wed 22-11-23 16:11:51, Gregory Price wrote:
> > [...]
> > > @@ -982,11 +991,11 @@ static long do_get_mempolicy(int *policy, nodemask_t *nmask,
> > > }
> > >
> > > out:
> > > - mpol_cond_put(pol);
> > > + mpol_put(pol);
> > > if (vma)
> > > mmap_read_unlock(mm);
> > > if (pol_refcount)
> > > - mpol_put(pol_refcount);
> > > + mpol_cond_put(pol_refcount);
> >
> > Maybe I am just misreading the patch but pol_refcount should be always
> > NULL with this patch
> >
>
> earlier:
>
> + pol = pol_refcount = __get_vma_policy(vma, addr, &ilx);
>
> i can split this into two lines if preferred.
>
> If addr is not set, then yes pol_refcount is always null.

My bad, missed that. Making that two lines would be easier to read but
nothing I would insist on of course.

--
Michal Hocko
SUSE Labs