From nobody Mon Feb 9 00:55:29 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1602273266; cv=none; d=zohomail.com; s=zohoarc; b=IKXHD1SV5krNMkReqcJcbcGexf2XYAbW/EZfBdCAFWmSZeRuJ/jpZVV/LlIA2CTYaYnO2bkn3gwwSwWpvLDoPFCAnUNzSURylmwgnnjZL0Gk5UDPagCNv002DKkCWWeaVrdX+TL885zuoegEtw5kGTUKHIvO636j2qUxTvxG654= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602273266; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nAcApbTuHNvexDy6MnL+FDxzHaL/eZ+GQDmnJGnP7ic=; b=SNyYKhBh08oHQZJJ3PDl83HdUePgYJTQKrohy2QB8X22wrjPAM/PuDdKzmDdd7eM20HBuUzjifOJ7mp9+Gb4MnXAGsf7bScqeJ+XLKXkdS2idyhsOlLj8O97o1azixmzT0BM8+luHfWquW66Ykv/WCZ5ApAx9Lh0YmXNtmGIjZA= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1602273266723875.2628195827641; Fri, 9 Oct 2020 12:54:26 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.5147.13457 (Exim 4.92) (envelope-from ) id 1kQySz-0006IM-Rx; Fri, 09 Oct 2020 19:54:13 +0000 Received: by outflank-mailman (output) from mailman id 5147.13457; Fri, 09 Oct 2020 19:54:13 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kQySz-0006I9-L6; Fri, 09 Oct 2020 19:54:13 +0000 Received: by outflank-mailman (input) for mailman id 5147; Fri, 09 Oct 2020 19:54:12 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kQySx-0005Ps-VW for xen-devel@lists.xenproject.org; Fri, 09 Oct 2020 19:54:12 +0000 Received: from mga06.intel.com (unknown [134.134.136.31]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id aeeae19a-7896-4128-97d7-8714610ab44e; Fri, 09 Oct 2020 19:54:08 +0000 (UTC) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 12:54:07 -0700 Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 12:54:06 -0700 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kQySx-0005Ps-VW for xen-devel@lists.xenproject.org; Fri, 09 Oct 2020 19:54:12 +0000 Received: from mga06.intel.com (unknown [134.134.136.31]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id aeeae19a-7896-4128-97d7-8714610ab44e; Fri, 09 Oct 2020 19:54:08 +0000 (UTC) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 12:54:07 -0700 Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 12:54:06 -0700 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: aeeae19a-7896-4128-97d7-8714610ab44e IronPort-SDR: H8bQ2F75ooVY2NRJCpX/U8qZHkgTS9+a84f9GqjJMTf/7sPa785KonRZXlZZdluWAAn3WcHYds KcVwzJGbiUfg== X-IronPort-AV: E=McAfee;i="6000,8403,9769"; a="227179229" X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="227179229" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False IronPort-SDR: src9VKOvZKZdzmhAmOplZF/CbXKWViy2IZEce2k3Dk75HVdMa01qWYEbu8ywq24hGpakhLlrfI iYxmJaXcxtuw== X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="519847335" From: ira.weiny@intel.com To: Andrew Morton , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Andy Lutomirski , Peter Zijlstra Cc: Ira Weiny , x86@kernel.org, Dave Hansen , Dan Williams , Fenghua Yu , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, kexec@lists.infradead.org, linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org, devel@driverdev.osuosl.org, linux-efi@vger.kernel.org, linux-mmc@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-nfs@vger.kernel.org, ceph-devel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-aio@kvack.org, io-uring@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-um@lists.infradead.org, linux-ntfs-dev@lists.sourceforge.net, reiserfs-devel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-nilfs@vger.kernel.org, cluster-devel@redhat.com, ecryptfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-afs@lists.infradead.org, linux-rdma@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, drbd-dev@lists.linbit.com, linux-block@vger.kernel.org, xen-devel@lists.xenproject.org, linux-cachefs@redhat.com, samba-technical@lists.samba.org, intel-wired-lan@lists.osuosl.org Subject: [PATCH RFC PKS/PMEM 57/58] nvdimm/pmem: Stray access protection for pmem->virt_addr Date: Fri, 9 Oct 2020 12:50:32 -0700 Message-Id: <20201009195033.3208459-58-ira.weiny@intel.com> X-Mailer: git-send-email 2.28.0.rc0.12.gb6a658bd00c9 In-Reply-To: <20201009195033.3208459-1-ira.weiny@intel.com> References: <20201009195033.3208459-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ira Weiny The pmem driver uses a cached virtual address to access its memory directly. Because the nvdimm driver is well aware of the special protections it has mapped memory with, we call dev_access_[en|dis]able() around the direct pmem->virt_addr (pmem_addr) usage instead of the unnecessary overhead of trying to get a page to kmap. Signed-off-by: Ira Weiny --- drivers/nvdimm/pmem.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index fab29b514372..e4dc1ae990fc 100644 --- a/drivers/nvdimm/pmem.c +++ b/drivers/nvdimm/pmem.c @@ -148,7 +148,9 @@ static blk_status_t pmem_do_read(struct pmem_device *pm= em, if (unlikely(is_bad_pmem(&pmem->bb, sector, len))) return BLK_STS_IOERR; =20 + dev_access_enable(false); rc =3D read_pmem(page, page_off, pmem_addr, len); + dev_access_disable(false); flush_dcache_page(page); return rc; } @@ -180,11 +182,13 @@ static blk_status_t pmem_do_write(struct pmem_device = *pmem, * after clear poison. */ flush_dcache_page(page); + dev_access_enable(false); write_pmem(pmem_addr, page, page_off, len); if (unlikely(bad_pmem)) { rc =3D pmem_clear_poison(pmem, pmem_off, len); write_pmem(pmem_addr, page, page_off, len); } + dev_access_disable(false); =20 return rc; } --=20 2.28.0.rc0.12.gb6a658bd00c9