[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/18] xenvbd: Update annotations to SAL 2.0


  • To: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Owen Smith <owen.smith@xxxxxxxxxx>
  • Date: Mon, 19 Oct 2026 07:45:55 +0000
  • Accept-language: en-GB, en-US
  • 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
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=o4iedRjWHEKq0BilNA4vk7N94wIpfhxVbpPI9732K7Q=; b=ZfrrJjcMuX6AsgATRkqxhH1bHGogPKOsHtTPccA1KgLSJdHeyvTQuaczpksBA9Zqam/g6HOfqIjM66hwbphZaO9cJkvl0xW36fnCMwkLSgQa3Kcq8SuXni5KLILfOMYbUPhAf2bZQBhuz7dlNlk7+HgjShT0WMrOeWCfuP4zV9eKpDYv/NzlZ1w39CE79xFWhcOzLw81MvBA0Do/dgwgYd54ArUHsKr3YXui6b6Z9QKSDFFLZh2MrKKIRmmgOBZ4Lokkf3ORRdotuQy/QZcKzMF4DdWpWzRhYwYe2zUYgGfq3l6BJf8hdcgGRfpJJ2OJ6Yg6BmEwdZtjAq0GIkJx0Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dpVPsS9DC4PM02rJRXEjq59p/QM3C1aMc4UyaTGwuDa+j1OUwqicCMfLm1bPPsFTqvOTzOym2q37rRCuhKw+BVxOh71hdbkMVdZGPdpA4w+lyL3pTJiuBV4Y5hoKg3J/jcDMLC7U+1jJ6W+oYhVap+iwoJSOCEGPtMOeUUOGgQD6K7lSPLjZg5UMw7ZWceAvAL9m8BFmo87grdxGgIzHDaOYWJ0zNBP8T1fNtDb6jo7zBLBex3zuqhmKiXUGEG74foDKxUYTwQIYf6vxjzf4EGwCvy9Y3lG3b+Kl0cPuqzfwM56RNTjrNvdxgGEf6pCMLPnEovm/L2GQ5lSNdfyAXQ==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
  • Authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Delivery-date: Mon, 19 Oct 2026 07:46:06 +0000
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
  • Msip_labels:
  • Thread-index: AQHdXXG7QxjdUcXWaUmbu4c7EPTy5rcEf69Z
  • Thread-topic: [PATCH 00/18] xenvbd: Update annotations to SAL 2.0

This series looks good.
I fixed 1 small whitespace issue (space at end-of-line)

Updating the emulated interface header, updated the 
XENFILT_EMULATED_INTERFACE_VERSION_MAX
value, so the inf file needs to be updated to the later revision. If the inf is 
not updated,
then its possible to load xenvbd on an older xenbus that does not expose 
emulated v3,
which is non-fatal, but xenvbd will never be able to set the unplug request, 
leading
to always using emulated disks on the first few disks.
I will prepare a patch to update the inf file.

Reviewed-by: Owen Smith <owen.smith@xxxxxxxxxx>

Owen

________________________________________
From: win-pv-devel <win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx> on behalf of 
Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
Sent: 16 October 2026 2:24 PM
To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Cc: Césaire Mounah
Subject: [PATCH 00/18] xenvbd: Update annotations to SAL 2.0

This patch series updates the xenvbd and xencrsh drivers to use SAL 2.0
annotations and fixes the issues found after code analysis.

It is organized into three parts: updating annotations to SAL 2.0,
fixing annotation issues, and fixes after code analysis.

Part 1: Update annotations to SAL 2.0
* Update common files with xenbus
* Sync shared headers with xenbus
* xenvbd: convert old annotations to SAL 2.0
* Update string typedefs

Part 2: Fix annotation issues
* fix missing annotations
* Fix direction annotations on written parameters
* Add size annotations to buffer parameters
* Annotate logging format strings
* Return StoreDirectory results as PZZSTR
* Annotate conditional output parameters with _Success_
* Fix annotations in macros
* Fix inconsistent annotations
* xenvbd: Fix the Interface annotation of __AdapterQueryInterface
* xenvbd: Accept NULL in RegistryOpenKey, RegistryCreateKey and
    __RingFree
* xencrsh: Annotate __Decode as _Success_

Part 3: Fixes after code analysis
* xenvbd: Fix out-of-bounds read on empty StoreDirectory results
* xencrsh: Suppress a C6385 false positive in __DumpBytes
* xenvbd:registry: sync with xenbus

Césaire Mounah (18):
  Update common files with xenbus
  Sync shared headers with xenbus
  xenvbd: convert old annotations to SAL 2.0
  Update string typedefs
  fix missing annotations
  Fix direction annotations on written parameters
  Add size annotations to buffer parameters
  Annotate logging format strings
  Return StoreDirectory results as PZZSTR
  xenvbd: Fix out-of-bounds read on empty StoreDirectory results
  Annotate conditional output parameters with _Success_
  Fix annotations in macros
  Fix inconsistent annotations
  xenvbd: Fix the Interface annotation of __AdapterQueryInterface
  xenvbd: Accept NULL in RegistryOpenKey, RegistryCreateKey and
    __RingFree
  xencrsh: Annotate __Decode as _Success_
  xencrsh: Suppress a C6385 false positive in __DumpBytes
  xenvbd:registry: sync with xenbus

 include/cache_interface.h    | 130 +++++-----
 include/debug_interface.h    |  88 +++----
 include/emulated_interface.h | 137 ++++++----
 include/evtchn_interface.h   | 136 +++++-----
 include/gnttab_interface.h   | 148 +++++------
 include/names.h              |  32 +--
 include/store_interface.h    | 156 +++++------
 include/suspend_interface.h  |  80 +++---
 include/unplug_interface.h   |  20 +-
 include/xencrsh_interface.h  |   2 +-
 src/common/util.h            |  87 ++++---
 src/xencrsh/assert.h         | 158 ++++++++----
 src/xencrsh/austere.c        |  44 ++--
 src/xencrsh/austere.h        |   8 +-
 src/xencrsh/buffer.c         |  23 +-
 src/xencrsh/buffer.h         |  19 +-
 src/xencrsh/driver.c         |  73 +++---
 src/xencrsh/driver.h         |   6 +-
 src/xencrsh/evtchn.c         |  24 +-
 src/xencrsh/evtchn.h         |  20 +-
 src/xencrsh/fdo.c            |  70 ++---
 src/xencrsh/fdo.h            |  28 +-
 src/xencrsh/frontend.c       | 176 ++++++-------
 src/xencrsh/frontend.h       |  30 +--
 src/xencrsh/gnttab.c         |  22 +-
 src/xencrsh/gnttab.h         |  14 +-
 src/xencrsh/hvm.c            |  36 +--
 src/xencrsh/hvm.h            |  18 +-
 src/xencrsh/hypercall_stub.c |  12 +-
 src/xencrsh/log.c            |  42 +--
 src/xencrsh/log.h            |   6 +-
 src/xencrsh/pdo.c            | 223 ++++++++--------
 src/xencrsh/pdo.h            |  42 +--
 src/xencrsh/pdoinquiry.c     | 132 +++++-----
 src/xencrsh/pdoinquiry.h     |  10 +-
 src/xencrsh/queue.c          |  40 +--
 src/xencrsh/queue.h          |  20 +-
 src/xencrsh/srbext.h         |   2 +-
 src/xencrsh/store.c          | 178 ++++++-------
 src/xencrsh/store.h          |  44 ++--
 src/xenvbd/adapter.c         | 357 ++++++++++++-------------
 src/xenvbd/adapter.h         |  54 ++--
 src/xenvbd/assert.h          | 165 +++++-------
 src/xenvbd/base64.c          |  33 +--
 src/xenvbd/base64.h          |   8 +-
 src/xenvbd/debug.h           |   8 +-
 src/xenvbd/driver.c          |  44 ++--
 src/xenvbd/driver.h          |  20 +-
 src/xenvbd/frontend.c        | 272 +++++++++----------
 src/xenvbd/frontend.h        |  50 ++--
 src/xenvbd/granter.c         |  58 ++---
 src/xenvbd/granter.h         |  34 +--
 src/xenvbd/registry.c        | 487 +++++++++++++++++++----------------
 src/xenvbd/registry.h        | 225 ++++++++--------
 src/xenvbd/ring.c            | 416 +++++++++++++++---------------
 src/xenvbd/ring.h            |  28 +-
 src/xenvbd/target.c          | 334 ++++++++++++------------
 src/xenvbd/target.h          |  60 +++--
 src/xenvbd/thread.c          |  46 ++--
 src/xenvbd/thread.h          |  30 +--
 60 files changed, 2692 insertions(+), 2573 deletions(-)

--
2.55.0.windows.5



--
Césaire Mounah | Vates Windows Guest Tools Engineer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.