[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL v3 52/85] contrib/vhost-user-*: use QEMU bswap helper function
From: |
Peter Maydell |
Subject: |
Re: [PULL v3 52/85] contrib/vhost-user-*: use QEMU bswap helper functions |
Date: |
Fri, 12 Jul 2024 16:23:52 +0100 |
On Fri, 12 Jul 2024 at 16:18, Stefano Garzarella <sgarzare@redhat.com> wrote:
>
> On Fri, Jul 12, 2024 at 03:24:47PM GMT, Peter Maydell wrote:
> >On Wed, 3 Jul 2024 at 23:48, Michael S. Tsirkin <mst@redhat.com> wrote:
> >> #if defined(__linux__) && defined(BLKDISCARD) && defined(BLKZEROOUT)
> >> VubDev *vdev_blk = req->vdev_blk;
> >> desc = buf;
> >> - uint64_t range[2] = { le64toh(desc->sector) << 9,
> >> - le32toh(desc->num_sectors) << 9 };
> >> + uint64_t range[2] = { le64_to_cpu(desc->sector) << 9,
> >> + le32_to_cpu(desc->num_sectors) << 9 };
> >
> >Hi; Coverity points out that this does a 32-bit shift, not a
> >64-bit one, so it could unintentionally chop the high bits off
> >if desc->num_sectors is big enough (CID 1549454).
> >We could fix this by making it
> > (uint64_t)le32_to_cpu(desc->num_sectors) << 9
> >I think.
>
> Yep, I think so! I'll send a patch.
>
> >
> >(It looks like the issue was already there before, so
>
> Yes, it is pre-existing to this patch, introduced from the beginning
> with commit caa1ee4313 ("vhost-user-blk: add discard/write zeroes
> features support")
>
> >Coverity has just noticed it because of the code change here.)
>
> Ah, I thought it ran on all the code, not just the changes.
It does run on all the code, but if the code changes enough
that can cause it to close out the old issue on the old code
and create a new issue in the system for the new code (which I
then notice because I look at newly-found things to triage them).
So things like refactorings and moving code around can cause
issues to show up.
The other reason this might have shown up now is that they seem
to have added a new check type which flags up a lot of "possible
overflow" errors, so there's a huge pile of new issues for old
code that I'm gradually going through to see which are false
positives and which we should look at.
-- PMM
- [PULL v3 46/85] qapi: clarify that the default is backend dependent, (continued)
- [PULL v3 46/85] qapi: clarify that the default is backend dependent, Michael S. Tsirkin, 2024/07/03
- [PULL v3 47/85] libvhost-user: set msg.msg_control to NULL when it is empty, Michael S. Tsirkin, 2024/07/03
- [PULL v3 48/85] libvhost-user: fail vu_message_write() if sendmsg() is failing, Michael S. Tsirkin, 2024/07/03
- [PULL v3 49/85] libvhost-user: mask F_INFLIGHT_SHMFD if memfd is not supported, Michael S. Tsirkin, 2024/07/03
- [PULL v3 50/85] vhost-user-server: do not set memory fd non-blocking, Michael S. Tsirkin, 2024/07/03
- [PULL v3 51/85] contrib/vhost-user-blk: fix bind() using the right size of the address, Michael S. Tsirkin, 2024/07/03
- [PULL v3 53/85] hostmem: add a new memory backend based on POSIX shm_open(), Michael S. Tsirkin, 2024/07/03
- [PULL v3 52/85] contrib/vhost-user-*: use QEMU bswap helper functions, Michael S. Tsirkin, 2024/07/03
- [PULL v3 54/85] tests/qtest/vhost-user-blk-test: use memory-backend-shm, Michael S. Tsirkin, 2024/07/03
- [PULL v3 55/85] tests/qtest/vhost-user-test: add a test case for memory-backend-shm, Michael S. Tsirkin, 2024/07/03
- [PULL v3 56/85] hw/virtio: Fix the de-initialization of vhost-user devices, Michael S. Tsirkin, 2024/07/03
- [PULL v3 57/85] hw/arm/virt-acpi-build: Drop local iort_node_offset, Michael S. Tsirkin, 2024/07/03
- [PULL v3 58/85] hw/i386/fw_cfg: Add etc/e820 to fw_cfg late, Michael S. Tsirkin, 2024/07/03
- [PULL v3 59/85] hw/arm/virt-acpi-build: Fix id_count in build_iort_id_mapping, Michael S. Tsirkin, 2024/07/03
- [PULL v3 62/85] tests/data/uefi-boot-images: Add RISC-V ISO image, Michael S. Tsirkin, 2024/07/03
- [PULL v3 60/85] uefi-test-tools/UefiTestToolsPkg: Add RISC-V support, Michael S. Tsirkin, 2024/07/03