On 25.08.2010, at 10:16, Heiko Carstens wrote:

> 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...

Oh, this is a simple copy&paste from the original search method. Is d valid in 
the first part of the loop already?

> 
>> +            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.

Yeah :). I like paranoid.


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to