From win-pv-devel-bounces@lists.xenproject.org Tue Jan 05 08:12:52 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 05 Jan 2021 08:12:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.61756.108760 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kwhST-0003AE-3I; Tue, 05 Jan 2021 08:12:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 61756.108760; Tue, 05 Jan 2021 08:12:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kwhST-0003A6-07; Tue, 05 Jan 2021 08:12:49 +0000
Received: by outflank-mailman (input) for mailman id 61756;
 Tue, 05 Jan 2021 08:12:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JsII=GI=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1kwhSR-0003A1-Te
 for win-pv-devel@lists.xenproject.org; Tue, 05 Jan 2021 08:12:47 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b06452bf-0d2d-4361-94f1-87d66b1d0d38;
 Tue, 05 Jan 2021 08:12:46 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b06452bf-0d2d-4361-94f1-87d66b1d0d38
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1609834366;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=EFAPd5SDvpsxxwb+jpvp3nk6xWxhC3gya7/2gK0M7uU=;
  b=ADxj1CA3HvEFdebXyQvlR7VV8BVe7FinhtAFr+FgRJ5m+XOE3BeUnHfQ
   rtzIpFMBD5AMUXtiXTvc4/qZc8OyoFvKNjklbV9Fpvd+0eGQrvhk3IOTu
   NI98b5bDJ3p8/mC76sixSM7NXIwm7LBNr+67EAkYILG00VGUL6RLtjOQU
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 5z87oHXJ089Yt6Nvw0MD1ceAXArJlzHvNFU2nc2Sxmu4471OSa66p2uxUWm2NZP8UVumRq/5nW
 hfav2Jr9kqc9FsQFrmAsk/q0hPMxuqp45zZNb+AkG+62ITK3kTIKpWusO6H/8FJoRMoTccguWa
 hwopWV5oeTV8k+bntKsTCsGkNyBCA4kZpaYuXbTJ4iUs5tmi5lAlLVIiP3jci3+9iBZ5hc/8Cg
 VwTiOIP40t4j4UXNmon1E8NGXEoGQ94LkIzv0NiLVsF+i1oUg8U0BAwH4g0JOuPHbn/6xr/oZN
 phY=
X-SBRS: 5.2
X-MesageID: 34436936
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.78,476,1599537600"; 
   d="scan'208";a="34436936"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Avoid EINVAL from XenStore
Date: Tue, 5 Jan 2021 08:12:20 +0000
Message-ID: <20210105081220.2345539-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.27.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

XenStore Directory can return an empty string as the first element of
its buffer, which is converted into a 1 element array of (valid)
ANSI_STRINGs with length 0. When this 0 length string is passed to
XenStore Read, it attempts to read an invalid path (e.g. "~/drivers/")
which fails with EINVAL.
Add a check to skip 0 length strings in FdoClearDistribution.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenbus/fdo.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
index 21de867..9c5decc 100644
--- a/src/xenbus/fdo.c
+++ b/src/xenbus/fdo.c
@@ -2606,6 +2606,11 @@ FdoClearDistribution(
     for (Index = 0; Distributions[Index].Buffer != NULL; Index++) {
         PANSI_STRING    Distribution = &Distributions[Index];
 
+        // If ~/drivers has no children, an empty string could be returned.
+        // Note: Distribution->Buffer is 1 CHAR of "\0"
+        if (Distribution[Index].Length == 0)
+            continue;
+
         status = XENBUS_STORE(Read,
                               &Fdo->StoreInterface,
                               NULL,
-- 
2.28.0.windows.1



From win-pv-devel-bounces@lists.xenproject.org Tue Jan 05 18:41:33 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 05 Jan 2021 18:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.62159.109902 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kwrGu-0003pc-CP; Tue, 05 Jan 2021 18:41:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 62159.109902; Tue, 05 Jan 2021 18:41:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kwrGu-0003pV-9X; Tue, 05 Jan 2021 18:41:32 +0000
Received: by outflank-mailman (input) for mailman id 62159;
 Tue, 05 Jan 2021 18:41:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VqhG=GI=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1kwrGs-0003pQ-TY
 for win-pv-devel@lists.xenproject.org; Tue, 05 Jan 2021 18:41:30 +0000
Received: from mail-wm1-x331.google.com (unknown [2a00:1450:4864:20::331])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bb8c8961-3016-4108-ad73-a9798d95b46f;
 Tue, 05 Jan 2021 18:41:30 +0000 (UTC)
Received: by mail-wm1-x331.google.com with SMTP id v14so467973wml.1
 for <win-pv-devel@lists.xenproject.org>; Tue, 05 Jan 2021 10:41:29 -0800 (PST)
Received: from CBGR90WXYV0 (host86-165-42-133.range86-165.btcentralplus.com.
 [86.165.42.133])
 by smtp.gmail.com with ESMTPSA id z21sm51384wmk.20.2021.01.05.10.41.28
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 05 Jan 2021 10:41:28 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb8c8961-3016-4108-ad73-a9798d95b46f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:to:references:in-reply-to:subject:date:message-id
         :mime-version:content-transfer-encoding:content-language
         :thread-index;
        bh=SaxlUP1TzRHO1Gbnmne3z/6+J86FuPXw0qSsln2XdQE=;
        b=LDfspCWJsi7Pq8x2pcM+WYAFjPvPnTze9ZlfxGNGIbGZBSupRsXt+cXC/2yd53ucZM
         zcg5MkeEAtwtaJbuDHCPibkgjrTQ9HYOJNzz+4v6Q2yWBEKoBemXbzfeEFHKxH54Jpsp
         0UB3+wHlaWXops3vW7QbYvn5PzbImxhs1bnSKhazMfvu7ZL5TZ6PWF43ndkCd9fh7P8H
         KyqECVx5F/zsQ1Dg2Zz5I/Iu5LV6Qzpot/1N1+qaaijmNlSaAMmcL57/83bHiTHo8IQF
         BvJNl0Hi5plXKwARH6rFjGL611q3QO1CE2mRsbYEMlJxYPvwIuNFSgLsqFg7sbmV60uv
         TZAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:to:references:in-reply-to:subject
         :date:message-id:mime-version:content-transfer-encoding
         :content-language:thread-index;
        bh=SaxlUP1TzRHO1Gbnmne3z/6+J86FuPXw0qSsln2XdQE=;
        b=udurJpOx0lktJ2M+yZ/HBtPqzj8WpYyPfCWngSAXuaksNlhFMfg98YQxvIG/QVTnnp
         OSg0MLsJXYeLl8d+lIT74G0d6KqN3HPoYVc1Y0uTpdxD697wNiObN2DyH3skK8N7T97I
         y2+h6QnX1fQKpJZyAAb3M3Lq0xFW5icQc+/46lZtqK1mw+TGwZm1+CW4CoVCzf4bhLkC
         BxomflmMo1kN+W7P2fgr0Rkgx16USIPNs44CwjKgEWiulaQei79aX/P4w811/JlQPKGz
         LY0B5j2zlcV8BgWa5Cynct083lOP7SRHySpRtWWzAbKte8yhrPw6DPmU4J5TICM1u334
         yFYg==
X-Gm-Message-State: AOAM533Rbvy9EPVeqvJp3I4jO2rez+QVDqlNNZH1HP6wKfHCM1raVIuw
	utsMiqYIdLAS3FW06A77+u8=
X-Google-Smtp-Source: ABdhPJy3VuNj78Wcxq4/SdoNUpXW2Pb/TcEUhzw8Ki3yZq6mjD70Oqnxznp+9NWLsD4JHyBqw/DDIA==
X-Received: by 2002:a7b:c04c:: with SMTP id u12mr406450wmc.185.1609872089210;
        Tue, 05 Jan 2021 10:41:29 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: "Paul Durrant" <paul@xen.org>
Reply-To: <paul@xen.org>
To: "'Owen Smith'" <owen.smith@citrix.com>,
	<win-pv-devel@lists.xenproject.org>
References: <20210105081220.2345539-1-owen.smith@citrix.com>
In-Reply-To: <20210105081220.2345539-1-owen.smith@citrix.com>
Subject: RE: [PATCH] Avoid EINVAL from XenStore
Date: Tue, 5 Jan 2021 18:41:27 -0000
Message-ID: <005201d6e392$61027650$230762f0$@xen.org>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-gb
Thread-Index: AQFYXBabalUqnMEkBbWgHPIxOw5ftqsWa6qQ

> -----Original Message-----
> From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On Behalf Of Owen Smith
> Sent: 05 January 2021 08:12
> To: win-pv-devel@lists.xenproject.org
> Cc: Owen Smith <owen.smith@citrix.com>
> Subject: [PATCH] Avoid EINVAL from XenStore
> 
> XenStore Directory can return an empty string as the first element of
> its buffer, which is converted into a 1 element array of (valid)
> ANSI_STRINGs with length 0. When this 0 length string is passed to
> XenStore Read, it attempts to read an invalid path (e.g. "~/drivers/")
> which fails with EINVAL.
> Add a check to skip 0 length strings in FdoClearDistribution.
> 

I think this is the wrong way to fix this... it's dealing with the symptom rather than the cause. The code modified here is
duplicated in other drivers and so they would need fixing too, whereas fixing XENBUS_STORE(Directory, ...) to not hand back empty
strings would fix it everywhere.

  Paul

> Signed-off-by: Owen Smith <owen.smith@citrix.com>
> ---
>  src/xenbus/fdo.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
> index 21de867..9c5decc 100644
> --- a/src/xenbus/fdo.c
> +++ b/src/xenbus/fdo.c
> @@ -2606,6 +2606,11 @@ FdoClearDistribution(
>      for (Index = 0; Distributions[Index].Buffer != NULL; Index++) {
>          PANSI_STRING    Distribution = &Distributions[Index];
> 
> +        // If ~/drivers has no children, an empty string could be returned.
> +        // Note: Distribution->Buffer is 1 CHAR of "\0"
> +        if (Distribution[Index].Length == 0)
> +            continue;
> +
>          status = XENBUS_STORE(Read,
>                                &Fdo->StoreInterface,
>                                NULL,
> --
> 2.28.0.windows.1
> 




From win-pv-devel-bounces@lists.xenproject.org Wed Jan 06 16:19:26 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 06 Jan 2021 16:19:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.62582.110917 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kxBWu-000166-Do; Wed, 06 Jan 2021 16:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 62582.110917; Wed, 06 Jan 2021 16:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kxBWu-00015z-Ac; Wed, 06 Jan 2021 16:19:24 +0000
Received: by outflank-mailman (input) for mailman id 62582;
 Wed, 06 Jan 2021 16:19:22 +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
 <SRS0=RQNm=GJ=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1kxBWs-00015b-Rn
 for win-pv-devel@lists.xenproject.org; Wed, 06 Jan 2021 16:19:22 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6757076c-3e1e-4aaa-9699-5aee5de747ed;
 Wed, 06 Jan 2021 16:19:21 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6757076c-3e1e-4aaa-9699-5aee5de747ed
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1609949961;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=P1M/vJ1n6p7wgqmK9jevWTGHn2He5agszfFIHYYXhVo=;
  b=ZkfJotq10JxL6QufjTqiwgOMCdvwIfkSYxaJg09qL4XR23brwu1EYmiG
   2DiKfbBDZZ3M2gXZPGamSbjwYnt4yUg/2wC7RFScAT+vkY/B0BccXN6El
   vo+3TxJieNcALaSAxi1LQ4HJUkSnj7quMAo++E/eTpjJzRDi4H8dgTIVH
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: /jPOCG01mpy4Mhhw1awvVbbHjANOydj5cBrB8dzWljeZPGDe3kpXdc6JzYOrwT5b96PoAdv2Ex
 PEIP1NZ2v+ANqJr9yeEvfvok4N4E9jOEySCnujzmFZ6z2i+ibtZ9ajE/szujG+fUvx5GG6WsAd
 4y9b+m8prOxsbi4+JsNNLpohM7+5/Y0WF5oHGdn4BOtvsEYe8NFQHkZnm188zQ9CI+ns08XRyl
 Jly8v32LpkYMGJEfrSMAx7shJo//09qGIaqpemMpbbAsNz4mGj5fatwMKr8S1Wk1vijvaWfYpN
 6pY=
X-SBRS: 5.2
X-MesageID: 34554543
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.79,480,1602561600"; 
   d="scan'208";a="34554543"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Fail XS_DIRECTORY for paths with no children
Date: Wed, 6 Jan 2021 16:17:50 +0000
Message-ID: <20210106161750.3066078-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.27.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

When a xenstore path has no children, a response is generated which
contians only the double null terminator. Detect a 0-length response
payload and return STATUS_OBJECT_PATH_NOT_FOUND to indicate that this
path does not have any children

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenbus/store.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/xenbus/store.c b/src/xenbus/store.c
index cbc442e..570b8b5 100644
--- a/src/xenbus/store.c
+++ b/src/xenbus/store.c
@@ -115,6 +115,7 @@ typedef struct _XENBUS_STORE_REQUEST {
 typedef struct _XENBUS_STORE_BUFFER {
     LIST_ENTRY  ListEntry;
     ULONG       Magic;
+    ULONG       Length;
     PVOID       Caller;
     CHAR        Data[1];
 } XENBUS_STORE_BUFFER, *PXENBUS_STORE_BUFFER;
@@ -1036,6 +1037,7 @@ StoreCopyPayload(
         goto fail1;
 
     Buffer->Magic = XENBUS_STORE_BUFFER_MAGIC;
+    Buffer->Length = Length;
     Buffer->Caller = Caller;
 
     RtlCopyMemory(Buffer->Data, Data, Length);
@@ -1044,7 +1046,7 @@ StoreCopyPayload(
     InsertTailList(&Context->BufferList, &Buffer->ListEntry);
     KeReleaseSpinLock(&Context->Lock, Irql);
 
-    return Buffer;        
+    return Buffer;
 
 fail1:
     Error("fail1 (%08x)\n", status);
@@ -1439,6 +1441,10 @@ StoreDirectory(
     if (Buffer == NULL)
         goto fail4;
 
+    status = STATUS_OBJECT_PATH_NOT_FOUND;
+    if (Buffer->Length == 0)
+        goto fail5;
+
     StoreFreeResponse(Response);
     ASSERT(IsZeroMemory(&Request, sizeof (XENBUS_STORE_REQUEST)));
 
@@ -1446,6 +1452,9 @@ StoreDirectory(
 
     return STATUS_SUCCESS;
 
+fail5:
+    StoreFreePayload(Context, Buffer);
+
 fail4:
 fail3:
     StoreFreeResponse(Response);
-- 
2.28.0.windows.1



From win-pv-devel-bounces@lists.xenproject.org Wed Jan 06 16:28:59 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 06 Jan 2021 16:28:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.62592.110933 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kxBgA-0002Cf-De; Wed, 06 Jan 2021 16:28:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 62592.110933; Wed, 06 Jan 2021 16:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kxBgA-0002CY-Af; Wed, 06 Jan 2021 16:28:58 +0000
Received: by outflank-mailman (input) for mailman id 62592;
 Wed, 06 Jan 2021 16:28:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eEfT=GJ=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1kxBg9-0002CT-Dm
 for win-pv-devel@lists.xenproject.org; Wed, 06 Jan 2021 16:28:57 +0000
Received: from mail-wr1-x433.google.com (unknown [2a00:1450:4864:20::433])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a7ea9d14-a886-4387-bdc9-27081d8f3c3e;
 Wed, 06 Jan 2021 16:28:56 +0000 (UTC)
Received: by mail-wr1-x433.google.com with SMTP id r3so2983676wrt.2
 for <win-pv-devel@lists.xenproject.org>; Wed, 06 Jan 2021 08:28:56 -0800 (PST)
Received: from CBGR90WXYV0 (host86-165-42-133.range86-165.btcentralplus.com.
 [86.165.42.133])
 by smtp.gmail.com with ESMTPSA id r7sm3557382wmh.2.2021.01.06.08.28.54
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 06 Jan 2021 08:28:55 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7ea9d14-a886-4387-bdc9-27081d8f3c3e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:to:references:in-reply-to:subject:date:message-id
         :mime-version:content-transfer-encoding:content-language
         :thread-index;
        bh=pQ6FLWlUwbRMdAFtgXxzZiO4tP7JP7OHTdApYRpEnMU=;
        b=iltWgN/mipbACm4pGUX6q0ER4lhIoHk7yjxE69yEOPdvrHUQSAyMQwjBsTcvTsbG7l
         Xebqs7uwejeCyaWXSddzVw/flMoGTYSMsGx3FWQ2n+HEnynLEYTMUPc1neEk7/YzvX5b
         K1q84Tv5E6jDaaaFPK80etYoTPYir6rr963QyB77R7YzPKRmFqtZTwdOr3UPanR6jAql
         g6oU6q3368w4vZfnuL/KfGeZvPDlSrSpVEaIIpzWCPY2ue5wwa2E+Gr5loRrGm4x7TxK
         Mr4TkBdgIJ8XKAbLvIApiiAoPUtm2uOGkt/cf7/W8PqxL3409i684+Y4/GaIHY59Lzw5
         oNZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:to:references:in-reply-to:subject
         :date:message-id:mime-version:content-transfer-encoding
         :content-language:thread-index;
        bh=pQ6FLWlUwbRMdAFtgXxzZiO4tP7JP7OHTdApYRpEnMU=;
        b=h/cXhqtoS6FKmUmD+VtdvUd0OF0h3eFXoXkdJ5Lmg7d0rTdrfCVgBCaHpm6mUESgf/
         t/oyFAaH1s5I1fxKpV6V/qpp2JWIjS+lu441nx+ensGPHlg5T1a5k//NIf9mRwneEGvo
         wCrQmeJ4yZL+gm/5JLQ7Fo2tQ+Tza5biWJij3hDi+3qkVS0faTDsuv8ATwtUrwmTSRmn
         5F3Qiu6mgZdgXTBEVGBUTjRPWmLXwiNVCKHDXfhuHgAYHkb5QMxvb+rnc6dtZOAQ01Jy
         YAt9kHB2VoO4UVMP+m4fsjUv0oC9SdWR9nN5OwYFLgJ9EzY4NHolbAiO4efltXz+vGKd
         cKRw==
X-Gm-Message-State: AOAM5304ZmJIO/DvE1F77MPj/ao794xpPCDpTzu/Wx6fAQebQEd7bCto
	TGG2W9rU7vaiwVA4gVK7tvw=
X-Google-Smtp-Source: ABdhPJyuib16TMeXq7e/jUHPcKohU4rGBvqmVvRlapVbS4oumhz7BWySuqjZ4tABxJUd7G2jH2emtA==
X-Received: by 2002:adf:e704:: with SMTP id c4mr5024973wrm.355.1609950535602;
        Wed, 06 Jan 2021 08:28:55 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: "Paul Durrant" <paul@xen.org>
Reply-To: <paul@xen.org>
To: "'Owen Smith'" <owen.smith@citrix.com>,
	<win-pv-devel@lists.xenproject.org>
References: <20210106161750.3066078-1-owen.smith@citrix.com>
In-Reply-To: <20210106161750.3066078-1-owen.smith@citrix.com>
Subject: RE: [PATCH] Fail XS_DIRECTORY for paths with no children
Date: Wed, 6 Jan 2021 16:28:54 -0000
Message-ID: <008401d6e449$06b8d3d0$142a7b70$@xen.org>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-gb
Thread-Index: AQID3PnR3H50pRreHKYy5dLoHIXlIanA1mkA

> -----Original Message-----
> From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On Behalf Of Owen Smith
> Sent: 06 January 2021 16:18
> To: win-pv-devel@lists.xenproject.org
> Cc: Owen Smith <owen.smith@citrix.com>
> Subject: [PATCH] Fail XS_DIRECTORY for paths with no children
> 
> When a xenstore path has no children, a response is generated which
> contians only the double null terminator. Detect a 0-length response

s/contains/contains... I'll fix on commit

> payload and return STATUS_OBJECT_PATH_NOT_FOUND to indicate that this
> path does not have any children
> 

STATUS_OBJECT_PATH_NOT_FOUND is what we use for ENOENT in xen-erro.h so that's the right choice :-)

> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>  src/xenbus/store.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/src/xenbus/store.c b/src/xenbus/store.c
> index cbc442e..570b8b5 100644
> --- a/src/xenbus/store.c
> +++ b/src/xenbus/store.c
> @@ -115,6 +115,7 @@ typedef struct _XENBUS_STORE_REQUEST {
>  typedef struct _XENBUS_STORE_BUFFER {
>      LIST_ENTRY  ListEntry;
>      ULONG       Magic;
> +    ULONG       Length;
>      PVOID       Caller;
>      CHAR        Data[1];
>  } XENBUS_STORE_BUFFER, *PXENBUS_STORE_BUFFER;
> @@ -1036,6 +1037,7 @@ StoreCopyPayload(
>          goto fail1;
> 
>      Buffer->Magic = XENBUS_STORE_BUFFER_MAGIC;
> +    Buffer->Length = Length;
>      Buffer->Caller = Caller;
> 
>      RtlCopyMemory(Buffer->Data, Data, Length);
> @@ -1044,7 +1046,7 @@ StoreCopyPayload(
>      InsertTailList(&Context->BufferList, &Buffer->ListEntry);
>      KeReleaseSpinLock(&Context->Lock, Irql);
> 
> -    return Buffer;
> +    return Buffer;
> 
>  fail1:
>      Error("fail1 (%08x)\n", status);
> @@ -1439,6 +1441,10 @@ StoreDirectory(
>      if (Buffer == NULL)
>          goto fail4;
> 
> +    status = STATUS_OBJECT_PATH_NOT_FOUND;
> +    if (Buffer->Length == 0)
> +        goto fail5;
> +
>      StoreFreeResponse(Response);
>      ASSERT(IsZeroMemory(&Request, sizeof (XENBUS_STORE_REQUEST)));
> 
> @@ -1446,6 +1452,9 @@ StoreDirectory(
> 
>      return STATUS_SUCCESS;
> 
> +fail5:
> +    StoreFreePayload(Context, Buffer);
> +
>  fail4:
>  fail3:
>      StoreFreeResponse(Response);
> --
> 2.28.0.windows.1
> 




From win-pv-devel-bounces@lists.xenproject.org Wed Jan 06 17:40:31 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 06 Jan 2021 17:40:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.62624.110991 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kxCnO-0001yM-HT; Wed, 06 Jan 2021 17:40:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 62624.110991; Wed, 06 Jan 2021 17:40:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kxCnO-0001yF-EO; Wed, 06 Jan 2021 17:40:30 +0000
Received: by outflank-mailman (input) for mailman id 62624;
 Wed, 06 Jan 2021 17:40:29 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul.durrant@xenproject.org>) id 1kxCnN-0001yA-UA
 for win-pv-devel@lists.xenproject.org; Wed, 06 Jan 2021 17:40:29 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
Date: Wed, 6 Jan 2021 17:40:32 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <3452936.5.1609954833448.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
Subject: XENBUS-master - Build #213 - Successful
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_4_1482231.1609954832760"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS


------=_Part_4_1482231.1609954832760
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #213.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/213/console to view the results.
------=_Part_4_1482231.1609954832760--


From win-pv-devel-bounces@lists.xenproject.org Sun Jan 10 12:35:31 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 10 Jan 2021 12:35:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.64457.113897 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kyZwP-000867-6v; Sun, 10 Jan 2021 12:35:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 64457.113897; Sun, 10 Jan 2021 12:35:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kyZwP-00085z-3k; Sun, 10 Jan 2021 12:35:29 +0000
Received: by outflank-mailman (input) for mailman id 64457;
 Sun, 10 Jan 2021 12:35:28 +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
 <SRS0=uwBg=GN=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1kyZwN-00085u-RS
 for win-pv-devel@lists.xenproject.org; Sun, 10 Jan 2021 12:35:28 +0000
Received: from wout5-smtp.messagingengine.com (unknown [64.147.123.21])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 30e74c52-6e71-4a2e-90ea-c3bf1e749e32;
 Sun, 10 Jan 2021 12:35:25 +0000 (UTC)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 66E342693;
 Sun, 10 Jan 2021 07:35:24 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Sun, 10 Jan 2021 07:35:24 -0500
Received: from mail-itl (ip5b40aa59.dynamic.kabel-deutschland.de
 [91.64.170.89])
 by mail.messagingengine.com (Postfix) with ESMTPA id BD8291080063;
 Sun, 10 Jan 2021 07:35:22 -0500 (EST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30e74c52-6e71-4a2e-90ea-c3bf1e749e32
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=l3eMU7
	bewO5xkKwOgvRAxZCjJgjbui/TwL5LDXTOvQE=; b=C22cwY25r55yZnr0WwQ+3T
	5T8FYax5GilXeB5XIxZuyG/5VclM6718n6DDYhbUaK0QFPyh9uXeI500BHyBHftQ
	v4cD9yA0tMxo0jjVC9d8o2TGnrobU31e/ZcKhQ6oHGh7QLJwqR+BxYt1SHInjxNk
	t6mJbbGvpXU9k8Wuu58M/sJTwPifjXjX7UMbxCVvsb0z1+txQymG1JDZ5Kcogl0Z
	J404z71EyI5LUnvvvKDAaKE55BPe6n9JMmUog7POMeKBRaYXL6vG0vfGHXBlSpha
	pDaGjxa+OmPwpS6Vs+SQdlruqQuyeSV7Xgz7PCrn7VgmWHxA8ock4rfDcAljeQJg
	==
X-ME-Sender: <xms:i_T6XyUL5S-wzEigcEmK-HaT2yxGfgRCjP34crNlcaqOVDhxSgVvpw>
    <xme:i_T6X-kYm9AxJwk7FGiXIB0if_XAi8wfFc7p7GgJM-aIxXMx3Hsn6x0ndOADY-iWA
    Es5XArsJH5Ynw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvdegledggeefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetveff
    iefghfekhffggeeffffhgeevieektedthfehveeiheeiiedtudegfeetffenucfkpheple
    durdeigedrudejtddrkeelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm
    rghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsg
    drtghomh
X-ME-Proxy: <xmx:i_T6X2ZJlyaPPutmucb6_fEsgZ1NoVMnJBiZ47BC8wLEXcxnY9Co9g>
    <xmx:i_T6X5VQR72LBxAY7QvTsStuQPobyExSC9WMxM7vIECad7oMisrupA>
    <xmx:i_T6X8nxYmXSQ9XZKqAhYf8ppfrXkD1ONVs5FoQbNdlRr_L5SeOkpg>
    <xmx:i_T6X4zVG5JMItks9V3ip0kwf8Y_g-xyT44siXvR62XKjSI00HL_zw>
Date: Sun, 10 Jan 2021 13:35:19 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Owen Smith <owen.smith@citrix.com>
Cc: win-pv-devel@lists.xenproject.org
Subject: Re: [PATCH] Fail XS_DIRECTORY for paths with no children
Message-ID: <20210110123519.GA1220@mail-itl>
References: <20210106161750.3066078-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="jI8keyz6grp/JLjh"
Content-Disposition: inline
In-Reply-To: <20210106161750.3066078-1-owen.smith@citrix.com>


--jI8keyz6grp/JLjh
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: [PATCH] Fail XS_DIRECTORY for paths with no children

On Wed, Jan 06, 2021 at 04:17:50PM +0000, Owen Smith wrote:
> When a xenstore path has no children, a response is generated which
> contians only the double null terminator. Detect a 0-length response
> payload and return STATUS_OBJECT_PATH_NOT_FOUND to indicate that this
> path does not have any children

Is it really the right thing to do? I think it may confuse empty
directory with non-existing directory. But I may be missing some context
here.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

--jI8keyz6grp/JLjh
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAl/69IcACgkQ24/THMrX
1yyi9gf/codM9vyA4cUPsTWMK4JyFukZyox3PZSQ9t+sjSO8CxYN4+ctxTZb8Vxl
JZImdzUHxGMd93bqqs9q0dNWcEh3kwcxftlSrFwJBD1nN26YDSIs6zKmyt49JyNf
UXQJLnAQ3plsc1wgPVezekoN0X8dzHa6CeCkX60UvLlzOrg2dKV+FCEtcv/1Pd/G
XooRshAAX0OUyvpFH3+yy6kYY0yxOofpLHHa89mHNLs6kLH3UOrHg0JVu4SwPIbm
yTmzI7L9p3WciT1iqk/pSllchUDTp+t5gQ9R0LR+w8Ll3/CiZQwch9bSUvhAkO8j
ilX0rcgDqRO+TBi9AB57MFgZUbTrSg==
=Zf9r
-----END PGP SIGNATURE-----

--jI8keyz6grp/JLjh--


From win-pv-devel-bounces@lists.xenproject.org Mon Jan 11 08:13:04 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 11 Jan 2021 08:13:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.64642.114221 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kysJx-0003fe-T7; Mon, 11 Jan 2021 08:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 64642.114221; Mon, 11 Jan 2021 08:13:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kysJx-0003fX-QK; Mon, 11 Jan 2021 08:13:01 +0000
Received: by outflank-mailman (input) for mailman id 64642;
 Mon, 11 Jan 2021 08:13:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O+Cs=GO=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1kysJw-0003fR-4L
 for win-pv-devel@lists.xenproject.org; Mon, 11 Jan 2021 08:13:00 +0000
Received: from mail-wm1-x332.google.com (unknown [2a00:1450:4864:20::332])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3c7fdd53-0322-4755-a7e8-a67fe21ee37a;
 Mon, 11 Jan 2021 08:12:59 +0000 (UTC)
Received: by mail-wm1-x332.google.com with SMTP id g25so10379837wmh.1
 for <win-pv-devel@lists.xenproject.org>; Mon, 11 Jan 2021 00:12:59 -0800 (PST)
Received: from CBGR90WXYV0 (host86-165-42-133.range86-165.btcentralplus.com.
 [86.165.42.133])
 by smtp.gmail.com with ESMTPSA id u205sm22199803wme.42.2021.01.11.00.12.57
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 11 Jan 2021 00:12:57 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c7fdd53-0322-4755-a7e8-a67fe21ee37a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:to:cc:references:in-reply-to:subject:date:message-id
         :mime-version:content-transfer-encoding:content-language
         :thread-index;
        bh=SNeRJFiETU/nkTg8ZP5wlvTerIX10Fc1+r37VICbNRk=;
        b=NkdEp8c4Kf6KOSYavPGfLviLJGQQBEtvsoRcuf2YOTuTP6VPCvTjnogo00QZGkQYp/
         eOJVdqTkoBYfYgO05ADOelE0qkTkCWC30Of8hFivXtx5QxnRZMDyrtEwb8EAs9u5k26i
         2q1zwn9rfQLSkZ8ZomMZFkhMZ32YDRXf3MweTwDYNCs9rwrCI6+GlItrOHn1TAk39DXs
         RnHGFiMNlZjQh31mx7TMrkVnfz+JzC1vxtDl2wTcwqw5HhWruSUp6siA0GfMlJxzz8sJ
         /pTwZ+GrmBwDKP0th92jHUnm5RHjdmS2WfqVpPo9WvFZ7ZAjy+PF7J4DAPPUOfl04WmR
         BZVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:to:cc:references:in-reply-to
         :subject:date:message-id:mime-version:content-transfer-encoding
         :content-language:thread-index;
        bh=SNeRJFiETU/nkTg8ZP5wlvTerIX10Fc1+r37VICbNRk=;
        b=AaOuSSaSsuksK4dwgQVJ7BEMSgVZJK0+icV45RXpJOvf01e2zU4zFWD7uWiJzSjZOU
         dDmswXpB94ldcap8k5MC2qI2TFszNxAyTAQfwvynKhiXjAE7TY367dJBjBNz1COOxBW0
         CREMMvdyPNkhnlt4F4+epaLnOJhxiLWG5l25gPgMnaOWv/nqnmye52SPT//f1ImkVf8u
         42wh3+pq5TcyVPDwwOEUVjDi8KZdkNjrdMu00gv9QlfzldtjAnVlfXOlAR1MR/plkrbR
         uV4LhlS+mq4a2SDp34xBOdEmOtwEMV9zVmJedpsN9QEf6ROUfJvmOliClfluSI44/i7T
         wAyQ==
X-Gm-Message-State: AOAM531/3/lMA1NoABiyrQd2MYdWYJppKMO7C9GJaxABbrnpYQq2TaXB
	Pqo1SeYRHeTDtLSNRaKC9eY=
X-Google-Smtp-Source: ABdhPJx4RBDZFs7K2iXZajfgSjKzij/KzZjJuA66+Fy+eKmDRcmn3GHLxHWy4Ih6ONJkxGwaIAZlEw==
X-Received: by 2002:a1c:e342:: with SMTP id a63mr13888909wmh.64.1610352778364;
        Mon, 11 Jan 2021 00:12:58 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: "Paul Durrant" <paul@xen.org>
Reply-To: <paul@xen.org>
To: =?UTF-8?Q?'Marek_Marczykowski-G=C3=B3recki'?= <marmarek@invisiblethingslab.com>,
	"'Owen Smith'" <owen.smith@citrix.com>
Cc: <win-pv-devel@lists.xenproject.org>
References: <20210106161750.3066078-1-owen.smith@citrix.com> <20210110123519.GA1220@mail-itl>
In-Reply-To: <20210110123519.GA1220@mail-itl>
Subject: RE: [PATCH] Fail XS_DIRECTORY for paths with no children
Date: Mon, 11 Jan 2021 08:12:57 -0000
Message-ID: <00a701d6e7f1$92128470$b6378d50$@xen.org>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-gb
Thread-Index: AQID3PnR3H50pRreHKYy5dLoHIXlIQGnRlZfqbrtnUA=

> -----Original Message-----
> From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On =
Behalf Of Marek Marczykowski-G=C3=B3recki
> Sent: 10 January 2021 12:35
> To: Owen Smith <owen.smith@citrix.com>
> Cc: win-pv-devel@lists.xenproject.org
> Subject: Re: [PATCH] Fail XS_DIRECTORY for paths with no children
>=20
> On Wed, Jan 06, 2021 at 04:17:50PM +0000, Owen Smith wrote:
> > When a xenstore path has no children, a response is generated which
> > contians only the double null terminator. Detect a 0-length response
> > payload and return STATUS_OBJECT_PATH_NOT_FOUND to indicate that =
this
> > path does not have any children
>=20
> Is it really the right thing to do? I think it may confuse empty
> directory with non-existing directory. But I may be missing some =
context
> here.

For Directory I think ENOENT (aka STATUS_OBJECT_PATH_NOT_FOUND) is the =
most useful thing to hand back in both the empty and non-existent cases. =
If it becomes necessary to distinguish between the two then a Read can =
be issued which would succeed in the former case but fail in the latter.

  Paul

>=20
> --
> Best Regards,
> Marek Marczykowski-G=C3=B3recki
> Invisible Things Lab
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?



From win-pv-devel-bounces@lists.xenproject.org Mon Jan 11 08:56:13 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 11 Jan 2021 08:56:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.64668.114268 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kyszk-0007WS-0K; Mon, 11 Jan 2021 08:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 64668.114268; Mon, 11 Jan 2021 08:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kyszj-0007WL-TX; Mon, 11 Jan 2021 08:56:11 +0000
Received: by outflank-mailman (input) for mailman id 64668;
 Mon, 11 Jan 2021 08:56:10 +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
 <SRS0=9ype=GO=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1kyszi-0007WG-3O
 for win-pv-devel@lists.xenproject.org; Mon, 11 Jan 2021 08:56:10 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9aad7b7e-b5a4-42eb-a48d-25a5b297d4a7;
 Mon, 11 Jan 2021 08:56:08 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aad7b7e-b5a4-42eb-a48d-25a5b297d4a7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1610355368;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=K7wg2zxNE4TYtq0M6z/6fDPIhJhG0Jqq97hDPwT3hCc=;
  b=f2eXADWf6conHHeBx1efxbzjlYOqzvCaPG1sodfo1VpO7LA8M3LLl7hI
   y+LcQF5w6wd8rqGm0wn9GdXD45JRrlN/OabzfGwyXuwig3y0+cbNpeFN5
   aMxjA7wKjRJx9CLkgJSIM6IIRez9ACW3IA6xIUa3mCu/kj3z7pwqGDK/d
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: MIL1AgtszxFQLTmUZLaUq2SeBZBlvQ1CuH7iEKZi10L/EIOYfXNHamWqqaiijw1uxxGV7nsoJX
 5+bwVtGBd2tynmpM6D/oWUukNFXPjAvHuzSRtGUXNHURZIS3RBGBr4Rkx6dql3o6eT4tftXs50
 y6deHA6J4/+p8ZJb9kwfxVFTX3EuEKV/0BbDl0GZCZnKXzlC/lFrcfSpLrM54IvgIkkSAEVXMD
 mpU5eDHTLf/3B0Ym8jYL04Jef9Dzdeq6pRBkDH6g+DP8kqB6eWcrX4LYW2xpqlh9V0sqttwjEa
 ovU=
X-SBRS: 5.2
X-MesageID: 35173728
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.79,338,1602561600"; 
   d="scan'208";a="35173728"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UIWw9OVQbzisuZQ52IOR/xvmDcQ/3XFSs/UY43bCgoPhFYpE6fU9KDC5bLhLTk0wu4gDfz5cnkmjXWNxxAIW1IBzMIp93a1ONRVwMB8fpzdH5xEeiy2cq4fliPAnf5zF8Sl7esGdG+Ket0/5Kyc7lAs0nxEZ3Gnv9i+ioTg33tneE8tEvt//pbYPqIgzVjYqDsd0/+OIxKkmXEgmRPEQ8nHWQsqx9JNwuBPKwMBVf27z9feXsY7WYi7cAycDtbEhTO9uO9kcYhEp7N8Yqu5B5G9tkeG+rMiq4jTqaI0+HFEoH8s6Q3e/KUnwMc7RaUH/9oqi3Ci+GK7EFLsRGwfHJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K7wg2zxNE4TYtq0M6z/6fDPIhJhG0Jqq97hDPwT3hCc=;
 b=AVMp0tRvRXe/stu6i8EYX+4HFD5HIqV54mhlDS/+VXgt6NSTSexqR2BUuAYLy8JluqmsLrgkBQltlz0Zzl9yjYuEaIOL3RcflPcdw7VsoSSI9XFE6+vWqjwP9c9o8azzU2kPEmLyvQEPUhiBNe00gfHikKEH2BP2cIRn8NuiXgWvxGFfpwfMlcXzJnElu+KudI/OmjK7o71RRt6uTkxh/mVCtnlC7K+cGP3B220K2TVoCREvMQ2i16c1TWTh5JdaJK2dKs5BdgxC6/L4CCHY4VzWiW+EbmXCxfF6Dui2dbBmKbj58/bYHQ9ZfRSh/t3bFfYRVraoungnUSfK0dvjUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K7wg2zxNE4TYtq0M6z/6fDPIhJhG0Jqq97hDPwT3hCc=;
 b=pX3bytdKqzEMl9nVImhnsF1zcsHhPVODPn0ErGRUv4TLjUCSM0X/WQUOnqoo6TDESN/N9XDo0RAZKVHPJEC86iVK2SS5wrV4JEgRNcH9yKXnCKTB8iUp+k704kOxiNywxeoSoBG0gn3bTmALmfqd/POUkGZ16qsRPBhDUR+Axp0=
From: Owen Smith <owen.smith@citrix.com>
To: "paul@xen.org" <paul@xen.org>,
	=?utf-8?B?J01hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSc=?=
	<marmarek@invisiblethingslab.com>
CC: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH] Fail XS_DIRECTORY for paths with no children
Thread-Topic: [PATCH] Fail XS_DIRECTORY for paths with no children
Thread-Index: AQHW5EeZMWnoaMuwK0+VJEmHAf4GZKog0Y2AgAFJB4CAAAsDkA==
Date: Mon, 11 Jan 2021 08:56:01 +0000
Message-ID: <DS7PR03MB5477C8E89B4A3893E0419591FEAB0@DS7PR03MB5477.namprd03.prod.outlook.com>
References: <20210106161750.3066078-1-owen.smith@citrix.com>
 <20210110123519.GA1220@mail-itl> <00a701d6e7f1$92128470$b6378d50$@xen.org>
In-Reply-To: <00a701d6e7f1$92128470$b6378d50$@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 27c6a81d-6cb3-4314-aa66-08d8b60eb8b4
x-ms-traffictypediagnostic: DM6PR03MB4459:
x-microsoft-antispam-prvs: <DM6PR03MB4459512B2586004C41C25C74FEAB0@DM6PR03MB4459.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:419;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: lykfoRUzGZHNdEVfPPE48kNeC3bifC+DmzuWqOPZroPYDh8IIQ7i3kwTtoY/bl4q8U7Fgq6NHc7Eszf5mK+bVORHt2Fby0yLaCzICg14A4GpEixH16VzbjAinNnUIP6BDJiCB5La2jhIL4IAY9IGnrE0DXbrJb/UQ5vDNxZiBM/yt8R3W3IxFF287n9oqkSBdBEDae/OXZ0BWA7IhjfK3LYw4q5Sti6ebmQiXyNKKRfQUGZko1BfbRAQVjfszidd5PPeJ1ggmce1wArKzA7lcfyi9yiN1d9g9bNpFcNRJmDt1k4y2XpGH/Uzwd/jBrHtdRxYzZyrIvp6IiQKOWFTHGTBvr60AzjS8k9DXknLrTCHzAuMpw+a+AiZ7z33NT8gu6d1DPGGlbCjdsKUJoCIhw==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5477.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(136003)(376002)(366004)(346002)(39850400004)(186003)(83380400001)(9686003)(8676002)(26005)(66946007)(55016002)(110136005)(2906002)(71200400001)(86362001)(316002)(33656002)(478600001)(66446008)(66556008)(76116006)(4326008)(64756008)(66476007)(53546011)(52536014)(66574015)(7696005)(44832011)(6506007)(5660300002)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata: =?utf-8?B?VU1XTlN3bjM1dU0vWUc3bDV3R1l0TWZIbmpVVEo5aTN4VkN1M1p6dzZuM0NJ?=
 =?utf-8?B?WXZOVXNaa2U5eVFQRWF1bVppQmd2RWw0blMzRm1NZHlxemExdWlzdFlWa0Qz?=
 =?utf-8?B?c21BZGtOUS9OemZQby9iWVcxenpLcXRXNkFTaFJCeSsrVWgvb0l3elplMity?=
 =?utf-8?B?Y1puUXJWRXVqTisvZUpuTjdxMmNtaUhSaXNvUi85YjhTVk54b1RqN1lmK3M1?=
 =?utf-8?B?SCt4OWVVMzRCQUpiMEtLc00vNmdTaVJTYUFnc3VsTW02ektaZFltUkJoRkpu?=
 =?utf-8?B?WlFVcDRLMkRQQzdyZ0VBaFRKempIa1VOWm9GOExQdG4wQStlVVBJT0dQSkZL?=
 =?utf-8?B?Y0VRbzViRk85dEJrM2QwdnVZRXNQRU8zZzlVemNZWHdkRVg0SWtBMDVsbm9s?=
 =?utf-8?B?ODhrTm1TMmJpOEhRcGFBZ1VDbStvSzFIdkxkQWEvWmNzYXlVSmxKSlUxR1J3?=
 =?utf-8?B?RlJEVkdnUWFpQjZSbmhaQWVsMS9vY1YyT1VhQXlJczVpdzI3WXRpT0tPRVBN?=
 =?utf-8?B?Q2FQT1dlSFl2aDlNREVxdGNRbHRnNE1GTmYrS2IzRm1zenR5R2FjMWpZcGZT?=
 =?utf-8?B?V2lTc0tBZklOaDdFQXJlbUdINHMzSnFGSVFJYk94aG1va2tOMTVOTTNVVUs0?=
 =?utf-8?B?M0VXOXlrQjB5WEFyQ3g0SXlWSEx2OHBhdUJMUlhzWkNVdDUxQ3BjRzJQS3Vi?=
 =?utf-8?B?ajFHOWEza1ZHRHk2ZFBwVnBCZSs5d0VveGZpSUN2OVg4dzBuKzBwanAwU3NP?=
 =?utf-8?B?SDRLTmV5bFVLai9MblVXaWhzenJWU2NiTWFyQjBHVWZzdlRBNzVIMHNCNmNC?=
 =?utf-8?B?MGdGb05Fa3ozY1AvRGhLbkxIa1VYN0hUeko3MHdPMmk5NWplRmtGZjZQR0NV?=
 =?utf-8?B?MEZkVkQ0eDFnUWpJWjVQc0ZacmxtZ052OW9sV1h0dmM3SEY3WUNQN2NxSTZQ?=
 =?utf-8?B?QjJxUmZFdWdUb3JvY2ZkeTYxRm5VbGFpV0VIN2ExdlV5SDhhd0xBZ0JNclBK?=
 =?utf-8?B?KzZ4WWNEcUQvWlpwZksxTVVPQmNnZHc1a3dRU2dVY2RNcWVOVTBLRlFJZDN3?=
 =?utf-8?B?ZGxad2lBTS8yUHdYV3RqMjA0d21yWDVVYjIvQ2VINUI5V2RFb3I2V1phbCtU?=
 =?utf-8?B?SlhiSnBGaXlPamxuVy9DdEJxdTBhSEZhb2dOa0tmZVF1WGk1K1QzZ1BMK2tC?=
 =?utf-8?B?K0IrRlNuL1lwdVFMdXhpK0FVV2FkR09KNG15SHY0aTRicnVrMkJ1SHBmd0g3?=
 =?utf-8?B?ZmVvV240YUx3a0plazFNdDArbEpKNFRMQUVHQ2FNQkNEY0dSZURZSS9PdUtz?=
 =?utf-8?Q?BZ0MBRko4j388=3D?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5477.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 27c6a81d-6cb3-4314-aa66-08d8b60eb8b4
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2021 08:56:01.7082
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HtwW+Lh9CXUIAOXQFHBYU4ef8ujeqUUqH4MV7BWn2Ti+HtQlQemgHNJIeeo7yDGWJ16vv55GcSTqkoKgS9ZaBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4459
X-OriginatorOrg: citrix.com

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogd2luLXB2LWRldmVsIDx3
aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZz4gT24gQmVoYWxmIE9mDQo+
IFBhdWwgRHVycmFudA0KPiBTZW50OiAxMSBKYW51YXJ5IDIwMjEgMDg6MTMNCj4gVG86ICdNYXJl
ayBNYXJjenlrb3dza2ktR8OzcmVja2knIDxtYXJtYXJla0BpbnZpc2libGV0aGluZ3NsYWIuY29t
PjsgT3dlbg0KPiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiBDYzogd2luLXB2LWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0hdIEZhaWwgWFNf
RElSRUNUT1JZIGZvciBwYXRocyB3aXRoIG5vIGNoaWxkcmVuDQo+IA0KPiBbQ0FVVElPTiAtIEVY
VEVSTkFMIEVNQUlMXSBETyBOT1QgcmVwbHksIGNsaWNrIGxpbmtzLCBvciBvcGVuIGF0dGFjaG1l
bnRzDQo+IHVubGVzcyB5b3UgaGF2ZSB2ZXJpZmllZCB0aGUgc2VuZGVyIGFuZCBrbm93IHRoZSBj
b250ZW50IGlzIHNhZmUuDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g
RnJvbTogd2luLXB2LWRldmVsIDx3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0
Lm9yZz4gT24NCj4gPiBCZWhhbGYgT2YgTWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tpDQo+ID4g
U2VudDogMTAgSmFudWFyeSAyMDIxIDEyOjM1DQo+ID4gVG86IE93ZW4gU21pdGggPG93ZW4uc21p
dGhAY2l0cml4LmNvbT4NCj4gPiBDYzogd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
DQo+ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gRmFpbCBYU19ESVJFQ1RPUlkgZm9yIHBhdGhzIHdp
dGggbm8gY2hpbGRyZW4NCj4gPg0KPiA+IE9uIFdlZCwgSmFuIDA2LCAyMDIxIGF0IDA0OjE3OjUw
UE0gKzAwMDAsIE93ZW4gU21pdGggd3JvdGU6DQo+ID4gPiBXaGVuIGEgeGVuc3RvcmUgcGF0aCBo
YXMgbm8gY2hpbGRyZW4sIGEgcmVzcG9uc2UgaXMgZ2VuZXJhdGVkIHdoaWNoDQo+ID4gPiBjb250
aWFucyBvbmx5IHRoZSBkb3VibGUgbnVsbCB0ZXJtaW5hdG9yLiBEZXRlY3QgYSAwLWxlbmd0aCBy
ZXNwb25zZQ0KPiA+ID4gcGF5bG9hZCBhbmQgcmV0dXJuIFNUQVRVU19PQkpFQ1RfUEFUSF9OT1Rf
Rk9VTkQgdG8gaW5kaWNhdGUgdGhhdA0KPiA+ID4gdGhpcyBwYXRoIGRvZXMgbm90IGhhdmUgYW55
IGNoaWxkcmVuDQo+ID4NCj4gPiBJcyBpdCByZWFsbHkgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvPyBJ
IHRoaW5rIGl0IG1heSBjb25mdXNlIGVtcHR5DQo+ID4gZGlyZWN0b3J5IHdpdGggbm9uLWV4aXN0
aW5nIGRpcmVjdG9yeS4gQnV0IEkgbWF5IGJlIG1pc3Npbmcgc29tZQ0KPiA+IGNvbnRleHQgaGVy
ZS4NCj4gDQo+IEZvciBEaXJlY3RvcnkgSSB0aGluayBFTk9FTlQgKGFrYSBTVEFUVVNfT0JKRUNU
X1BBVEhfTk9UX0ZPVU5EKSBpcyB0aGUNCj4gbW9zdCB1c2VmdWwgdGhpbmcgdG8gaGFuZCBiYWNr
IGluIGJvdGggdGhlIGVtcHR5IGFuZCBub24tZXhpc3RlbnQgY2FzZXMuIElmIGl0DQo+IGJlY29t
ZXMgbmVjZXNzYXJ5IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIHR3byB0aGVuIGEgUmVhZCBj
YW4gYmUgaXNzdWVkDQo+IHdoaWNoIHdvdWxkIHN1Y2NlZWQgaW4gdGhlIGZvcm1lciBjYXNlIGJ1
dCBmYWlsIGluIHRoZSBsYXR0ZXIuDQo+IA0KPiAgIFBhdWwNCg0KU1RBVFVTX09CSkVDVF9QQVRI
X05PVF9GT1VORCBhbmQgU1RBVFVTX09CSkVDVF9OQU1FX05PVF9GT1VORCBjb3VsZCBiZSB1c2Vk
IHRvIGRpc2FtYmlndWF0ZSBiZXR3ZWVuICJwYXRoIGRvZXNu4oCZdCBleGlzdCIgYW5kICJwYXRo
IGhhcyBubyBjaGlsZHJlbiIuDQoNCkVOT0VOVCBpcyBtYXBwZWQgdG8gU1RBVFVTX09CSkVDVF9O
QU1FX05PVF9GT1VORA0KDQpPd2VuDQoNCj4gDQo+ID4NCj4gPiAtLQ0KPiA+IEJlc3QgUmVnYXJk
cywNCj4gPiBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kNCj4gPiBJbnZpc2libGUgVGhpbmdz
IExhYg0KPiA+IEE6IEJlY2F1c2UgaXQgbWVzc2VzIHVwIHRoZSBvcmRlciBpbiB3aGljaCBwZW9w
bGUgbm9ybWFsbHkgcmVhZCB0ZXh0Lg0KPiA+IFE6IFdoeSBpcyB0b3AtcG9zdGluZyBzdWNoIGEg
YmFkIHRoaW5nPw0KPiANCg0K


From win-pv-devel-bounces@lists.xenproject.org Mon Jan 11 09:01:14 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 11 Jan 2021 09:01:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.64679.114286 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kyt4b-0008T8-Ob; Mon, 11 Jan 2021 09:01:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 64679.114286; Mon, 11 Jan 2021 09:01:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kyt4b-0008T1-KJ; Mon, 11 Jan 2021 09:01:13 +0000
Received: by outflank-mailman (input) for mailman id 64679;
 Mon, 11 Jan 2021 09:01:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O+Cs=GO=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1kyt4a-0008Sv-Bg
 for win-pv-devel@lists.xenproject.org; Mon, 11 Jan 2021 09:01:12 +0000
Received: from mail-wm1-x32b.google.com (unknown [2a00:1450:4864:20::32b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b68fe233-e926-4b07-ab81-dd4b67523ac4;
 Mon, 11 Jan 2021 09:01:11 +0000 (UTC)
Received: by mail-wm1-x32b.google.com with SMTP id r4so14245822wmh.5
 for <win-pv-devel@lists.xenproject.org>; Mon, 11 Jan 2021 01:01:11 -0800 (PST)
Received: from CBGR90WXYV0 (host86-165-42-133.range86-165.btcentralplus.com.
 [86.165.42.133])
 by smtp.gmail.com with ESMTPSA id c18sm25516652wmk.0.2021.01.11.01.01.09
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 11 Jan 2021 01:01:10 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b68fe233-e926-4b07-ab81-dd4b67523ac4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:to:cc:references:in-reply-to:subject:date:message-id
         :mime-version:content-transfer-encoding:content-language
         :thread-index;
        bh=F7kFf2uRpRQLBnkbgnDK5AkWxTKdFMMIaXFSbihJtvo=;
        b=oH5fyKtBHFWpJRc72We19AWvfqzCDYc5UYHYR66GRMTQLHDlDM8y5+/neLhMtR8/M1
         dqS4aClnUKcj/GRrJKMRLHyAyukdX1UgXIj1UrIAfV9yHuA4M409yGgHvP04ll4EV1r2
         zidfB/79YGGGdLOq8J8+Fey9ErwHkg5GI9+ME4mOdzdEy8WpHg6h/D98O/Jfq/2WpJu3
         yassVXrVMlnt/yyF4SoFZ/24e/P7tRO00Ko3soye5pwLlrOThWHOzOqXmnwfGC+2aleP
         X32qF7HGv4plDS4odgm0vErDKnMpZPuVk/jPzmjYwOWn9QvZwNzrfJL1fZk7BTqkIIpg
         pK7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:to:cc:references:in-reply-to
         :subject:date:message-id:mime-version:content-transfer-encoding
         :content-language:thread-index;
        bh=F7kFf2uRpRQLBnkbgnDK5AkWxTKdFMMIaXFSbihJtvo=;
        b=YlaHdCSwcU8jlr3U8luyYOwyJvZKmx7IQvab+ZPmpF+Jpih5Q2f5cSlLtelzqQPwnc
         XF24bvTWrvFAAPRHHtdYxnhxzz4q/H9QeLBqRRQXiJ59HvgEz3cgSCJXQlVev1xDtjcU
         YLctkSBSmU6o6khcED1D5NEBIlNGINQWHBk6ZC9zqNw6xTnKBZp1env9mnthewdxnd8K
         udXxg4i7rzNqZS4AEDyxNujYnhJdVb5LbN1atqCtHOc/g/iWH7c8MeFeP4812btsd3iX
         ZM1yZf+bziZ1e9hAvu78BIX/aw2lJwjckITUgb4LBiORklQMztSWbZ3/X39TPNxtsohQ
         jGSA==
X-Gm-Message-State: AOAM533FDVwfmNkAfRanaAUYGU4Li+W/A8UynZGpFCiba1VjJYlNBAmm
	R15TB0Mtcep5OH7yMvkuzWk=
X-Google-Smtp-Source: ABdhPJyedSkoD8S9qWXIibO4qVQh5f2vBB9k3Co+OHCUjpOgUopHWNR4vaGlA3FT1EXo+vIOGor0uQ==
X-Received: by 2002:a1c:7dd8:: with SMTP id y207mr13870089wmc.181.1610355670606;
        Mon, 11 Jan 2021 01:01:10 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: "Paul Durrant" <paul@xen.org>
Reply-To: <paul@xen.org>
To: "'Owen Smith'" <owen.smith@citrix.com>,
	=?UTF-8?Q?'Marek_Marczykowski-G=C3=B3recki'?= <marmarek@invisiblethingslab.com>
Cc: <win-pv-devel@lists.xenproject.org>
References: <20210106161750.3066078-1-owen.smith@citrix.com> <20210110123519.GA1220@mail-itl> <00a701d6e7f1$92128470$b6378d50$@xen.org> <DS7PR03MB5477C8E89B4A3893E0419591FEAB0@DS7PR03MB5477.namprd03.prod.outlook.com>
In-Reply-To: <DS7PR03MB5477C8E89B4A3893E0419591FEAB0@DS7PR03MB5477.namprd03.prod.outlook.com>
Subject: RE: [PATCH] Fail XS_DIRECTORY for paths with no children
Date: Mon, 11 Jan 2021 09:01:09 -0000
Message-ID: <00ae01d6e7f8$4e027d60$ea077820$@xen.org>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-gb
Thread-Index: AQID3PnR3H50pRreHKYy5dLoHIXlIQGnRlZfAX0V3/MDA177w6mW+CfA

> -----Original Message-----
> From: Owen Smith <owen.smith@citrix.com>
> Sent: 11 January 2021 08:56
> To: paul@xen.org; 'Marek Marczykowski-G=C3=B3recki' =
<marmarek@invisiblethingslab.com>
> Cc: win-pv-devel@lists.xenproject.org
> Subject: RE: [PATCH] Fail XS_DIRECTORY for paths with no children
>=20
>=20
>=20
> > -----Original Message-----
> > From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On =
Behalf Of
> > Paul Durrant
> > Sent: 11 January 2021 08:13
> > To: 'Marek Marczykowski-G=C3=B3recki' =
<marmarek@invisiblethingslab.com>; Owen
> > Smith <owen.smith@citrix.com>
> > Cc: win-pv-devel@lists.xenproject.org
> > Subject: RE: [PATCH] Fail XS_DIRECTORY for paths with no children
> >
> > [CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open =
attachments
> > unless you have verified the sender and know the content is safe.
> >
> > > -----Original Message-----
> > > From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On
> > > Behalf Of Marek Marczykowski-G=C3=B3recki
> > > Sent: 10 January 2021 12:35
> > > To: Owen Smith <owen.smith@citrix.com>
> > > Cc: win-pv-devel@lists.xenproject.org
> > > Subject: Re: [PATCH] Fail XS_DIRECTORY for paths with no children
> > >
> > > On Wed, Jan 06, 2021 at 04:17:50PM +0000, Owen Smith wrote:
> > > > When a xenstore path has no children, a response is generated =
which
> > > > contians only the double null terminator. Detect a 0-length =
response
> > > > payload and return STATUS_OBJECT_PATH_NOT_FOUND to indicate that
> > > > this path does not have any children
> > >
> > > Is it really the right thing to do? I think it may confuse empty
> > > directory with non-existing directory. But I may be missing some
> > > context here.
> >
> > For Directory I think ENOENT (aka STATUS_OBJECT_PATH_NOT_FOUND) is =
the
> > most useful thing to hand back in both the empty and non-existent =
cases. If it
> > becomes necessary to distinguish between the two then a Read can be =
issued
> > which would succeed in the former case but fail in the latter.
> >
> >   Paul
>=20
> STATUS_OBJECT_PATH_NOT_FOUND and STATUS_OBJECT_NAME_NOT_FOUND could be =
used to disambiguate between
> "path doesn=E2=80=99t exist" and "path has no children".
>=20
> ENOENT is mapped to STATUS_OBJECT_NAME_NOT_FOUND

Oh, I clearly misread. As you say, that in itself disambiguates. Looking =
at users of XENBUS_STORE(Directory, ...) I think the patch is ok as it =
stands anyway.

  Paul

>=20
> Owen
>=20
> >
> > >
> > > --
> > > Best Regards,
> > > Marek Marczykowski-G=C3=B3recki
> > > Invisible Things Lab
> > > A: Because it messes up the order in which people normally read =
text.
> > > Q: Why is top-posting such a bad thing?
> >




From win-pv-devel-bounces@lists.xenproject.org Tue Jan 12 16:09:57 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 12 Jan 2021 16:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.65771.116526 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kzMF0-0008Eq-GZ; Tue, 12 Jan 2021 16:09:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 65771.116526; Tue, 12 Jan 2021 16:09:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kzMF0-0008Ei-Df; Tue, 12 Jan 2021 16:09:54 +0000
Received: by outflank-mailman (input) for mailman id 65771;
 Tue, 12 Jan 2021 16:09:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ro3q=GP=gmail.com=troycrosley@srs-us1.protection.inumbo.net>)
 id 1kzMEy-0008Ec-RU
 for win-pv-devel@lists.xenproject.org; Tue, 12 Jan 2021 16:09:52 +0000
Received: from mail-ot1-x330.google.com (unknown [2607:f8b0:4864:20::330])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0866b8ba-3072-4778-b3b9-64a10d5142ec;
 Tue, 12 Jan 2021 16:09:51 +0000 (UTC)
Received: by mail-ot1-x330.google.com with SMTP id x13so2725710oto.8
 for <win-pv-devel@lists.xenproject.org>; Tue, 12 Jan 2021 08:09:51 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0866b8ba-3072-4778-b3b9-64a10d5142ec
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:from:date:message-id:subject:to;
        bh=Mj3IzfXRS8nel4RQGXrIg8nuwSIw/8XuoCgCaB/38pI=;
        b=d4DMSfBIoTnhUKevy+z48fOIqe9crSiIv/4xRRJB8oFD9TgxaTSSwLse3PIS+Ms14t
         OYWPI+1lPTJ9LTnfilAs/RbMYdMfUVQ0VH5E2F1QIHb23j+oQu7iIu3+QTrmxHYEs/1A
         OBnDVQzzlTz7UNTNblzo48cslKVKXyyKP2mevtBPtu263MxpiBWs0p9kAuyAOBw9TSYy
         bGWNhZrIiAzVlcu4fH5uCZ2PeZ8o2MKz5xANkvubHILYKOxZS6oVbjXaIN2p8IEF4CvG
         VV0ZXGh6k4kKPHOh7ad640FtshDdQvsdpxGKyxQW9Y2/PjVDvo3ixnj8/HjtaFncHrHf
         3ESQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=Mj3IzfXRS8nel4RQGXrIg8nuwSIw/8XuoCgCaB/38pI=;
        b=VOg9DADBX99DxobRyBliGj3MYMDdpBZkDX4WUjeN63++DkcUjXGhJcYHRjQwDmt0x5
         HfBJaDxjtnMjtqPbLyV8ykylMxbgTZ5sPNKZCompmZUMA5F9f9ryNTXeOPrpYoRrstBx
         wrY3xbVgj4D4TfztU3reYYdXIVX061sQBrEto/CWTj2tMUhwvse9IxTMJja87DMSuFq/
         8+96lW5ieZjMIoqWM7jRhr6KgTUoIZGHCED0FChat3S9KAprCSjljaDVZRiaRulNq0Pk
         9xcwvda18tEl4CBByl7X/TgdR5MhV4JY+6kAco9Mj0LEoKwCY+nOTDvx0Vzhofh/jiX3
         rYXQ==
X-Gm-Message-State: AOAM531t2TTIhcbHuTDFOCI6D8oXJRA1YYwB6lboqbPX3YyavB9GTT9w
	uIzJ5GM1jjiZ1BsmSqzJ3QA7i2LAwUPpAfCBgHE+oyGdspE=
X-Google-Smtp-Source: ABdhPJxx4jZifzttJfGIwJ+1E73IPb8DNUwjLNUlDF3q0Bo6uXkEXyzmodzQxPSFU6RPSGWJV8CIhn7QkNSmPIyakSw=
X-Received: by 2002:a05:6830:11c5:: with SMTP id v5mr63693otq.141.1610467791354;
 Tue, 12 Jan 2021 08:09:51 -0800 (PST)
MIME-Version: 1.0
From: Troy Crosley <troycrosley@gmail.com>
Date: Tue, 12 Jan 2021 11:09:37 -0500
Message-ID: <CAOBjErKmaN5NNCxgKaKSLTMcnLmBp6WiFMDZcH-m11tyUaA=2w@mail.gmail.com>
Subject: More driver uninstallation concerns
To: win-pv-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000a03f0005b8b64016"

--000000000000a03f0005b8b64016
Content-Type: text/plain; charset="UTF-8"

When the boot drivers (xenbus.sys, xenfilt.sys, xendisk.sys, xenvbd.sys)
are uninstalled, they continue to be loaded at the next boot due to still
having entries in HKLM\SYSTEM\CurrentControlSet\Services. However, Windows
adds a "StartOverride" registry key for boot drivers that don't acquire any
hardware to prevent them from being loaded during subsequent boots. This
happens to all the drivers except xenfilt.sys, which continues to load
during all subsequent boots after being uninstalled (and also seems to
cause xen.sys to load as well).

xenfilt.sys will no longer load if it is removed from the registry as an
upper filter for the HDC and System classes. I wasn't able to use the inf
to modify those registry entries, so my solution was to use the
coinstallers. I could submit a patch for these changes if they are desired.

Also, I noticed my previous patch for the coinstaller was accepted, but the
other coinstallers ought to have the same fix applied--I could submit those
patches as well.

--000000000000a03f0005b8b64016
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">When the boot drivers (xenbus.sys, xenfilt.sys, xendisk.sy=
s, xenvbd.sys) are uninstalled, they continue to be loaded at the next boot=
 due to still having entries in HKLM\SYSTEM\CurrentControlSet\Services. How=
ever, Windows adds a &quot;StartOverride&quot; registry key for boot driver=
s that don&#39;t acquire any hardware to prevent them from being loaded dur=
ing subsequent boots. This happens to all the drivers except xenfilt.sys, w=
hich continues to load during all subsequent boots after being uninstalled =
(and also seems to cause xen.sys to load as well).<br><br>xenfilt.sys will =
no longer load if it is removed from the registry as an upper filter for th=
e HDC and System classes. I wasn&#39;t able to use the inf to modify those =
registry entries, so my solution was to use the coinstallers. I could submi=
t a patch for these changes if they are desired.<br><br>Also, I noticed my =
previous patch for the coinstaller was accepted, but the other coinstallers=
 ought to have the same fix applied--I could submit those patches as well.<=
br></div>

--000000000000a03f0005b8b64016--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 12 16:20:30 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 12 Jan 2021 16:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.65777.116530 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kzMPG-0001P4-A9; Tue, 12 Jan 2021 16:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 65777.116530; Tue, 12 Jan 2021 16:20:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1kzMPG-0001Ox-6z; Tue, 12 Jan 2021 16:20:30 +0000
Received: by outflank-mailman (input) for mailman id 65777;
 Tue, 12 Jan 2021 16:20:28 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CJbp=GP=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1kzMPE-0001Os-7v
 for win-pv-devel@lists.xenproject.org; Tue, 12 Jan 2021 16:20:28 +0000
Received: from mail-wm1-x331.google.com (unknown [2a00:1450:4864:20::331])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f698b61d-183d-4b16-a5c1-91af53175d12;
 Tue, 12 Jan 2021 16:20:26 +0000 (UTC)
Received: by mail-wm1-x331.google.com with SMTP id e25so2677718wme.0
 for <win-pv-devel@lists.xenproject.org>; Tue, 12 Jan 2021 08:20:26 -0800 (PST)
Received: from CBGR90WXYV0 (host86-165-42-133.range86-165.btcentralplus.com.
 [86.165.42.133])
 by smtp.gmail.com with ESMTPSA id r20sm4438910wmh.15.2021.01.12.08.20.24
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 12 Jan 2021 08:20:25 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f698b61d-183d-4b16-a5c1-91af53175d12
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:to:references:in-reply-to:subject:date:message-id
         :mime-version:content-language:thread-index;
        bh=lQMiGpCIDktqP6KS/8aT8++C1ROs3MeXazU0sQTgyNk=;
        b=bp2yvnx/xBicEdyEL9EdaGGjZmISkz5tywNnK4EsMU6wRzUJ/MccKSUnP23jGBvhZ/
         JwgpUkSGzMD5nGLbJPhiekTOJRZgzGynOCOmkziZyIodOuQHscU4ZzebAbxtkydRNI7U
         pfXQQ34JF43IK2vSpM6V98xO32VNd3Hkl3ACMcoCSa8RDGP1CooRh8qpNG5LTyMZIM1F
         MdzNiyrBBS7Fstr/ZIXuj3Vwr1jAPJFgjzYNJYv3bpdRtTH15FJ9DF6pQWqJyqWmbjK1
         O6UIr4zKy8lY1yxVwK5DheL1zh9RXZ1SC/9WRIjyMhMKZB9eCQtWhanLOInnVLqRpN7v
         xzoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:to:references:in-reply-to:subject
         :date:message-id:mime-version:content-language:thread-index;
        bh=lQMiGpCIDktqP6KS/8aT8++C1ROs3MeXazU0sQTgyNk=;
        b=BH4lKFXNRsCUHGuDfqWNiKclwvNkky6+dxw0MCCfBQ8XOhTlstBJrzqZxH6XUG7Q7O
         J2QbCKCUjvubOz8PUXo+HMeFt9korAiBHRjewuFQphS3KJMFTQunqY6+swY6C6BElfdw
         XkTinykiNPohx22KNDPeIvlPYZDg8dkhtOgy8BOSs6vIhTzvIk63YzvzTBomhYR4USnG
         MnrR2JmtENgBHB1j7aoE6B/Ek8IMB8+es/Z2DzjcCHX6rniyS8OOoEnisFinoKxFMOhO
         E0CUt08ENku9sBa343aocPMmrGrH1qlEwYiBLwZhtyTHHDnPkvUq09XRGv28qHUYS5R0
         pU6A==
X-Gm-Message-State: AOAM533tH/6IGmyr4UdHPUF4sKGcPB+3K9vrCJvXruKVGNeBIMZ7sJvm
	arzOlWNkWIybSklcaILtywI=
X-Google-Smtp-Source: ABdhPJz1a4OwPPqQZ5l9x147ZxRyVy2MftC5w4Nvo3pGwEIP6hRASYGgXnEfIJxvs+Om52IU4Aryig==
X-Received: by 2002:a1c:9dd8:: with SMTP id g207mr50050wme.15.1610468425923;
        Tue, 12 Jan 2021 08:20:25 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: "Paul Durrant" <paul@xen.org>
Reply-To: <paul@xen.org>
To: "'Troy Crosley'" <troycrosley@gmail.com>,
	<win-pv-devel@lists.xenproject.org>
References: <CAOBjErKmaN5NNCxgKaKSLTMcnLmBp6WiFMDZcH-m11tyUaA=2w@mail.gmail.com>
In-Reply-To: <CAOBjErKmaN5NNCxgKaKSLTMcnLmBp6WiFMDZcH-m11tyUaA=2w@mail.gmail.com>
Subject: RE: More driver uninstallation concerns
Date: Tue, 12 Jan 2021 16:20:24 -0000
Message-ID: <004801d6e8fe$d53fbe30$7fbf3a90$@xen.org>
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0049_01D6E8FE.D5420820"
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-gb
Thread-Index: AQITtYGbF4+Fc2WGT28YuqbHitwP5amqkOIg

This is a multipart message in MIME format.

------=_NextPart_000_0049_01D6E8FE.D5420820
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

The filter manipulation was moved into xenbus to try to reduce reliance =
on co-installers so I wonder whether another option would be to have =
xenfilt remove its own upper filters keys if it discovers that xenbus is =
not installed?
=20
As far as your other patch goes=E2=80=A6 yes, please submit patches for =
the other drivers.
=20
  Cheers,
=20
    Paul=20
=20
From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On Behalf =
Of Troy Crosley
Sent: 12 January 2021 16:10
To: win-pv-devel@lists.xenproject.org
Subject: More driver uninstallation concerns
=20
When the boot drivers (xenbus.sys, xenfilt.sys, xendisk.sys, xenvbd.sys) =
are uninstalled, they continue to be loaded at the next boot due to =
still having entries in HKLM\SYSTEM\CurrentControlSet\Services. However, =
Windows adds a "StartOverride" registry key for boot drivers that don't =
acquire any hardware to prevent them from being loaded during subsequent =
boots. This happens to all the drivers except xenfilt.sys, which =
continues to load during all subsequent boots after being uninstalled =
(and also seems to cause xen.sys to load as well).

xenfilt.sys will no longer load if it is removed from the registry as an =
upper filter for the HDC and System classes. I wasn't able to use the =
inf to modify those registry entries, so my solution was to use the =
coinstallers. I could submit a patch for these changes if they are =
desired.

Also, I noticed my previous patch for the coinstaller was accepted, but =
the other coinstallers ought to have the same fix applied--I could =
submit those patches as well.

------=_NextPart_000_0049_01D6E8FE.D5420820
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta =
name=3DProgId content=3DWord.Document><meta name=3DGenerator =
content=3D"Microsoft Word 15"><meta name=3DOriginator =
content=3D"Microsoft Word 15"><link rel=3DFile-List =
href=3D"cid:filelist.xml@01D6E8FE.D4AE0580"><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:EnvelopeVis/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-GB</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:DoNotExpandShiftReturn/>
<w:BreakWrappedTables/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val=3D"Cambria Math"/>
<m:brkBin m:val=3D"before"/>
<m:brkBinSub m:val=3D"&#45;-"/>
<m:smallFrac m:val=3D"off"/>
<m:dispDef/>
<m:lMargin m:val=3D"0"/>
<m:rMargin m:val=3D"0"/>
<m:defJc m:val=3D"centerGroup"/>
<m:wrapIndent m:val=3D"1440"/>
<m:intLim m:val=3D"subSup"/>
<m:naryLim m:val=3D"undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"false" =
DefSemiHidden=3D"false" DefQFormat=3D"false" DefPriority=3D"99" =
LatentStyleCount=3D"371">
<w:LsdException Locked=3D"false" Priority=3D"0" QFormat=3D"true" =
Name=3D"Normal"/>
<w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" =
Name=3D"heading 1"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 2"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 3"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 4"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 5"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 6"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 7"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 8"/>
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 9"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 6"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 7"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 8"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index 9"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 1"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 2"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 3"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 4"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 5"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 6"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 7"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 8"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toc 9"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Normal Indent"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"footnote text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"annotation text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"header"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"footer"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"index heading"/>
<w:LsdException Locked=3D"false" Priority=3D"35" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"caption"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"table of figures"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"envelope address"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"envelope return"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"footnote reference"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"annotation reference"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"line number"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"page number"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"endnote reference"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"endnote text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"table of authorities"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"macro"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"toa heading"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Bullet"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Number"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Bullet 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Bullet 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Bullet 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Bullet 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Number 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Number 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Number 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Number 5"/>
<w:LsdException Locked=3D"false" Priority=3D"10" QFormat=3D"true" =
Name=3D"Title"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Closing"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Signature"/>
<w:LsdException Locked=3D"false" Priority=3D"1" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Default Paragraph Font"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Body Text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Body Text Indent"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Continue"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Continue 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Continue 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Continue 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"List Continue 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Message Header"/>
<w:LsdException Locked=3D"false" Priority=3D"11" QFormat=3D"true" =
Name=3D"Subtitle"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Salutation"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Date"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Body Text First Indent"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Body Text First Indent 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Note Heading"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Body Text 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Body Text 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Body Text Indent 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Body Text Indent 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Block Text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Hyperlink"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"FollowedHyperlink"/>
<w:LsdException Locked=3D"false" Priority=3D"22" QFormat=3D"true" =
Name=3D"Strong"/>
<w:LsdException Locked=3D"false" Priority=3D"20" QFormat=3D"true" =
Name=3D"Emphasis"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Document Map"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Plain Text"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"E-mail Signature"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Top of Form"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Bottom of Form"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Normal (Web)"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Acronym"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Address"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Cite"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Code"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Definition"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Keyboard"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Preformatted"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Sample"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Typewriter"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"HTML Variable"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Normal Table"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"annotation subject"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"No List"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Outline List 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Outline List 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Outline List 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Simple 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Simple 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Simple 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Classic 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Classic 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Classic 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Classic 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Colorful 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Colorful 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Colorful 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Columns 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Columns 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Columns 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Columns 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Columns 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Grid 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Grid 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Grid 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Grid 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Grid 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Grid 6"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Grid 7"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Grid 8"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table List 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table List 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table List 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table List 4"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table List 5"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table List 6"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table List 7"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table List 8"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table 3D effects 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table 3D effects 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table 3D effects 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Contemporary"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Elegant"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Professional"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Subtle 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Subtle 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Web 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Web 2"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Web 3"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Balloon Text"/>
<w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"Table Grid"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Table Theme"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Placeholder =
Text"/>
<w:LsdException Locked=3D"false" Priority=3D"1" QFormat=3D"true" =
Name=3D"No Spacing"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light =
Shading"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading =
1"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading =
2"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List =
1"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List =
2"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid =
1"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid =
2"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid =
3"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful =
List"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful =
Grid"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading =
1 Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading =
2 Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 1"/>
<w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Revision"/>
<w:LsdException Locked=3D"false" Priority=3D"34" QFormat=3D"true" =
Name=3D"List Paragraph"/>
<w:LsdException Locked=3D"false" Priority=3D"29" QFormat=3D"true" =
Name=3D"Quote"/>
<w:LsdException Locked=3D"false" Priority=3D"30" QFormat=3D"true" =
Name=3D"Intense Quote"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading =
1 Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading =
2 Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading =
1 Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading =
2 Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading =
1 Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading =
2 Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading =
1 Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading =
2 Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading =
1 Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading =
2 Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"19" QFormat=3D"true" =
Name=3D"Subtle Emphasis"/>
<w:LsdException Locked=3D"false" Priority=3D"21" QFormat=3D"true" =
Name=3D"Intense Emphasis"/>
<w:LsdException Locked=3D"false" Priority=3D"31" QFormat=3D"true" =
Name=3D"Subtle Reference"/>
<w:LsdException Locked=3D"false" Priority=3D"32" QFormat=3D"true" =
Name=3D"Intense Reference"/>
<w:LsdException Locked=3D"false" Priority=3D"33" QFormat=3D"true" =
Name=3D"Book Title"/>
<w:LsdException Locked=3D"false" Priority=3D"37" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" Name=3D"Bibliography"/>
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"TOC Heading"/>
<w:LsdException Locked=3D"false" Priority=3D"41" Name=3D"Plain Table =
1"/>
<w:LsdException Locked=3D"false" Priority=3D"42" Name=3D"Plain Table =
2"/>
<w:LsdException Locked=3D"false" Priority=3D"43" Name=3D"Plain Table =
3"/>
<w:LsdException Locked=3D"false" Priority=3D"44" Name=3D"Plain Table =
4"/>
<w:LsdException Locked=3D"false" Priority=3D"45" Name=3D"Plain Table =
5"/>
<w:LsdException Locked=3D"false" Priority=3D"40" Name=3D"Grid Table =
Light"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful Accent 1"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful Accent 2"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful Accent 3"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful Accent 4"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful Accent 5"/>
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful Accent 6"/>
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-536869121 1107305727 33554432 0 415 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-469750017 -1073732485 9 0 511 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-font-family:Calibri;}
a:link, span.MsoHyperlink
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;
	text-underline:single;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-style-unhide:no;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-font-family:Calibri;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	mso-style-noshow:yes;
	mso-style-unhide:no;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Courier New";
	mso-ascii-font-family:"Courier New";
	mso-hansi-font-family:"Courier New";
	mso-bidi-font-family:"Times New Roman";
	color:#1F497D;}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-fareast-font-family:Calibri;
	mso-hansi-font-family:Calibri;
	mso-bidi-font-family:"Times New Roman";
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;
	mso-header-margin:36.0pt;
	mso-footer-margin:36.0pt;
	mso-paper-source:0;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 10]><style>/* Style Definitions */
table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-hansi-font-family:Calibri;
	mso-bidi-font-family:"Times New Roman";
	mso-fareast-language:EN-US;}
</style><![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-GB =
link=3D"#0563C1" vlink=3D"#954F72" style=3D'tab-interval:36.0pt'><div =
class=3DWordSection1><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:"Courier =
New";mso-bidi-font-family:"Times New =
Roman";color:#1F497D;mso-fareast-language:EN-US'>The filter manipulation =
was moved into <span class=3DSpellE>xenbus</span> to try to reduce =
reliance on co-installers so I wonder whether another option would be to =
have <span class=3DSpellE>xenfilt</span> remove its own upper filters =
keys if it discovers that <span class=3DSpellE>xenbus</span> is not =
installed?<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:"Courier =
New";mso-bidi-font-family:"Times New =
Roman";color:#1F497D;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span>=
</p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:"Courier =
New";mso-bidi-font-family:"Times New =
Roman";color:#1F497D;mso-fareast-language:EN-US'>As far as your other =
patch goes=E2=80=A6 yes, please submit patches for the other =
drivers.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:"Courier =
New";mso-bidi-font-family:"Times New =
Roman";color:#1F497D;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span>=
</p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:"Courier =
New";mso-bidi-font-family:"Times New =
Roman";color:#1F497D;mso-fareast-language:EN-US'><span =
style=3D'mso-spacerun:yes'>=C2=A0 </span>Cheers,<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:"Courier =
New";mso-bidi-font-family:"Times New =
Roman";color:#1F497D;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span>=
</p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:"Courier =
New";mso-bidi-font-family:"Times New =
Roman";color:#1F497D;mso-fareast-language:EN-US'><span =
style=3D'mso-spacerun:yes'>=C2=A0=C2=A0=C2=A0 </span>Paul =
<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;mso-bidi-font-size:11.0pt;font-family:"Courier =
New";mso-bidi-font-family:"Times New =
Roman";color:#1F497D;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span>=
</p><div style=3D'border:none;border-left:solid blue 1.5pt;padding:0cm =
0cm 0cm 4.0pt'><div><div style=3D'border:none;border-top:solid #E1E1E1 =
1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span =
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-fo=
nt-family:"Times New =
Roman";mso-ansi-language:EN-US'>From:</span></b><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-fo=
nt-family:"Times New Roman";mso-ansi-language:EN-US'> win-pv-devel =
&lt;win-pv-devel-bounces@lists.xenproject.org&gt; <b>On Behalf Of =
</b>Troy Crosley<br><b>Sent:</b> 12 January 2021 16:10<br><b>To:</b> =
win-pv-devel@lists.xenproject.org<br><b>Subject:</b> More driver =
uninstallation concerns<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p class=3DMsoNormal>When =
the boot drivers (xenbus.sys, xenfilt.sys, xendisk.sys, xenvbd.sys) are =
uninstalled, they continue to be loaded at the next boot due to still =
having entries in HKLM\SYSTEM\CurrentControlSet\Services. However, =
Windows adds a &quot;StartOverride&quot; registry key for boot drivers =
that don't acquire any hardware to prevent them from being loaded during =
subsequent boots. This happens to all the drivers except xenfilt.sys, =
which continues to load during all subsequent boots after being =
uninstalled (and also seems to cause xen.sys to load as =
well).<br><br>xenfilt.sys will no longer load if it is removed from the =
registry as an upper filter for the HDC and System classes. I wasn't =
able to use the inf to modify those registry entries, so my solution was =
to use the coinstallers. I could submit a patch for these changes if =
they are desired.<br><br>Also, I noticed my previous patch for the =
coinstaller was accepted, but the other coinstallers ought to have the =
same fix applied--I could submit those patches as =
well.<o:p></o:p></p></div></div></div></body></html>
------=_NextPart_000_0049_01D6E8FE.D5420820--



From win-pv-devel-bounces@lists.xenproject.org Thu Jan 28 11:51:44 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 28 Jan 2021 11:51:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.76962.139153 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1l55pt-0005iH-VH; Thu, 28 Jan 2021 11:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 76962.139153; Thu, 28 Jan 2021 11:51:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1l55pt-0005iD-SL; Thu, 28 Jan 2021 11:51:41 +0000
Received: by outflank-mailman (input) for mailman id 76962;
 Thu, 28 Jan 2021 11:51:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Kq6l=G7=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1l55ps-0005i8-HY
 for win-pv-devel@lists.xenproject.org; Thu, 28 Jan 2021 11:51:40 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3d9a22bf-12f8-46ba-8dc1-fc4ed81ecac8;
 Thu, 28 Jan 2021 11:51:39 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d9a22bf-12f8-46ba-8dc1-fc4ed81ecac8
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1611834699;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=efksXXJsPtW1pobqArbGic+jlwcaqcdsiMu1zYZql6c=;
  b=XOaO7xZko0MXzxba+hNFVQhl6hUmfhSmJvsti+zqsysFqIl6AGaSKSmX
   EaNZevzKw6Iz4hKmd4Oh6rx7rlv7tmQ0KKfVYKcK4E7UJTxZFrnx3FLIx
   XEaDAEXVIJt8a2/2Zunx60Ubxqio0Jk87Wjm2ENktnsZCoNpGChlIeaQz
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: yN7enZaJx5VkjW1m155v8/L9C96VNLUZTujWyQOHK6KYlhhB9wQ9S0m/Z3/7iDS2tGquYUbL2g
 2f5DmktWyWVeHBIsNW//nOqrGuaxUcRyFhKTqUid+x2KkCO0Ktmrr0fL6RqzhZM/ihp0o74P47
 mxN1DUXAOyeH/SgdEtVoehoP0NL9jGiM5mGwCEZvMKyNnK/hpXpZRNfQHg2FtiCdwGvXfvZIBV
 k8lE65Rj48rTiAZLcHUIPKMjaUoOm//uYtucGnEmtPplTUfk+UagvekFfaYrK4+n2WtSHtxPTf
 LPo=
X-SBRS: 5.1
X-MesageID: 37368391
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.79,382,1602561600"; 
   d="scan'208";a="37368391"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Add AutoRebootTimeout configuration
Date: Thu, 28 Jan 2021 11:51:20 +0000
Message-ID: <20210128115120.3006666-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.27.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Add registry value AutoRebootTimeout, which if set, is used as the
Timeout value passed to InitiateSystemShutdownEx. If not set, use the
default value of 60 seconds.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/monitor/monitor.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index 7d8689f..9adfb79 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -463,6 +463,7 @@ TryAutoReboot(
     DWORD               AutoReboot;
     DWORD               RebootCount;
     DWORD               Length;
+    DWORD               Timeout;
     PTCHAR              DisplayName;
     PTCHAR              Description;
     PTCHAR              Text;
@@ -516,6 +517,16 @@ TryAutoReboot(
 
     Context->RebootPending = TRUE;
 
+    Error = RegQueryValueEx(Context->ParametersKey,
+                            "AutoRebootTimeout",
+                            NULL,
+                            &Type,
+                            (LPBYTE)&Timeout,
+                            &Length);
+    if (Error != ERROR_SUCCESS ||
+        Type != REG_DWORD)
+        Timeout = 60;
+
     DisplayName = GetDisplayName(DriverName);
     if (DisplayName == NULL)
         goto fail1;
@@ -544,7 +555,7 @@ TryAutoReboot(
 
     free(DisplayName);
 
-    DoReboot(Text, 60);
+    DoReboot(Text, Timeout);
 
     free(Text);
 
-- 
2.28.0.windows.1



From win-pv-devel-bounces@lists.xenproject.org Sat Jan 30 12:13:44 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 30 Jan 2021 12:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.78841.143556 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1l5p8I-0003VR-Cr; Sat, 30 Jan 2021 12:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 78841.143556; Sat, 30 Jan 2021 12:13:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1l5p8I-0003VJ-9i; Sat, 30 Jan 2021 12:13:42 +0000
Received: by outflank-mailman (input) for mailman id 78841;
 Sat, 30 Jan 2021 12:13:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fcx1=HB=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1l5p8H-0003VE-DA
 for win-pv-devel@lists.xenproject.org; Sat, 30 Jan 2021 12:13:41 +0000
Received: from mail-wr1-x42c.google.com (unknown [2a00:1450:4864:20::42c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7860013f-541c-49f3-a4ed-54a2bbd1c97e;
 Sat, 30 Jan 2021 12:13:40 +0000 (UTC)
Received: by mail-wr1-x42c.google.com with SMTP id z6so11443169wrq.10
 for <win-pv-devel@lists.xenproject.org>; Sat, 30 Jan 2021 04:13:40 -0800 (PST)
Received: from CBGR90WXYV0 (host86-190-149-163.range86-190.btcentralplus.com.
 [86.190.149.163])
 by smtp.gmail.com with ESMTPSA id k4sm18445075wrm.53.2021.01.30.04.13.38
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Sat, 30 Jan 2021 04:13:39 -0800 (PST)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7860013f-541c-49f3-a4ed-54a2bbd1c97e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:to:references:in-reply-to:subject:date:message-id
         :mime-version:content-transfer-encoding:thread-index
         :content-language;
        bh=me6dVXu0QhPjXYmr5d0+ktF8CfqcvhwaS9Vr4WqALnI=;
        b=QuH5IlZC0CdI8EEGKrN7wvaS3NShI1HUqgzakOMhGq322g+JSVYQ86cBk9E0E378VZ
         bYcM741vQDr/NBxNoXRJTDjA3uqA8zXxYCmnFverFV1PBO4k1Nse6COdQwjCM7jIym10
         3S9fqz544OQkC/vPUvefNtB7rSr5I8sYTqnFcGt5vLAAMkEhNRc88e6JSVGzihwruj9n
         Tqiqtbi85hEcMSyaH1B3tDxQhaj58VEVfFEb5mLAnmTFYSA2dp7HwMt9eiVBMeH9fHJs
         LYHvPHJKCWZR0HO4o9i8hXXWzq7B04WWtlOGwFe3HQq7wV5m/vNnRTVBrK45Npob60Tk
         9uSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:to:references:in-reply-to:subject
         :date:message-id:mime-version:content-transfer-encoding:thread-index
         :content-language;
        bh=me6dVXu0QhPjXYmr5d0+ktF8CfqcvhwaS9Vr4WqALnI=;
        b=ozJO3F+JIpB/CcoKEzgfE2moV2jwdaAooh/1WPPeNBvPiNKa4P+TeG6DI67gaI9eim
         PDvPIr6w6sWs3Cky+t7DZ5fxX6cFzlwj0aLYIc52mSiDPZliVbvYA9DWLXWfXDlsdSV+
         Fl2lkCMKcOPOeP8tjKymKKI5iaT/BjP/XjRC7mdcSkYeK98iHg4Xvi+ta+BtxnsF0C91
         oCs2UkpOwSVTlymlIpfl9sUE7FaRlH9qfzUedKe5kMjBTw/jp+BJAdeUqhOm9F91nuLU
         zXgq5v/7r9LO36PHhqNo3OIIWLsixSQ/m1PpqdNbtnxGV2qneEgtXJcVL6sr5tGzhRrq
         eusQ==
X-Gm-Message-State: AOAM531jCk70vSnR/kpJ9nT6ZiD14nelD1VmfE81EUsBfiHUB30YlPC+
	jiWvr08NQS5lEzzyNRgMJkA=
X-Google-Smtp-Source: ABdhPJzGagbBpyPVBK1Ja5Y3NFeIZt7MMkFpcdd7RkALtmi4pCvS9UFbuAotI3AXR9egdHcH1mPJmw==
X-Received: by 2002:adf:c642:: with SMTP id u2mr9351509wrg.243.1612008819622;
        Sat, 30 Jan 2021 04:13:39 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: "Paul Durrant" <paul@xen.org>
Reply-To: <paul@xen.org>
To: "'Owen Smith'" <owen.smith@citrix.com>,
	<win-pv-devel@lists.xenproject.org>
References: <20210128115120.3006666-1-owen.smith@citrix.com>
In-Reply-To: <20210128115120.3006666-1-owen.smith@citrix.com>
Subject: RE: [PATCH] Add AutoRebootTimeout configuration
Date: Sat, 30 Jan 2021 12:13:38 -0000
Message-ID: <033101d6f701$58066390$08132ab0$@xen.org>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQD3Xmd8KGAfyweDQtGYtgEOlokrfqv/RcOQ
Content-Language: en-gb

> -----Original Message-----
> From: win-pv-devel <win-pv-devel-bounces@lists.xenproject.org> On Behalf Of Owen Smith
> Sent: 28 January 2021 11:51
> To: win-pv-devel@lists.xenproject.org
> Cc: Owen Smith <owen.smith@citrix.com>
> Subject: [PATCH] Add AutoRebootTimeout configuration
> 
> Add registry value AutoRebootTimeout, which if set, is used as the
> Timeout value passed to InitiateSystemShutdownEx. If not set, use the
> default value of 60 seconds.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Reviewed-by: Paul Durrant <paul@xen.org>

> ---
>  src/monitor/monitor.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
> index 7d8689f..9adfb79 100644
> --- a/src/monitor/monitor.c
> +++ b/src/monitor/monitor.c
> @@ -463,6 +463,7 @@ TryAutoReboot(
>      DWORD               AutoReboot;
>      DWORD               RebootCount;
>      DWORD               Length;
> +    DWORD               Timeout;
>      PTCHAR              DisplayName;
>      PTCHAR              Description;
>      PTCHAR              Text;
> @@ -516,6 +517,16 @@ TryAutoReboot(
> 
>      Context->RebootPending = TRUE;
> 
> +    Error = RegQueryValueEx(Context->ParametersKey,
> +                            "AutoRebootTimeout",
> +                            NULL,
> +                            &Type,
> +                            (LPBYTE)&Timeout,
> +                            &Length);
> +    if (Error != ERROR_SUCCESS ||
> +        Type != REG_DWORD)
> +        Timeout = 60;
> +
>      DisplayName = GetDisplayName(DriverName);
>      if (DisplayName == NULL)
>          goto fail1;
> @@ -544,7 +555,7 @@ TryAutoReboot(
> 
>      free(DisplayName);
> 
> -    DoReboot(Text, 60);
> +    DoReboot(Text, Timeout);
> 
>      free(Text);
> 
> --
> 2.28.0.windows.1
> 




From win-pv-devel-bounces@lists.xenproject.org Sat Jan 30 13:22:02 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 30 Jan 2021 13:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.78862.143578 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1l5qCO-000245-PM; Sat, 30 Jan 2021 13:22:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 78862.143578; Sat, 30 Jan 2021 13:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1l5qCO-00023x-M2; Sat, 30 Jan 2021 13:22:00 +0000
Received: by outflank-mailman (input) for mailman id 78862;
 Sat, 30 Jan 2021 13:21:59 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul.durrant@xenproject.org>) id 1l5qCN-00023s-Cz
 for win-pv-devel@lists.xenproject.org; Sat, 30 Jan 2021 13:21:59 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
Date: Sat, 30 Jan 2021 13:21:58 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <2704415.1.1612012919820.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
Subject: XENBUS-master - Build #214 - Successful
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_0_26572310.1612012918913"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS


------=_Part_0_26572310.1612012918913
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #214.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/214/console to view the results.
------=_Part_0_26572310.1612012918913--


