On Fri, 13 Aug 2021 21:33:19 +0200 "Maciej S. Szmigiero" <mail@xxxxxxxxxxxxxxxxxxxxx> wrote: > From: "Maciej S. Szmigiero" <maciej.szmigiero@xxxxxxxxxx> > > Since kvm_memslot_move_forward() can theoretically return a negative > memslot index even when kvm_memslot_move_backward() returned a positive one > (and so did not WARN) let's just move the warning to the common code. > > Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@xxxxxxxxxx> Reviewed-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > --- > virt/kvm/kvm_main.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 03ef42d2e421..7000efff1425 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -1293,8 +1293,7 @@ static inline int kvm_memslot_move_backward(struct kvm_memslots *slots, > struct kvm_memory_slot *mslots = slots->memslots; > int i; > > - if (WARN_ON_ONCE(slots->id_to_index[memslot->id] == -1) || > - WARN_ON_ONCE(!slots->used_slots)) > + if (slots->id_to_index[memslot->id] == -1 || !slots->used_slots) > return -1; > > /* > @@ -1398,6 +1397,9 @@ static void update_memslots(struct kvm_memslots *slots, > i = kvm_memslot_move_backward(slots, memslot); > i = kvm_memslot_move_forward(slots, memslot, i); > > + if (WARN_ON_ONCE(i < 0)) > + return; > + > /* > * Copy the memslot to its new position in memslots and update > * its index accordingly.