Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a02c3789 authored by Takuya Yoshikawa's avatar Takuya Yoshikawa Committed by Michael S. Tsirkin
Browse files

vhost: fix the memory leak which will happen when memory_access_ok fails



We need to free newmem when vhost_set_memory() fails to complete.

Signed-off-by: default avatarTakuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent d3553a52
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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();