diff options
author | Jason Wang <jasowang@redhat.com> | 2018-08-06 11:17:47 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-08-06 10:41:04 -0700 |
commit | 429711aec282c4b5fe5bbd7b2f0bbbff4110ffb2 (patch) | |
tree | 81c65e5a1a91dac774b07eb5b233d677b4c05064 /fs/file.c | |
parent | 9c2e955c48363a6a000a684aa49be7f4ac1120ad (diff) | |
download | linux-429711aec282c4b5fe5bbd7b2f0bbbff4110ffb2.tar.bz2 |
vhost: switch to use new message format
We use to have message like:
struct vhost_msg {
int type;
union {
struct vhost_iotlb_msg iotlb;
__u8 padding[64];
};
};
Unfortunately, there will be a hole of 32bit in 64bit machine because
of the alignment. This leads a different formats between 32bit API and
64bit API. What's more it will break 32bit program running on 64bit
machine.
So fixing this by introducing a new message type with an explicit
32bit reserved field after type like:
struct vhost_msg_v2 {
__u32 type;
__u32 reserved;
union {
struct vhost_iotlb_msg iotlb;
__u8 padding[64];
};
};
We will have a consistent ABI after switching to use this. To enable
this capability, introduce a new ioctl (VHOST_SET_BAKCEND_FEATURE) for
userspace to enable this feature (VHOST_BACKEND_F_IOTLB_V2).
Fixes: 6b1e6cc7855b ("vhost: new device IOTLB API")
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/file.c')
0 files changed, 0 insertions, 0 deletions