Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/mm/as.c

    r94795812 r57355a40  
    426426        /*
    427427         * So far, the area does not conflict with other areas.
    428          * Check if it doesn't conflict with kernel address space.
     428         * Check if it is contained in the user address space.
    429429         */
    430430        if (!KERNEL_ADDRESS_SPACE_SHADOWED) {
    431                 return !overlaps(addr, P2SZ(count), KERNEL_ADDRESS_SPACE_START,
    432                     KERNEL_ADDRESS_SPACE_END - KERNEL_ADDRESS_SPACE_START);
     431                return iswithin(USER_ADDRESS_SPACE_START,
     432                    (USER_ADDRESS_SPACE_END - USER_ADDRESS_SPACE_START) + 1,
     433                    addr, P2SZ(count));
    433434        }
    434435       
     
    696697                return ENOENT;
    697698        }
    698        
    699         if (area->backend == &phys_backend) {
    700                 /*
    701                  * Remapping of address space areas associated
    702                  * with memory mapped devices is not supported.
     699
     700        if (!area->backend->is_resizable(area)) {
     701                /*
     702                 * The backend does not support resizing for this area.
    703703                 */
    704704                mutex_unlock(&area->lock);
     
    10571057        }
    10581058       
    1059         if ((!src_area->backend) || (!src_area->backend->share)) {
    1060                 /*
    1061                  * There is no backend or the backend does not
    1062                  * know how to share the area.
     1059        if (!src_area->backend->is_shareable(src_area)) {
     1060                /*
     1061                 * The backend does not permit sharing of this area.
    10631062                 */
    10641063                mutex_unlock(&src_area->lock);
Note: See TracChangeset for help on using the changeset viewer.