Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp287451pxb; Mon, 13 Sep 2021 19:30:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzqV2a+5xLQ9SCpHcZvUEyZ2pCHtBOovzi2KB/MZj1ww9c9QbTgMV5c3pMTdGYKFFfpGKCS X-Received: by 2002:a92:130e:: with SMTP id 14mr10318266ilt.129.1631586632988; Mon, 13 Sep 2021 19:30:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631586632; cv=none; d=google.com; s=arc-20160816; b=0h142aXbNwMqvsJKTmzfoJb9Kp9TbK9pLXPiwD2P7GPegzsOzJzw30/tkJyHveN8cT wlXJZNxHSp56BWyM87bm3OccoNohgZAoIn7MGbzy9VDYxVn9tqC+Gw6IkQOEC8iRS++e MzxCxxCoMzcD/uvdfnXzPTXo8PwKNaFu+IrxmFleXSmHFrv40ymblRNdDpbZoF+iVO7X lXHD5RHX6AVqtXqO7Olc0BpxK34HuM+5DvdsJROSfpX0D3dOcZZuMl9+r+K072ANdsz/ n3fecuQi9t6i4VgISoG6uG88zZp+2EeOfxkU1Yd2WKDrg9f9otcHxYGEoasGFPZ5LUCo nEGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=jWpNoDWZfo5O44DTcs5Qn11a6fTtXXK38bHt1D2HGgI=; b=i3aCc+pxJ999L5eqtrOGziwbD0K3HvX8PtGzYALxVJDLv2R9ivv1QbasoWmM4EZn+K m4AY+UTe0Kl73eIdVPIYXFQnyslNkBeZifwnO+114D+12de/BC0A6dgtUtaGimGSmb3m +iKC9VMI9os9DuDoXo82FbpZiV0txECnMY1WN0O8btDvgMLI+hjsTop8IQNkp8M6ef15 0B3Jhmq1PAc3BGBKiVmbI39tTe36cyRiPHlA+jaZfV2VsoUEQG4D00X82NgjURfWkq1O aiwtp6/4/sZJUwxWP7ruehVcekyqCPKwMVXLaKPDJfllO8aC32adw9hJCZKw2tlZSnrK TjTg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Sx9LEquo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t195si9843547iof.69.2021.09.13.19.30.21; Mon, 13 Sep 2021 19:30:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Sx9LEquo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236938AbhINCa7 (ORCPT + 99 others); Mon, 13 Sep 2021 22:30:59 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:58904 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233167AbhINCa6 (ORCPT ); Mon, 13 Sep 2021 22:30:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631586581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jWpNoDWZfo5O44DTcs5Qn11a6fTtXXK38bHt1D2HGgI=; b=Sx9LEquoJEkUPi1sNO/eVjaII5WWktatetk27dv+k+gwvMz7QDFVC3v6Jr3BT5MDnRTnci R9wjWhXakSaOku9xMZdHSYwHhm/GD0kVomY0p7xaea0EEswVfLmDrTEBbk2sbpuH9CSB18 M9akig90x5/GjXiNIMXdkXTN0aDskqc= Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-369-10_KLo5gM6WGJhnj3INSuw-1; Mon, 13 Sep 2021 22:29:40 -0400 X-MC-Unique: 10_KLo5gM6WGJhnj3INSuw-1 Received: by mail-pl1-f199.google.com with SMTP id e2-20020a17090301c200b0013b8b16c22cso1683661plh.5 for ; Mon, 13 Sep 2021 19:29:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=jWpNoDWZfo5O44DTcs5Qn11a6fTtXXK38bHt1D2HGgI=; b=ihFdiKhXOzCdefWOvrpdQhI8eP4I+LdJaPsqR/EowBkMSyv4C74y+3nVsTZdpG+tee VCeikcyPgxgwNi8UhtsqP+YYySA9ShEMJbEnVd9LGuyegKIFMg3h8vRcadD791Kumq94 4bgb/wKj8+XjyRFXpt3gXKtbzXQafEm6d1beN7+fyGZ+1pk2MV+EtTWshM50vmKgrOnT Iwssj9m25/leWNGRZRHewihdgQvzQ9OvpMqoZJ2TBLJJb2zRXsusuCgCcXjDAjYZuV34 DG9EI7/E4BPRjK9FIDlhesW2jlDx7//4Lis12A0Rxx/XjrzdRx/ohcjiKEfdXKhKTLS7 7Lvw== X-Gm-Message-State: AOAM530ZymrD6HmBTqsfQ81k0UPe78RkbUGn86MNCGnP2OTo3Tib5EE5 NpyQBbCRX7roce/ocxXchJGq9j5NDkAAD0GYVf+zxxS+rZlauw8kJIaPZ1vXgZm1TMFcpQOUMZS FLQfJ+U/pY7cgG9qYvkVkq2Ad X-Received: by 2002:aa7:8246:0:b029:39a:1e0a:cd48 with SMTP id e6-20020aa782460000b029039a1e0acd48mr2383687pfn.14.1631586579069; Mon, 13 Sep 2021 19:29:39 -0700 (PDT) X-Received: by 2002:aa7:8246:0:b029:39a:1e0a:cd48 with SMTP id e6-20020aa782460000b029039a1e0acd48mr2383666pfn.14.1631586578768; Mon, 13 Sep 2021 19:29:38 -0700 (PDT) Received: from wangxiaodeMacBook-Air.local ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id y26sm8202998pfe.69.2021.09.13.19.29.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Sep 2021 19:29:38 -0700 (PDT) Subject: Re: [PATCH 1/9] virtio-blk: validate num_queues during probe To: Stefano Garzarella Cc: mst@redhat.com, david.kaplan@amd.com, konrad.wilk@oracle.com, f.hetzelt@tu-berlin.de, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, Stefan Hajnoczi , Paolo Bonzini References: <20210913055353.35219-1-jasowang@redhat.com> <20210913055353.35219-2-jasowang@redhat.com> <20210913074814.wcrrisaomlhvtmo5@steredhat> From: Jason Wang Message-ID: Date: Tue, 14 Sep 2021 10:29:33 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20210913074814.wcrrisaomlhvtmo5@steredhat> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2021/9/13 下午3:48, Stefano Garzarella 写道: > On Mon, Sep 13, 2021 at 01:53:45PM +0800, Jason Wang wrote: >> If an untrusted device neogitates BLK_F_MQ but advertises a zero >> num_queues, the driver may end up trying to allocating zero size >> buffers where ZERO_SIZE_PTR is returned which may pass the checking >> against the NULL. This will lead unexpected results. >> >> Fixing this by using single queue if num_queues is zero. >> >> Cc: Paolo Bonzini >> Cc: Stefan Hajnoczi >> Signed-off-by: Jason Wang >> --- >> drivers/block/virtio_blk.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c >> index e574fbf5e6df..f130d12df4b9 100644 >> --- a/drivers/block/virtio_blk.c >> +++ b/drivers/block/virtio_blk.c >> @@ -498,7 +498,8 @@ static int init_vq(struct virtio_blk *vblk) >>     err = virtio_cread_feature(vdev, VIRTIO_BLK_F_MQ, >>                    struct virtio_blk_config, num_queues, >>                    &num_vqs); >> -    if (err) >> +    /* We need at least on virtqueue */ > > s/on/one/ > > The rest LGTM. > > Stefano Will fix in next version. Thanks > >> +    if (err || !num_vqs) >>         num_vqs = 1; >> >>     num_vqs = min_t(unsigned int, nr_cpu_ids, num_vqs); >> -- >> 2.25.1 >> >> _______________________________________________ >> Virtualization mailing list >> Virtualization@lists.linux-foundation.org >> https://lists.linuxfoundation.org/mailman/listinfo/virtualization >> >