Lines Matching refs:new_map
715 static bool mappings_overlap(struct uid_gid_map *new_map, in mappings_overlap() argument
726 for (idx = 0; idx < new_map->nr_extents; idx++) { in mappings_overlap()
731 if (new_map->nr_extents <= UID_GID_MAP_MAX_BASE_EXTENTS) in mappings_overlap()
732 prev = &new_map->extent[idx]; in mappings_overlap()
734 prev = &new_map->forward[idx]; in mappings_overlap()
858 struct uid_gid_map new_map; in map_write() local
894 memset(&new_map, 0, sizeof(struct uid_gid_map)); in map_write()
956 if (mappings_overlap(&new_map, &extent)) in map_write()
959 if ((new_map.nr_extents + 1) == UID_GID_MAP_MAX_EXTENTS && in map_write()
963 ret = insert_extent(&new_map, &extent); in map_write()
969 if (new_map.nr_extents == 0) in map_write()
974 if (!new_idmap_permitted(file, ns, cap_setid, &new_map)) in map_write()
977 ret = sort_idmaps(&new_map); in map_write()
985 for (idx = 0; idx < new_map.nr_extents; idx++) { in map_write()
989 if (new_map.nr_extents <= UID_GID_MAP_MAX_BASE_EXTENTS) in map_write()
990 e = &new_map.extent[idx]; in map_write()
992 e = &new_map.forward[idx]; in map_write()
1008 if (new_map.nr_extents <= UID_GID_MAP_MAX_BASE_EXTENTS) { in map_write()
1009 memcpy(map->extent, new_map.extent, in map_write()
1010 new_map.nr_extents * sizeof(new_map.extent[0])); in map_write()
1012 map->forward = new_map.forward; in map_write()
1013 map->reverse = new_map.reverse; in map_write()
1016 map->nr_extents = new_map.nr_extents; in map_write()
1021 if (ret < 0 && new_map.nr_extents > UID_GID_MAP_MAX_BASE_EXTENTS) { in map_write()
1022 kfree(new_map.forward); in map_write()
1023 kfree(new_map.reverse); in map_write()
1088 struct uid_gid_map *new_map) in new_idmap_permitted() argument
1094 if ((new_map->nr_extents == 1) && (new_map->extent[0].count == 1) && in new_idmap_permitted()
1096 u32 id = new_map->extent[0].lower_first; in new_idmap_permitted()