]> git.baikalelectronics.ru Git - kernel.git/commit
vhost: Fix vhost_vq_reset()
authorLaurent Vivier <lvivier@redhat.com>
Fri, 12 Mar 2021 14:09:13 +0000 (15:09 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 14 Mar 2021 22:06:33 +0000 (18:06 -0400)
commit20efea4f73da432f29210d3717bfe654a4a84a41
tree14a1afb60659ea37d0d2ca88ff62d8cf24a8ddfe
parente549776bede5bb6263b47c7f21521035d843be48
vhost: Fix vhost_vq_reset()

vhost_reset_is_le() is vhost_init_is_le(), and in the case of
cross-endian legacy, vhost_init_is_le() depends on vq->user_be.

vq->user_be is set by vhost_disable_cross_endian().

But in vhost_vq_reset(), we have:

    vhost_reset_is_le(vq);
    vhost_disable_cross_endian(vq);

And so user_be is used before being set.

To fix that, reverse the lines order as there is no other dependency
between them.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Link: https://lore.kernel.org/r/20210312140913.788592-1-lvivier@redhat.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/vhost.c