[...] > +void kvm_s390_adapter_gmap_notifier(struct gmap *gmap, unsigned long start, > + unsigned long end) > +{ > + struct kvm *kvm = gmap->private; > + struct s390_map_info *map, *tmp; > + int i; > + > + for (i = 0; i < MAX_S390_IO_ADAPTERS; i++) { > + struct s390_io_adapter *adapter = kvm->arch.adapters[i]; > + > + if (!adapter) > + continue; > + spin_lock(&adapter->maps_lock); > + list_for_each_entry_safe(map, tmp, &adapter->maps, list) { list_for_each_entry() is sufficient, we are not removing entries. > + if (start <= map->guest_addr && map->guest_addr < end) { > + if (IS_ERR(map->page)) > + map->page = ERR_PTR(-EAGAIN); > + else > + map->page = NULL; > + } -- Thanks, David / dhildenb