Commit b6ab71a2 authored by Claudio Imbrenda's avatar Claudio Imbrenda
Browse files

KVM: s390: vsie: Fix race in walk_guest_tables()



It is possible that walk_guest_tables() is called on a shadow gmap that
has been removed already, in which case its parent will be NULL.

In such case, return -EAGAIN and let the callers deal with it.

Fixes: e38c884d ("KVM: s390: Switch to new gmap")
Acked-by: default avatarJanosch Frank <frankja@linux.ibm.com>
Reviewed-by: default avatarChristoph Schlameuss <schlameuss@linux.ibm.com>
Signed-off-by: default avatarClaudio Imbrenda <imbrenda@linux.ibm.com>
parent 89888547
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1287,7 +1287,10 @@ static int walk_guest_tables(struct gmap *sg, unsigned long saddr, struct pgtwal
	union asce asce;
	int rc;

	if (!parent)
		return -EAGAIN;
	kvm = parent->kvm;
	WARN_ON(!kvm);
	asce = sg->guest_asce;
	entries = get_entries(w);