> We actually need one byte less (next_mb_id is exclusive, first_mb_id is > inclusive). Simplify. > > Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx> > Cc: Jason Wang <jasowang@xxxxxxxxxx> > Cc: Pankaj Gupta <pankaj.gupta.linux@xxxxxxxxx> > Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> > --- > drivers/virtio/virtio_mem.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/virtio/virtio_mem.c b/drivers/virtio/virtio_mem.c > index a1f5bf7a571a..670b3faf412d 100644 > --- a/drivers/virtio/virtio_mem.c > +++ b/drivers/virtio/virtio_mem.c > @@ -257,8 +257,8 @@ static enum virtio_mem_mb_state virtio_mem_mb_get_state(struct virtio_mem *vm, > */ > static int virtio_mem_mb_state_prepare_next_mb(struct virtio_mem *vm) > { > - unsigned long old_bytes = vm->next_mb_id - vm->first_mb_id + 1; > - unsigned long new_bytes = vm->next_mb_id - vm->first_mb_id + 2; > + unsigned long old_bytes = vm->next_mb_id - vm->first_mb_id; > + unsigned long new_bytes = old_bytes + 1; Maybe we can avoid new_bytes & old_bytes variables, instead use single variable. Can later be used with PFN_UP/PFN_DOWN. > int old_pages = PFN_UP(old_bytes); > int new_pages = PFN_UP(new_bytes); > uint8_t *new_mb_state;