On Tue, Aug 24, 2010 at 03:48:51PM +0200, Alexander Graf wrote: > +static void hotplug_devices(struct work_struct *dummy) > +{ > + unsigned int i; > + struct kvm_device_desc *d; > + struct device *dev; > + > + for (i = 0; i < PAGE_SIZE; i += desc_size(d)) {
This should be for (i = 0; i + desc_size(d) <= PAGE_SIZE; i += desc_size(d)) { otherwise you might have memory accesses beyond the device page... > + d = kvm_devices + i; > + > + /* end of list */ > + if (d->type == 0) > + break; ...even if that should not happen if everything works. But let's be paranoid. _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/virtualization