From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D677DC10F14 for ; Thu, 10 Oct 2019 21:04:16 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9D5FF2067B for ; Thu, 10 Oct 2019 21:04:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9D5FF2067B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:44224 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iIfbb-0006ep-33 for qemu-devel@archiver.kernel.org; Thu, 10 Oct 2019 17:04:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60254) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iIfY3-0004oM-Kh for qemu-devel@nongnu.org; Thu, 10 Oct 2019 17:00:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iIfXx-0007Er-7e for qemu-devel@nongnu.org; Thu, 10 Oct 2019 17:00:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56422) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iIfXr-0007Ch-IO; Thu, 10 Oct 2019 17:00:25 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 061463018ECB; Thu, 10 Oct 2019 21:00:19 +0000 (UTC) Received: from blue.redhat.com (ovpn-116-168.phx2.redhat.com [10.3.116.168]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8501360600; Thu, 10 Oct 2019 21:00:18 +0000 (UTC) From: Eric Blake To: qemu-devel@nongnu.org Subject: [PATCH v2 0/2] Better NBD string length handling Date: Thu, 10 Oct 2019 16:00:16 -0500 Message-Id: <20191010210018.22000-1-eblake@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 10 Oct 2019 21:00:19 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, qemu-block@nongnu.org, mlevitsk@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Patch 1 is a revised version after Maxim's comments - it moves the length checks earlier into the system (for cleaner error messages as soon as possible) and adds asserts at the later points that are now guaranteed by the earlier checks. It also covers more string handling, both in the client and in the server, by ensuring that outgoing strings are properly constrained and incoming strings are checked for validity before blind use. Patch 2 is a new patch, written to make testing of description strings in patch 1 easier. Eric Blake (2): nbd: Don't send oversize strings nbd: Allow description when creating NBD blockdev qapi/block.json | 8 +++++--- include/block/nbd.h | 1 + block/nbd.c | 9 +++++++++ blockdev-nbd.c | 14 +++++++++++++- monitor/hmp-cmds.c | 4 ++-- nbd/client.c | 16 +++++++++++++--- nbd/server.c | 14 ++++++++++++-- qemu-nbd.c | 9 +++++++++ tests/qemu-iotests/223 | 2 +- tests/qemu-iotests/223.out | 1 + 10 files changed, 66 insertions(+), 12 deletions(-) --=20 2.21.0