Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp678555pxu; Wed, 7 Oct 2020 12:57:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwuvCgA+1AXMzbzrBVFqMKRuWA0A9hobupjt5Dbh5mZopFIXSJO6Qq9UoyETp6F0CDFAi4B X-Received: by 2002:a05:6402:1d13:: with SMTP id dg19mr5416297edb.217.1602100629283; Wed, 07 Oct 2020 12:57:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602100629; cv=none; d=google.com; s=arc-20160816; b=U3Qy7QFpDad8wdLAag951ZPIRKx4309TGpcKUM/r+fzXtvALnQpO1Qoe6XANH4aGBI o7xnxcMCOt4ZfS+HlHO4Fpnj+DFOXj4NaQ8s7QIJ+WA9wfxdHljxuRCqu6OD1rYTlj/B 4AQQDx80XVnilnsp1Ffke4v5se5pI6hD4KfGOtzW0YapfELNa9jVKXMU7emwm4jOzlhn LNy6MXAON+4cfH6pA3ZlqdEG1QLFn1NMhHAvXR2l7vNbr6wHteGO4g+3K65fT8Y7zpik zGG8b4FGHO3LJKTjORRWEwiW1L0zsqclcJ9AmsxY4mLk1fbBAa5WmWxQyL9fdEb6GYqf bNDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:message-id:subject:cc:to:from:date :dkim-signature; bh=2VM4cU5Spk+3K/K5g4kxvl2V8aG4dSYxZxGi767zFvQ=; b=dMG3ZWFggwsGRezAECQWiIlbYLFAUNdI3GYMJMhOzn2+2C4qjnlHgBFSFBqoqHdqSj qPtjXKCbGUl0RU2sxAm2Sz6DRA0VEcp1ejE6n+CZlfyqFTmV1fFB3i5qo0JyiUr3PoNM sYy4l1E2PLeSbSCwkzlT2IINu1u80cF/xHQdM721hHb82Wl2uImFrytZKzFq8h5JWNRM XjPq5zkfbPFLs8ESY7AJQWaBCc+6I+A0l+3mwtn+aau2u1aJ1XGeAfaCwg9VtD9YKeLk ViZtdjn9ZMzGf9mwJlv12IbhyQic8QpJwwDgmIVDYw/vJWcru9Q/12oQaRBpr3+cbRXL 2HTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=yGYWT03m; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w16si2171717ejn.471.2020.10.07.12.56.45; Wed, 07 Oct 2020 12:57:09 -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=@kernel.org header.s=default header.b=yGYWT03m; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726989AbgJGSqi (ORCPT + 99 others); Wed, 7 Oct 2020 14:46:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:49962 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726197AbgJGSqh (ORCPT ); Wed, 7 Oct 2020 14:46:37 -0400 Received: from localhost (170.sub-72-107-125.myvzw.com [72.107.125.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 302572173E; Wed, 7 Oct 2020 18:46:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1602096396; bh=ku8/7a2SrweIxThK5zG5QJDipURplqu8mO6h2koIIVc=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=yGYWT03mT20e+akOD8V3aUmT+NyGjr7bgLmgu9ySTSASz+Md94zSiKtM93/z0+0sL I3c3vVZGcJsLXlm+ZoUqyLsz8Cd5moqzmTGlgBtkwCaTbh8SP5WyTjiZ42UF86RDsd vY1hTupOSF5ue42FE0IOxR9jnpK4Wp1Jv+Hagbrk= Date: Wed, 7 Oct 2020 13:46:34 -0500 From: Bjorn Helgaas To: Daniel Vetter Cc: DRI Development , LKML , kvm@vger.kernel.org, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-media@vger.kernel.org, linux-s390@vger.kernel.org, Daniel Vetter , Jason Gunthorpe , Kees Cook , Dan Williams , Andrew Morton , John Hubbard , =?iso-8859-1?B?Suly9G1l?= Glisse , Jan Kara , Bjorn Helgaas , linux-pci@vger.kernel.org Subject: Re: [PATCH 09/13] PCI: obey iomem restrictions for procfs mmap Message-ID: <20201007184634.GA3259641@bjorn-Precision-5520> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20201007164426.1812530-10-daniel.vetter@ffwll.ch> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 07, 2020 at 06:44:22PM +0200, Daniel Vetter wrote: > There's three ways to access pci bars from userspace: /dev/mem, sysfs > files, and the old proc interface. Two check against > iomem_is_exclusive, proc never did. And with CONFIG_IO_STRICT_DEVMEM, > this starts to matter, since we don't want random userspace having > access to pci bars while a driver is loaded and using it. > > Fix this. Please mention *how* you're fixing this. I know you can sort of deduce it from the first paragraph, but it's easy to save readers the trouble. s/pci/PCI/ s/bars/BARs/ Capitalize subject to match other patches. > References: 90a545e98126 ("restrict /dev/mem to idle io memory ranges") > Signed-off-by: Daniel Vetter > Cc: Jason Gunthorpe > Cc: Kees Cook > Cc: Dan Williams > Cc: Andrew Morton > Cc: John Hubbard > Cc: J?r?me Glisse > Cc: Jan Kara > Cc: Dan Williams > Cc: linux-mm@kvack.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: linux-media@vger.kernel.org > Cc: Bjorn Helgaas > Cc: linux-pci@vger.kernel.org > --- > drivers/pci/proc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c > index d35186b01d98..3a2f90beb4cb 100644 > --- a/drivers/pci/proc.c > +++ b/drivers/pci/proc.c > @@ -274,6 +274,11 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma) > else > return -EINVAL; > } > + > + if (dev->resource[i].flags & IORESOURCE_MEM && > + iomem_is_exclusive(dev->resource[i].start)) > + return -EINVAL; > + > ret = pci_mmap_page_range(dev, i, vma, > fpriv->mmap_state, write_combine); > if (ret < 0) > -- > 2.28.0 >