Lines Matching refs:new_map
709 static bool mappings_overlap(struct uid_gid_map *new_map, in mappings_overlap() argument
720 for (idx = 0; idx < new_map->nr_extents; idx++) { in mappings_overlap()
725 if (new_map->nr_extents <= UID_GID_MAP_MAX_BASE_EXTENTS) in mappings_overlap()
726 prev = &new_map->extent[idx]; in mappings_overlap()
728 prev = &new_map->forward[idx]; in mappings_overlap()
852 struct uid_gid_map new_map; in map_write() local
888 memset(&new_map, 0, sizeof(struct uid_gid_map)); in map_write()
950 if (mappings_overlap(&new_map, &extent)) in map_write()
953 if ((new_map.nr_extents + 1) == UID_GID_MAP_MAX_EXTENTS && in map_write()
957 ret = insert_extent(&new_map, &extent); in map_write()
963 if (new_map.nr_extents == 0) in map_write()
968 if (!new_idmap_permitted(file, ns, cap_setid, &new_map)) in map_write()
975 for (idx = 0; idx < new_map.nr_extents; idx++) { in map_write()
979 if (new_map.nr_extents <= UID_GID_MAP_MAX_BASE_EXTENTS) in map_write()
980 e = &new_map.extent[idx]; in map_write()
982 e = &new_map.forward[idx]; in map_write()
1001 ret = sort_idmaps(&new_map); in map_write()
1006 if (new_map.nr_extents <= UID_GID_MAP_MAX_BASE_EXTENTS) { in map_write()
1007 memcpy(map->extent, new_map.extent, in map_write()
1008 new_map.nr_extents * sizeof(new_map.extent[0])); in map_write()
1010 map->forward = new_map.forward; in map_write()
1011 map->reverse = new_map.reverse; in map_write()
1014 map->nr_extents = new_map.nr_extents; in map_write()
1019 if (ret < 0 && new_map.nr_extents > UID_GID_MAP_MAX_BASE_EXTENTS) { in map_write()
1020 kfree(new_map.forward); in map_write()
1021 kfree(new_map.reverse); in map_write()
1086 struct uid_gid_map *new_map) in new_idmap_permitted() argument
1092 if ((new_map->nr_extents == 1) && (new_map->extent[0].count == 1) && in new_idmap_permitted()
1094 u32 id = new_map->extent[0].lower_first; in new_idmap_permitted()