> Am 26.02.2026 um 13:41 schrieb Thomas Huth <[email protected]>:
> 
> On 26/02/2026 12.39, Peter Lieven wrote:
>>> Am 26.02.2026 um 12:16 schrieb Daniel P. Berrangé <[email protected]>:
>>> 
>>> On Thu, Feb 26, 2026 at 10:44:58AM +0000, Peter Maydell wrote:
>>>> On Tue, 24 Feb 2026 at 18:14, John Snow <[email protected]> wrote:
>>>>> 
>>>>> The following changes since commit 
>>>>> afe653676dc6dfd49f0390239ff90b2f0052c2b8:
>>>>> 
>>>>>  Merge tag 'audio-pull-request' of 
>>>>> https://gitlab.com/marcandre.lureau/qemu into staging (2026-02-23 
>>>>> 14:03:50 +0000)
>>>>> 
>>>>> are available in the Git repository at:
>>>>> 
>>>>>  https://gitlab.com/jsnow/qemu.git tags/python-pull-request
>>>>> 
>>>>> for you to fetch changes up to 4e55bb4be53bc7a5e3fe1429af12d2e3090049a5:
>>>>> 
>>>>>  python: add setuptools and wheel dependencies (2026-02-24 13:11:29 -0500)
>>>>> 
>>>>> ----------------------------------------------------------------
>>>>> 
>>>>> ----------------------------------------------------------------
>>>> 
>>>> Hi -- it looks like this pullreq may have broken the "coverity" job
>>>> that (run on a separate schedule from main CI) does a QEMU build to
>>>> upload to the coverity scan service:
>>>> 
>>>> https://gitlab.com/qemu-project/qemu/-/jobs/13264087007
>>>> 
>>>> It fails during QEMU configure:
>>>> 
>>>> Dependency libnfs found: NO. Found 16.2.0 but need: '<6.0.0' ;
>>>> matched: '>=1.9.3'
>>>> Run-time dependency libnfs found: NO
>>>> ../meson.build:1150:11: ERROR: Dependency lookup for libnfs with
>>>> method 'pkgconfig' failed: Invalid version, need 'libnfs' ['<6.0.0']
>>>> found '16.2.0'.
>>>> 
>>>> I'm guessing this is because:
>>>> * the coverity job runs on the amd64-fedora-container
>>>> * we just upgraded our Fedora container to F43
>>>> * coverity configures with --enable-libnfs
>>> 
>>> Do we really need to be hardcoding configure options ?
>>> 
>>> It is a pretty random subset of options, compared to what gets
>>> enabled in the build.
>>> 
>>> Originally we had the hand-built Dockerfile, but now nearly all
>>> our dockerfiles are auto-generated by lcitool, so we get the full
>>> set of QEMU deps on every distro.
>>> 
>>> There is a risk that we break a meson/configure chck somewhere,
>>> but IMHO that's not something our coverity needs to be validating
>>> directly. If that happens and we later fix it, coverity would
>>> pick up any flaws that weere introduced in the window it was
>>> broken.
>>> 
>>>> * in meson.build we enforce libnfs < 6.0.0
>>>> * F43 ships with a newer libnfs
>>>> 
>>>> The "not libnfs v6" restriction was added by thuth in
>>>> commit e2d98f257138 in 2024 because of a big API change in
>>>> libnfs v6. The theory was that this was a temporary hack
>>>> until somebody updated block/nfs.c to handle the new API.
>>>> Over a year later, nobody has touched block/nfs.c...
>>>> 
>>>> I guess for the moment we should fix the Coverity build
>>>> by dropping the --enable-libnfs (and accepting that we
>>>> don't scan block/nfs.c any more). For the longer term:
>>>> 
>>>> * does anybody want to update block/nfs.c ?
>>>> * or should we mark it as deprecated and plan to eventually
>>>>   drop it, given that the set of supported distros you can
>>>>   build it on is rapidly shrinking ?
>>> 
>>> MAINTAINERS file marks it as "maintained" but given the ongoing
>>> brokeness that feels outdated :-(
>>> 
>>> In Fedora we've been carrying a patch to QEMU to enable libnfs
>>> v6.
>>> 
>>>  
>>> https://src.fedoraproject.org/rpms/qemu/blob/rawhide/f/0002-nfs-Add-support-for-libnfs-v2-api.patch
>>>  
>>> https://src.fedoraproject.org/rpms/qemu/blob/rawhide/f/0008-Revert-meson.build-Disallow-libnfs-v6-to-fix-the-bro.patch
>> Sorry, I was not aware of any build problems so far and as I wrote Peter 
>> earlier I was some time out of Qemu development, but that changed recently.
>> Is there a reason why Ronnie’s patch never went upstream?
> 
> Searching for the subject of that patch in my qemu-devel folder, I don't get 
> any results. So I guess that patch has never been posted to the qemu-devel 
> mailing list?

That might explain it. I meanwhile had a chance to look into the source of 
libnfs v6 it seems that patch is wrong.

It writes bytes number of bytes to the address auf iov->iov[0].iov_base. If 
bytes is greater than the iov->iov[0] buffer, it writes beyond the end of the 
buffer.
I cannot see at a glance if that’s potentially dangerous, but it might be.

In fact libnfs v6 adds support for supplying a read buffer, but not for 
iovectors.
What the patch really should do is to pass iov[0].iov_base if niov == 1 and 
create a bounce buffer otherwise.

Peter


Reply via email to