Re: [shm][hugetlb] Fix get_policy for stacked shared memory files

From: Andi Kleen
Date: Tue Jun 12 2007 - 06:20:40 EST



> Can we just double-check the refcounting please?
>
> > index 4fefbad..8d2672d 100644
> > --- a/ipc/shm.c
> > +++ b/ipc/shm.c
> > @@ -254,8 +254,10 @@ struct mempolicy *shm_get_policy(struct vm_area_struct *vma, unsigned long addr)
> >
> > if (sfd->vm_ops->get_policy)
> > pol = sfd->vm_ops->get_policy(vma, addr);
>
> afacit this takes a ref on the underlying policy
>
> > - else
> > + else if (vma->vm_policy)
> > pol = vma->vm_policy;
> > + else
> > + pol = current->mempolicy;
>
> but these two do not.
>
> > return pol;
> > }
> > #endif
>
> Is is all correct?

No it looks broken.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/