Lines Matching refs:srfmp
1076 struct _sr_file_mappings *srfmp; in shared_region_map_and_slide_setup() local
1108 srfmp = &(*sr_file_mappings)[i]; in shared_region_map_and_slide_setup()
1109 srfmp->fd = files[i].sf_fd; in shared_region_map_and_slide_setup()
1110 srfmp->mappings_count = files[i].sf_mappings_count; in shared_region_map_and_slide_setup()
1111 srfmp->mappings = &mappings[mappings_next]; in shared_region_map_and_slide_setup()
1112 mappings_next += srfmp->mappings_count; in shared_region_map_and_slide_setup()
1117 srfmp->slide = files[i].sf_slide; in shared_region_map_and_slide_setup()
1149 for (srfmp = &(*sr_file_mappings)[0]; in shared_region_map_and_slide_setup()
1150 srfmp < &(*sr_file_mappings)[files_count]; in shared_region_map_and_slide_setup()
1151 srfmp++) { in shared_region_map_and_slide_setup()
1152 if (srfmp->mappings_count == 0) { in shared_region_map_and_slide_setup()
1162 if (srfmp->fd == -1) { in shared_region_map_and_slide_setup()
1164 if (srfmp->mappings_count > 1) { in shared_region_map_and_slide_setup()
1176 struct shared_file_mapping_slide_np *mapping = &srfmp->mappings[0]; in shared_region_map_and_slide_setup()
1199 error = fp_get_ftype(p, srfmp->fd, DTYPE_VNODE, EINVAL, &srfmp->fp); in shared_region_map_and_slide_setup()
1205 proc_getpid(p), p->p_comm, srfmp->fd, error)); in shared_region_map_and_slide_setup()
1210 if (!(srfmp->fp->fp_glob->fg_flag & FREAD)) { in shared_region_map_and_slide_setup()
1215 proc_getpid(p), p->p_comm, srfmp->fd)); in shared_region_map_and_slide_setup()
1221 error = vnode_getwithref((vnode_t)fp_get_data(srfmp->fp)); in shared_region_map_and_slide_setup()
1227 proc_getpid(p), p->p_comm, srfmp->fd, error)); in shared_region_map_and_slide_setup()
1230 srfmp->vp = (struct vnode *)fp_get_data(srfmp->fp); in shared_region_map_and_slide_setup()
1233 if (srfmp->vp->v_type != VREG) { in shared_region_map_and_slide_setup()
1239 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1240 srfmp->vp->v_name, srfmp->vp->v_type)); in shared_region_map_and_slide_setup()
1249 srfmp->fp->fp_glob, VM_PROT_ALL, MAP_FILE | MAP_PRIVATE | MAP_FIXED, 0, &maxprot); in shared_region_map_and_slide_setup()
1269 struct cs_blob *blob = csvnode_get_blob(srfmp->vp, 0); in shared_region_map_and_slide_setup()
1276 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1277 srfmp->vp->v_name)); in shared_region_map_and_slide_setup()
1287 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1288 srfmp->vp->v_name)); in shared_region_map_and_slide_setup()
1308 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1309 srfmp->vp->v_name)); in shared_region_map_and_slide_setup()
1319 error = vnode_getattr(srfmp->vp, &va, vfs_context_current()); in shared_region_map_and_slide_setup()
1326 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1327 srfmp->vp->v_name, in shared_region_map_and_slide_setup()
1328 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1338 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1339 srfmp->vp->v_name, va.va_uid)); in shared_region_map_and_slide_setup()
1352 error = vnode_getattr(srfmp->vp, &va, vfs_context_current()); in shared_region_map_and_slide_setup()
1359 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1360 srfmp->vp->v_name, in shared_region_map_and_slide_setup()
1361 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1377 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1378 srfmp->vp->v_name)); in shared_region_map_and_slide_setup()
1390 if (srfmp->vp->v_mount != rdir_vp->v_mount) { in shared_region_map_and_slide_setup()
1398 if (error || srfmp->vp->v_mount != preboot_vp->v_mount) { in shared_region_map_and_slide_setup()
1404 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1405 srfmp->vp->v_name)); in shared_region_map_and_slide_setup()
1437 if (vnode_parent(srfmp->vp) == scdir_vp) { in shared_region_map_and_slide_setup()
1451 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1452 srfmp->vp->v_name)); in shared_region_map_and_slide_setup()
1459 error = vnode_size(srfmp->vp, &fs, vfs_context_current()); in shared_region_map_and_slide_setup()
1466 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1467 srfmp->vp->v_name, in shared_region_map_and_slide_setup()
1468 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), error)); in shared_region_map_and_slide_setup()
1471 srfmp->file_size = fs; in shared_region_map_and_slide_setup()
1474 srfmp->file_control = ubc_getobject(srfmp->vp, UBC_HOLDOBJECT); in shared_region_map_and_slide_setup()
1475 if (srfmp->file_control == MEMORY_OBJECT_CONTROL_NULL) { in shared_region_map_and_slide_setup()
1481 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1482 srfmp->vp->v_name)); in shared_region_map_and_slide_setup()
1491 for (i = 0; i < srfmp->mappings_count; i++) { in shared_region_map_and_slide_setup()
1492 if (srfmp->mappings[i].sms_init_prot & VM_PROT_ZF) { in shared_region_map_and_slide_setup()
1496 if (ubc_cs_is_range_codesigned(srfmp->vp, in shared_region_map_and_slide_setup()
1497 srfmp->mappings[i].sms_file_offset, in shared_region_map_and_slide_setup()
1498 srfmp->mappings[i].sms_size)) { in shared_region_map_and_slide_setup()
1508 (void *)VM_KERNEL_ADDRPERM(srfmp->vp), in shared_region_map_and_slide_setup()
1509 srfmp->vp->v_name, in shared_region_map_and_slide_setup()
1510 i, srfmp->mappings_count, in shared_region_map_and_slide_setup()
1511 srfmp->mappings[i].sms_address, in shared_region_map_and_slide_setup()
1512 srfmp->mappings[i].sms_size, in shared_region_map_and_slide_setup()
1513 srfmp->mappings[i].sms_file_offset, in shared_region_map_and_slide_setup()
1514 srfmp->mappings[i].sms_max_prot, in shared_region_map_and_slide_setup()
1515 srfmp->mappings[i].sms_init_prot)); in shared_region_map_and_slide_setup()
1639 struct _sr_file_mappings *srfmp; in shared_region_map_and_slide_cleanup() local
1643 for (srfmp = &sr_file_mappings[0]; srfmp < &sr_file_mappings[files_count]; srfmp++) { in shared_region_map_and_slide_cleanup()
1644 if (srfmp->vp != NULL) { in shared_region_map_and_slide_cleanup()
1645 vnode_lock_spin(srfmp->vp); in shared_region_map_and_slide_cleanup()
1646 srfmp->vp->v_flag |= VSHARED_DYLD; in shared_region_map_and_slide_cleanup()
1647 vnode_unlock(srfmp->vp); in shared_region_map_and_slide_cleanup()
1650 if (!(vnode_vfsvisflags(srfmp->vp) & MNT_NOATIME)) { in shared_region_map_and_slide_cleanup()
1654 vnode_setattr(srfmp->vp, &va, vfs_context_current()); in shared_region_map_and_slide_cleanup()
1664 if (vnode_hasnamedstreams(srfmp->vp)) { in shared_region_map_and_slide_cleanup()
1666 if (vnode_getnamedstream(srfmp->vp, &svp, XATTR_RESOURCEFORK_NAME, in shared_region_map_and_slide_cleanup()
1679 (void) vnode_put(srfmp->vp); in shared_region_map_and_slide_cleanup()
1680 srfmp->vp = NULL; in shared_region_map_and_slide_cleanup()
1682 if (srfmp->fp != NULL) { in shared_region_map_and_slide_cleanup()
1684 fp_drop(p, srfmp->fd, srfmp->fp, 0); in shared_region_map_and_slide_cleanup()
1685 srfmp->fp = NULL; in shared_region_map_and_slide_cleanup()