From patchwork Tue Oct 12 00:42:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Kozlyuk X-Patchwork-Id: 101131 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9E062A034F; Tue, 12 Oct 2021 02:42:20 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2F331410E5; Tue, 12 Oct 2021 02:42:20 +0200 (CEST) Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by mails.dpdk.org (Postfix) with ESMTP id 50C26410E2 for ; Tue, 12 Oct 2021 02:42:19 +0200 (CEST) Received: by mail-lf1-f51.google.com with SMTP id n8so77992162lfk.6 for ; Mon, 11 Oct 2021 17:42:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SkT/qr8mggV7+CZkyf6I+HfUuq3oTI0JmoTJbCOR9RQ=; b=csJGs1yeyHGQSHBWH2Cze/blhMh5Jig+5Oekjpt6tN7g3v9BKzNstMsMssvYVpktoc uTAbXnLTzZLKqSroujFO1QQ2CvosLOukUZOjlVz+mWc1ZAwtTrd9Ec2RiOPPSQ+q8mF6 3c4wHOFMfwbUAZQZztIyg0Z0fOD7ZPM7lkkue6GLjKH8q45sjP4BBlv1n7+dn9IBf1/m MxMy/V7pb0SmD8UcsJ4M3YNtzm8PWxB5+lcasM/w+7HUOoXAGwBpFz20DyfXIm9WAyMI 467gENPPQsj0g15vOAv3JFN7ljokx7myyGqyohdF4bYnLNFZLT0mhaSotyHQgrSTKZNx CT8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SkT/qr8mggV7+CZkyf6I+HfUuq3oTI0JmoTJbCOR9RQ=; b=Ebcx6aSLwdbR1FjM6qFaa+zyC4sPiQZCq4/crWqJ6U5CEMD4nk9GgnuNt8l/Amor1h NlHqpcUn24O4K6q/2VsGgTUoJyTN5NfIiT+p+RzVE5eGinkuwUOautjqJe9Ox18pyIMr fUaAsdIIDHv4RKvgdKFTEvDgvDrZAshf03wtKneo3BOM0GMm6meKEbxC21debJX9mDvj cOF9DMrnX51sqJCbmsviBgPrfxd7cp2n6Vg+XpqGe/7yg1y9emX629fYp9KjLAFNR6fM ppy3+GvYEjuc8LQxY5VeMjR64PyLbwFTqkFvcl40uCeGwbpWvjNe5sxLrqNiDvPHpWad OwIQ== X-Gm-Message-State: AOAM530rA5rtDdJ6nLFsdHbDOQ5eJDNpSqbM13ath8jl3bWESl3sR7aa WK7CTwFMzJX7p9GDpyfRuXzyiYuC89Y= X-Google-Smtp-Source: ABdhPJxhHvYMI1jRTIWY0JiqewMvFU2q8+ULIxOr2+q3oe10DKWkL6hJQjsKctThy4K6q8xBquK+Jw== X-Received: by 2002:a2e:a26d:: with SMTP id k13mr25498919ljm.340.1633999338567; Mon, 11 Oct 2021 17:42:18 -0700 (PDT) Received: from sovereign.. (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.gmail.com with ESMTPSA id a14sm813919lfi.281.2021.10.11.17.42.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Oct 2021 17:42:18 -0700 (PDT) From: Dmitry Kozlyuk To: dev@dpdk.org Cc: Dmitry Kozlyuk , Narcisa Ana Maria Vasile , Dmitry Malloy , Pallavi Kadam , Ranjit Menon Date: Tue, 12 Oct 2021 03:42:09 +0300 Message-Id: <20211012004212.429929-1-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.29.3 In-Reply-To: <20210526210147.1287-1-dmitry.kozliuk@gmail.com> References: <20210526210147.1287-1-dmitry.kozliuk@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [kmods PATCH v3 0/3] windows/virt2phys: fix paging issue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Physical addresses exposed by virt2phys driver could become pageable. This presents stability and security issues that prevent Microsoft from signing virt2phys, because a signed driver would be trusted by all end-user machines. Ensure that memory for which physical addresses are exposed by virt2phys is non-pageable at least for the lifetime of the process. As virt2phys code grows, make its development and debugging easier. There are other known issues that come from using PA and accessing DMA from userspace. They are not related to virt2phys par se. It is planned to address them later by enabling the use of IOMMU for DPDK on Windows. Depends-on: series-19342 ("windows: independent fixes") v3: * Fix Release build (Ranjit). * Drop PnpLockdown=1 patch as it is now in dependency series. v2: * Following ofline review by DmitryM: - Add comment explaining tracking approach for validation team. - Replace deprecated allocation API calls. - Check properties of locked memory (see docs in patch 3/4). - Add configurable limits for tracked processes and memory. * Add end-user documentation. * Drop patch for Inf2Cat settings UseLocalTime=true: the issue it resolves originated from development VM. * Add PnpLockdown=1 patch. Dmitry Kozlyuk (3): windows/virt2phys: do not expose pageable physical addresses windows/virt2phys: add limits against resource exhaustion windows/virt2phys: add tracing windows/virt2phys/README.md | 38 ++ windows/virt2phys/virt2phys.c | 173 ++++++-- windows/virt2phys/virt2phys.vcxproj | 11 +- windows/virt2phys/virt2phys.vcxproj.filters | 11 +- windows/virt2phys/virt2phys_logic.c | 415 ++++++++++++++++++++ windows/virt2phys/virt2phys_logic.h | 39 ++ windows/virt2phys/virt2phys_trace.h | 50 +++ 7 files changed, 703 insertions(+), 34 deletions(-) create mode 100644 windows/virt2phys/README.md create mode 100644 windows/virt2phys/virt2phys_logic.c create mode 100644 windows/virt2phys/virt2phys_logic.h create mode 100644 windows/virt2phys/virt2phys_trace.h