aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/sock.c
diff options
context:
space:
mode:
authorJason Wang <jasowang@redhat.com>2018-08-06 11:17:47 +0800
committerDavid S. Miller <davem@davemloft.net>2018-08-06 10:41:04 -0700
commit429711aec282c4b5fe5bbd7b2f0bbbff4110ffb2 (patch)
tree81c65e5a1a91dac774b07eb5b233d677b4c05064 /net/core/sock.c
parentnet/bridge/br_multicast: remove redundant variable "err" (diff)
downloadlinux-dev-429711aec282c4b5fe5bbd7b2f0bbbff4110ffb2.tar.xz
linux-dev-429711aec282c4b5fe5bbd7b2f0bbbff4110ffb2.zip
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 'net/core/sock.c')
0 files changed, 0 insertions, 0 deletions