From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 405B08017D for ; Wed, 21 Oct 2026 08:47:43 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69L8kNsI015274; Wed, 21 Oct 2026 11:46:24 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69L8kNsI015274 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="LMKMIFld" Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69L8kItE015254 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 21 Oct 2026 11:46:19 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69L8kItE015254 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-48dfdc0f491so252990f8f.1 for ; Wed, 21 Oct 2026 01:46:19 -0700 (PDT) X-Gm-Message-State: AFq9FYLiGI4qA0is3/R2QdvThRnbPj2Kn8FQgErMgYd4o8eE+teZQNST lF+TlB/fUVqn5I15NY4CSIjMW/2pM7xIGRgspkDNZutlCHUPia8AL/8tEdG+wk/dkyX2eZMeYwH pS6yngXcHub6PY7elLcdpBpDPhAQWVUp6AXKpvB6mrp7FP1YgZCBQhA== X-Gm-Gg: AYBFou2NPwP390IBzB6T11v7LGUIM3Nkthnrw0GGM0AF+y0wfE1GXz5pp0UiVLIq3Ef eKkl79b/Dwankb1ubpstH4TLn2FNm5XaeKBWtyPSD4yomdJnVaNl2hYjjlQfqlEIHKJq8Zt9zUI tkJWAfJGGnN5hKr60g4ObPEKbIpp17I4ug9ZrF1Jp2MQRf1o5TczWJwkgeiJgJTZay8ORds0Flz dzE3AluJWbLUfJ2U6HfoyBY09O6I8A0bfdPk5COyLS4I6n7md8BfftGyIXtz/H5YL/DsZ5o4JpV 11WJaoWIjU4DTU8MRofqdfCkKkhCkXZzoMFcANuFHQzuHVY/RiTQykbset+MRYlWydTvbrYwf83 3TeFAfM7vCIntfcwsnj0Hxu68qkxC X-Received: by 2002:a05:600c:3f0c:b0:49f:c199:e1e2 with SMTP id 5b1f17b1804b1-4a1fdd39fbamr25383985e9.28.1792572378662; Wed, 21 Oct 2026 01:46:18 -0700 (PDT) X-Received: by 2002:a05:600c:3f0c:b0:49f:c199:e1e2 with SMTP id 5b1f17b1804b1-4a1fdd39fbamr25383635e9.28.1792572378146; Wed, 21 Oct 2026 01:46:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1792572378; cv=none; d=google.com; s=arc-20260327; b=Zv6FGIsE0AHCINMOJO+bx/WcauLjGHuHjdqg8o9SmqQiEnrFbCWbI1cmBr/jjaaqQE OId8ZcYkyClIg55BHob7STcHZLstvAudMqW5c/LlsHiA1KVEMlWaB3+cTs9hgPNuhygG 4Z6PBqDIshtcN85yVAzLcDxSWoO2/ZjZn/YbZs844CaAbeydhnITVIIpYi43i9x1ZRlE 0Gxn8BSExeODPHDEF1V8VoYz5HfHG8SJ04Xhf7UYGAAJ8DaGXAv4KGm0fUsKT0VcLBGT AfYOTCyqGk+kJ3EUtO1GptrqT56HS2uNAfeGDaCyBFCWeGpgST+EPn/GPNd8IBX0fA+G 1Evw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=W8+S7dE9JjxtTwmYaIo3ddmRo2HB1KwrwDOek4RTGUM=; fh=G2JGoeUCR4a/A0TH0K3bHnuxqhe+kjaX7a5tGdksR6A=; b=jutnGbECWXjJs+jC26vhY8PxG7xgZjI9iU/f0RQ+bZsXe0/4ag5dyExhmB/YvybC3J dck6idpEy+q8TMNTOuFhKLdBr1naNamQxKg+9kMxNhjFA0CFTIsqkIeuzqfaq6cuLTfz ZFIiWzbaPEUHV5h/Ixf+G5A7U9lqUvbw9lFpU98UBVkAw5f6qgDin+U3O2QYF4743TwC lvO0TiPpyZ8pK6yg3Bavv17k7NgEXma6yhhfLQNhxq6/4Qu6C6T3EI42Kp8Y1982fILP zL+brx0NLe6w1gxHaVVezWodD6Pz0esalrNcRYU4EK6l2zIfBEwo3VhHQ2PiD90nCJm1 HLSQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=LMKMIFld; spf=pass (google.com: domain of alexander.ivanov@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=alexander.ivanov@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48e25883fcbsi3555010f8f.392.2026.10.21.01.46.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Oct 2026 01:46:18 -0700 (PDT) Received-SPF: pass (google.com: domain of alexander.ivanov@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=LMKMIFld; spf=pass (google.com: domain of alexander.ivanov@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=alexander.ivanov@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=MIME-Version:Message-ID:Date:Subject:From: Content-Type; bh=W8+S7dE9JjxtTwmYaIo3ddmRo2HB1KwrwDOek4RTGUM=; b=LMKMIFldq+vx hv8G+TjoKo/M8ccKaPelO+pZev65MrwBCl0vHoY7mOHCgiF82tbxDTbU6P7ytLnZ+9QURRcc1O03K fjyNw4/KY+0p69V2gOrEwVUK3vz+5Z4gwHNcQ99TQs3uvnpghA49BPsYQ0SzqLgE1xg2XBcGxwfHq 3B+wEpzgr+k1zcmjimUsVmQLbrQ38/iL8+sghLvZorU0+yt6X4NsgZOajaH4yEoFoucnmLGgprPvz bfHBsFcs7n5CTKO9IozddwCjhyLu6QiPJxC3dOih/FF0p9mKkbeZpDZrkaVGqP0h+1xJMyKLF9uAT eSFOeq3OYM0kDAVxAjPRxw==; Received: from ch-vpn.virtuozzo.com ([130.117.225.6] helo=sky) by relay.virtuozzo.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xJRu6-00HAlf-1s; Wed, 21 Oct 2026 10:46:17 +0200 From: Alexander Ivanov To: andrey.zhadchenko@virtuozzo.com Date: Wed, 21 Oct 2026 10:46:09 +0200 Message-ID: <20261021084610.1476738-3-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261021084610.1476738-1-alexander.ivanov@virtuozzo.com> References: <20261021084610.1476738-1-alexander.ivanov@virtuozzo.com> MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 2/3] drivers/vhost/blk: take virtio_blk_outhdr only from the readable part X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org The request header was moved from the whole descriptor chain, so a chain with no readable part, or one shorter than the header, had header bytes read from buffers the guest marked device-writable. Those bytes were also trimmed in place from the writable segments, shifting the status byte and the READ/GET_ID payload taken from them. Take the header only from the readable part. When that part is shorter than struct virtio_blk_outhdr, drop the request and report it through error_ctx, like the other malformed-header paths do. https://virtuozzo.atlassian.net/browse/VSTOR-142755 Fixes: 1629db092dd7 ("drivers/vhost: vhost-blk accelerator for virtio-blk guests") Feature: vhost-blk: in-kernel accelerator for virtio-blk guests Signed-off-by: Alexander Ivanov --- drivers/vhost/blk.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/vhost/blk.c b/drivers/vhost/blk.c index 7234213924d5..94317a5f2cb6 100644 --- a/drivers/vhost/blk.c +++ b/drivers/vhost/blk.c @@ -554,7 +554,12 @@ static void vhost_blk_handle_guest_kick(struct vhost_work *work) break; } - ret = move_iovec(vq->iov, hdr_iovec, sizeof(hdr), in + out, ARRAY_SIZE(hdr_iovec)); + if (iov_length(vq->iov, out) < sizeof(hdr)) { + vhostblk_vq_err(blk, vq, "virtio_blk_hdr (head %d) is missing!", head); + break; + } + + ret = move_iovec(vq->iov, hdr_iovec, sizeof(hdr), out, ARRAY_SIZE(hdr_iovec)); if (ret < 0) { vhostblk_vq_err(blk, vq, "virtio_blk_hdr (head %d) is too split!", head); break; -- 2.53.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel