Re: [PATCH net 0/4] Fix various issue of vhost

From: Jason Wang
Date: Mon Dec 10 2018 - 22:01:51 EST



On 2018/12/11 äå3:47, David Miller wrote:
From: Jason Wang <jasowang@xxxxxxxxxx>
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