From nobody Mon Jun 23 13:20:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bQpbT1TvDz60L00; Mon, 23 Jun 2025 13:20:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bQpbT0RMkz4637; Mon, 23 Jun 2025 13:20:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750684805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QwOy3bvwWrwWgADf/va98LIvuP1qaJ7V7sYuLS0XSIQ=; b=MleJKPg5ql3u5431+0DxIhi2iVRNRV4/7Eta2INQPuXcPpoOpvTKcRBF645QWPA2ugsxbD bGK4QqPvkBaiO3ZQLx2qd7CKG3IUpK4KiB4DGiLkyScVLxMJTn/cmOoQnQzsVJemfTfWP6 f3KdexmZxaJKg0yy+jGQBiPZ6iilZAlQB2NYqD1Ib8g12cE7j1tTAuWNxHz1zaIZjgKgHq xQ0WUgCZmSPdrUv2sxQeIukmSTEg9C8UqTsq+evC3S2E1t2WXCyRXxZ1qh6OkgdvMzVlW0 UypUn6dsX32/kk9rweF7deYHUSTC12j4Oc8cfsyoHgAVKVmdljYulO4RO4GSwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750684805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QwOy3bvwWrwWgADf/va98LIvuP1qaJ7V7sYuLS0XSIQ=; b=plEwJxwFG5QpA52LloDhF6iKxiI6orscwJZjOiaHuy2z2ah+I4O+Xl13jxT50+8tKWNxkI aZ2sDeVifI2wExPqSAEWDTp3/KcrhapR2MdqS+mRMtWTbOTS4Xsj0/TVeF8ndknNs8HxV+ VbV8qgrJhsqhtLBwsl3bXP9qDWsTnVtgzcxjg6to4Gw+bP8h7jL5pUARqln0eHPk6Qi/qL 7CGylW/9VuUxSbYdCfeUA6cKiA8GgS+FgliMUlFlvhuSYSDhnqCquLF4tArZF9oWhbc8w/ cj6eswERikMxh0/VgcyfGbC9BOK+8wvVaVIKuBimPy0PId3Pc0CSuHGJM7oAbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1750684805; a=rsa-sha256; cv=none; b=lAloeb7KLZNn854Cw5R1zc98SH8xSc+dmEN4e3U3S/V1P4d1As9bNlPEceiuU7Dmay9PN3 LfsCR2qGiNUtepqFV0Q3o+n3aBx33LpIHs82jqtCi63n5gWh2+HBE7N0y3Xtcm1odffe9G 4oJuXBDsLPQOgqNfnJTGY4R423N/rm/55JGx3HegSJf9WC5n+lg3gO1weoPHHwOPt1xgDh 0izFUwyL83S+evy0z/hz9r51GaG9vyX2YfaEsN+vM8htHd6okzDPAUZ8cu/JAyTtZWrR7c bfrsrNELuVInP1Bj3CLn1K9L23VA4yw4N5XnwzTD8ZC6sdvcc+cKKIhNaZ1OrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bQpbS6SQsz144G; Mon, 23 Jun 2025 13:20:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55NDK4V3094250; Mon, 23 Jun 2025 13:20:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55NDK4A1094245; Mon, 23 Jun 2025 13:20:04 GMT (envelope-from git) Date: Mon, 23 Jun 2025 13:20:04 GMT Message-Id: <202506231320.55NDK4A1094245@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: cbc2e34613c4 - main - virtio_blk: Limit use of indirect descriptors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cbc2e34613c48c0b7955d5d970dcc08cd52da9b4 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=cbc2e34613c48c0b7955d5d970dcc08cd52da9b4 commit cbc2e34613c48c0b7955d5d970dcc08cd52da9b4 Author: Andrew Turner AuthorDate: 2025-06-23 12:27:10 +0000 Commit: Andrew Turner CommitDate: 2025-06-23 12:55:24 +0000 virtio_blk: Limit use of indirect descriptors Pass 0 as the number of indirect descriptors when they are not supported. This fixes an issue on the Arm FVP model where we don't negotiate them, however pass a number of segments greater than VIRTIO_MAX_INDIRECT. This leads to virtqueue_alloc failing and virtio_blk failing to attach. Reviewed by: Harry Moulton Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D50909 --- sys/dev/virtio/block/virtio_blk.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/dev/virtio/block/virtio_blk.c b/sys/dev/virtio/block/virtio_blk.c index 76068c91df11..5eb681128e9c 100644 --- a/sys/dev/virtio/block/virtio_blk.c +++ b/sys/dev/virtio/block/virtio_blk.c @@ -699,10 +699,14 @@ vtblk_alloc_virtqueue(struct vtblk_softc *sc) { device_t dev; struct vq_alloc_info vq_info; + int indir_segs; dev = sc->vtblk_dev; - VQ_ALLOC_INFO_INIT(&vq_info, sc->vtblk_max_nsegs, + indir_segs = 0; + if (sc->vtblk_flags & VTBLK_FLAG_INDIRECT) + indir_segs = sc->vtblk_max_nsegs; + VQ_ALLOC_INFO_INIT(&vq_info, indir_segs, vtblk_vq_intr, sc, &sc->vtblk_vq, "%s request", device_get_nameunit(dev));