Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp108275ybz; Tue, 28 Apr 2020 19:24:21 -0700 (PDT) X-Google-Smtp-Source: APiQypImWrERJc4S6GXpRE5V/p8JTu84zi00GwsbCCqLhH+X7ydKOlf8iTEJJY6LYldLbD9WbLJF X-Received: by 2002:a17:906:7f0c:: with SMTP id d12mr634641ejr.40.1588127061621; Tue, 28 Apr 2020 19:24:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588127061; cv=none; d=google.com; s=arc-20160816; b=vDtbjw9RDDiv9Ne9LhIFpUr9Fl8ILnqzfnTrCpbYFX0ROHpSJ4zTat9AYUJu8U24jh 8V7+LrCxDEPuvXmyX9d4UUKteFG3gMw4M8/f2tA9HuJrE0JyyWRA2SH6pZTiWCuvJ41s U4ADGpO33e11MlNX7lT/vskPKISim3tEEueH/ajKn1jqOTkEnVdOD7M9Q4Qu9G26ORlJ czcbcqRuEqYAPhRokOhbKm3T3sd6HUGNDxZb1VRu93UmwTR6m3gsql3YQHjC2wXoaqze 4bCnjvw14P6+swI5Fa9TV4TGFfcNTRyDQApSuz9fqcTTe3baBKN6keRlBNu2533U4YgW 7eVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:cc:ironport-sdr:ironport-sdr; bh=w2uHBDR8b8EnuzDvERUw8eGCnNpJmjZmcyesom1vgGc=; b=ejFbmRGKZB4kx2SZX89sMH9l2ojWpey1FQ3XPZOAi8muXe/GGoilNvRQLq9ZJdpVE0 tJ4hzTqeR2kNM8GCaZ8DMcb686Y7XJSkvVFXJz5dczqmGr+lgIjfQ6z91ZzCJTD/ho/S M/ZjnC2rA3fVNKs/G9RvGrj2bdC9i+3HGot6SOZkJUynX9wqvkFssAp/BGhiWH7KK6fI yjvsxA6Qy2fLJq3xnU9hlKrpVV9411YL2dJn5snKrjJITgaj07/hmtozsFc/YfbmXMdJ tr+Gk1GqTPPo91nScEeGy66wMYQMF+1oZ3w14UOE5KCbVp7d73I9MAGZL9sa/lGqqBJz c8fw== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s20si2614482edr.444.2020.04.28.19.23.58; Tue, 28 Apr 2020 19:24:21 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726431AbgD2CWh (ORCPT + 99 others); Tue, 28 Apr 2020 22:22:37 -0400 Received: from mga02.intel.com ([134.134.136.20]:27001 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726345AbgD2CWh (ORCPT ); Tue, 28 Apr 2020 22:22:37 -0400 IronPort-SDR: EdC5keMdWAhCEJxNwy2BYRZNsuUm1zQl38wiXZrGLAMMQ13u4I+6BtjSuQiP120wXD2yQocPvu yGNjKeQaqGLQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Apr 2020 19:22:37 -0700 IronPort-SDR: t/qSzNPhjbSFSg3fCjJzj3YTdCvW1TlKbhSmmEST7wnCHVJo0xkfWM5OPrCfhuevcOufHCdsZv 3ikcNbOtcXfw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,329,1583222400"; d="scan'208";a="246698532" Received: from blu2-mobl3.ccr.corp.intel.com (HELO [10.254.208.67]) ([10.254.208.67]) by orsmga007.jf.intel.com with ESMTP; 28 Apr 2020 19:22:33 -0700 Cc: baolu.lu@linux.intel.com, tsoni@codeaurora.org, virtio-dev@lists.oasis-open.org, konrad.wilk@oracle.com, jan.kiszka@siemens.com, jasowang@redhat.com, christoffer.dall@arm.com, virtualization@lists.linux-foundation.org, alex.bennee@linaro.org, iommu@lists.linux-foundation.org, stefano.stabellini@xilinx.com, will@kernel.org, linux-kernel@vger.kernel.org, pratikp@codeaurora.org Subject: Re: [PATCH 5/5] virtio: Add bounce DMA ops To: "Michael S. Tsirkin" , Srivatsa Vaddagiri References: <1588073958-1793-1-git-send-email-vatsa@codeaurora.org> <1588073958-1793-6-git-send-email-vatsa@codeaurora.org> <20200428121232-mutt-send-email-mst@kernel.org> <20200428174952.GA5097@quicinc.com> <20200428163448-mutt-send-email-mst@kernel.org> From: Lu Baolu Message-ID: <275eba4b-dd35-aa95-b2e3-9c5cbf7c6d71@linux.intel.com> Date: Wed, 29 Apr 2020 10:22:32 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200428163448-mutt-send-email-mst@kernel.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020/4/29 4:41, Michael S. Tsirkin wrote: > On Tue, Apr 28, 2020 at 11:19:52PM +0530, Srivatsa Vaddagiri wrote: >> * Michael S. Tsirkin [2020-04-28 12:17:57]: >> >>> Okay, but how is all this virtio specific? For example, why not allow >>> separate swiotlbs for any type of device? >>> For example, this might make sense if a given device is from a >>> different, less trusted vendor. >> Is swiotlb commonly used for multiple devices that may be on different trust >> boundaries (and not behind a hardware iommu)? > Even a hardware iommu does not imply a 100% security from malicious > hardware. First lots of people use iommu=pt for performance reasons. > Second even without pt, unmaps are often batched, and sub-page buffers > might be used for DMA, so we are not 100% protected at all times. > For untrusted devices, IOMMU is forced on even iommu=pt is used; and iotlb flush is in strict mode (no batched flushes); ATS is also not allowed. Swiotlb is used to protect sub-page buffers since IOMMU can only apply page granularity protection. Swiotlb is now used for devices from different trust zone. Best regards, baolu