lkml.org 
[lkml]   [2005]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: RFC: Cleanup / small fixes to hugetlb fault handling
    Date
    David Gibson wrote on Tuesday, October 25, 2005 7:49 PM
    > +int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
    > + unsigned long address, int write_access)
    > +{
    > + pte_t *ptep;
    > + pte_t entry;
    > +
    > + ptep = huge_pte_alloc(mm, address);
    > + if (! ptep)
    > + /* OOM */
    > + return VM_FAULT_SIGBUS;
    > +
    > + entry = *ptep;
    > +
    > + if (pte_none(entry))
    > + return hugetlb_no_page(mm, vma, address, ptep);
    > +
    > + /* we could get here if another thread instantiated the pte
    > + * before the test above */
    > +
    > + return VM_FAULT_SIGBUS;
    > }

    Are you sure about the last return? Looks like a typo to me, if *ptep
    is present, it should return VM_FAULT_MINOR.

    But the bigger question is: don't you need some lock when checking *ptep?

    - Ken

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

    \
     
     \ /
      Last update: 2005-10-26 20:50    [W:0.021 / U:30.284 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site