Re: [PATCH net 0/4] Fix various issue of vhost
From: Jason Wang Date: Mon, 10 Dec 2018 17:44:50 +0800 > This series tries to fix various issues of vhost: > > - Patch 1 adds a missing write barrier between used idx updating and > logging. > - Patch 2-3 brings back the protection of device IOTLB through vq > mutex, this fixes possible use after free in device IOTLB entries. > - Patch 4 fixes the diry page logging when device IOTLB is > enabled. We should done through GPA instead of GIOVA, this was done > through logging through iovec and traversing GPA->HPA list for the > GPA. > > Please consider them for -stable. Looks like the kbuild robot found some problems. ->used is a pointer (which might be 32-bit) and you're casting it to a u64 in the translate_desc() calls of patch #4. Please make sure that you don't actually require the full domain of a u64 in these values, as obviously if vq->used is a pointer you will only get a 32-bit domain on 32-bit architectures. ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Re: [PATCH net 0/4] Fix various issue of vhost
On 2018/12/11 上午3:47, David Miller wrote: From: Jason Wang Date: Mon, 10 Dec 2018 17:44:50 +0800 This series tries to fix various issues of vhost: - Patch 1 adds a missing write barrier between used idx updating and logging. - Patch 2-3 brings back the protection of device IOTLB through vq mutex, this fixes possible use after free in device IOTLB entries. - Patch 4 fixes the diry page logging when device IOTLB is enabled. We should done through GPA instead of GIOVA, this was done through logging through iovec and traversing GPA->HPA list for the GPA. Please consider them for -stable. Looks like the kbuild robot found some problems. ->used is a pointer (which might be 32-bit) and you're casting it to a u64 in the translate_desc() calls of patch #4. Please make sure that you don't actually require the full domain of a u64 in these values, as obviously if vq->used is a pointer you will only get a 32-bit domain on 32-bit architectures. It seems the reason is that I cast from plain void pointer directly. Let me cast it to uintptr_t first. Thanks ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
[PATCH net 0/4] Fix various issue of vhost
Hi: This series tries to fix various issues of vhost: - Patch 1 adds a missing write barrier between used idx updating and logging. - Patch 2-3 brings back the protection of device IOTLB through vq mutex, this fixes possible use after free in device IOTLB entries. - Patch 4 fixes the diry page logging when device IOTLB is enabled. We should done through GPA instead of GIOVA, this was done through logging through iovec and traversing GPA->HPA list for the GPA. Please consider them for -stable. Thanks Jason Wang (4): vhost: make sure used idx is seen before log in vhost_add_used_n() vhost_net: rework on the lock ordering for busy polling Revert "net: vhost: lock the vqs one by one" vhost: log dirty page correctly drivers/vhost/net.c | 21 +++-- drivers/vhost/vhost.c | 101 ++ drivers/vhost/vhost.h | 3 +- 3 files changed, 102 insertions(+), 23 deletions(-) -- 2.17.1 ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization