|
@@ -337,8 +337,10 @@ static long vhost_set_memory(struct vhost_dev *d, struct vhost_memory __user *m)
|
|
|
return -EFAULT;
|
|
|
}
|
|
|
|
|
|
- if (!memory_access_ok(d, newmem, vhost_has_feature(d, VHOST_F_LOG_ALL)))
|
|
|
+ if (!memory_access_ok(d, newmem, vhost_has_feature(d, VHOST_F_LOG_ALL))) {
|
|
|
+ kfree(newmem);
|
|
|
return -EFAULT;
|
|
|
+ }
|
|
|
oldmem = d->memory;
|
|
|
rcu_assign_pointer(d->memory, newmem);
|
|
|
synchronize_rcu();
|