Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2503535pxj; Mon, 10 May 2021 04:42:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzqhiBvkNKGZFja+e1rJVXf+uaInN3GKJJAhailM5RbK/P27L4oAhDPJ4jArkfzWTFbz7Kf X-Received: by 2002:aa7:d88d:: with SMTP id u13mr29167254edq.114.1620646938596; Mon, 10 May 2021 04:42:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620646938; cv=none; d=google.com; s=arc-20160816; b=a9Zm4oJ1+fUReSWDgFglrzW6d2W8SUOcpQJrgZbJ+vM3zJ/9LQ9MV2H86ZW2FyWODk LV5r3QCHDJCpvipMQR4+Ylkuapw4KeGLgBCXa/E5/XdLbsE+K85nVOTkBjrvkPBLyXwc mIUEWfoYqKzpRyKPwcryrBlRXxY6MtO3DXxbQ8IexE5H3yLg0ABrmgKKVVQ/mCR9ufNM 9FL90T1Y++DCtJdyvX9WwitUWqdd8FOiv+moI5NCXHjTjCz/Zw/Xv3tI+5XYLkkSue0W Z5cInTMNmiyuPoGf8HCQIxiHJ+GcYxgY5l4mQ8kGlZk+fG1y+HOkuTgLX9WqMTI6yD91 nnHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=5Kbm8vrM4MrnYbw68bNzNwpsi3Zz/W8yo3GuDa8chY4=; b=v46pOhPWIhaNpc0U+ZEbf5uDBFd173brhY1YsHaOcxQlAYbnYXZjePAmWmShuPA+u/ 2hC7Nt2b871HJG2jMhh72A5+BQHXUT1KCsHbYtdmtDFZ+/cshHHnv2W96EbTJpPQFLlI 1WtcqZKFxPIYJMuk6/osyiG412elxtkoBJ76nZ1GnOeE3ZwQmVrEUq8eopSisnm4dWTw IUjqTVALtD4ly0vVTpCurNk+2LJ/5Fl+C1Xw1lxjL7RaGFxixI2s4ydq7TtNLaR+msVo CRSD3sqqMy+zSWjbAmuBrwJOsmv3McdDFz5Tz75BMzJKTSqDSX/C60Q/Sm+wctsngJWJ wXIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=b05REMv9; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a4si13433227ejs.331.2021.05.10.04.41.55; Mon, 10 May 2021 04:42:18 -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=@linuxfoundation.org header.s=korg header.b=b05REMv9; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241362AbhEJLh7 (ORCPT + 99 others); Mon, 10 May 2021 07:37:59 -0400 Received: from mail.kernel.org ([198.145.29.99]:53004 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234094AbhEJKzw (ORCPT ); Mon, 10 May 2021 06:55:52 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5B6836162F; Mon, 10 May 2021 10:43:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620643428; bh=e5Txl+1zqtYFWgxFlUuai+DrMzmZGEbycvdoUp51PyE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b05REMv9hivTg2XFcxMtnQF9OJ1rhX3NitjWl85Au0E9IJ4s46fjMdbBiMhosXm6q pwrSkK2jwMEtWAO3056RbvJuAuVGs38I1whTulcS/clI4ym+zMBlZcQydc7xMBwsVG spYp71rfulqj8CVoEDysUc9TRq9J+illvwzT8lbQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jason Wang , "Michael S. Tsirkin" Subject: [PATCH 5.11 012/342] vhost-vdpa: fix vm_flags for virtqueue doorbell mapping Date: Mon, 10 May 2021 12:16:42 +0200 Message-Id: <20210510102010.510047610@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102010.096403571@linuxfoundation.org> References: <20210510102010.096403571@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jason Wang commit 3a3e0fad16d40a2aa68ddf7eea4acdf48b22dd44 upstream. The virtqueue doorbell is usually implemented via registeres but we don't provide the necessary vma->flags like VM_PFNMAP. This may cause several issues e.g when userspace tries to map the doorbell via vhost IOTLB, kernel may panic due to the page is not backed by page structure. This patch fixes this by setting the necessary vm_flags. With this patch, try to map doorbell via IOTLB will fail with bad address. Cc: stable@vger.kernel.org Fixes: ddd89d0a059d ("vhost_vdpa: support doorbell mapping via mmap") Signed-off-by: Jason Wang Link: https://lore.kernel.org/r/20210413091557.29008-1-jasowang@redhat.com Signed-off-by: Michael S. Tsirkin Signed-off-by: Greg Kroah-Hartman --- drivers/vhost/vdpa.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/vhost/vdpa.c +++ b/drivers/vhost/vdpa.c @@ -993,6 +993,7 @@ static int vhost_vdpa_mmap(struct file * if (vma->vm_end - vma->vm_start != notify.size) return -ENOTSUPP; + vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP; vma->vm_ops = &vhost_vdpa_vm_ops; return 0; }