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

Re: [PATCH] Add UseConsole parameter to disable default console


  • To: Owen Smith <owen.smith@xxxxxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
  • Date: Mon, 26 Oct 2026 11:55:34 +0100
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
  • Delivery-date: Mon, 26 Oct 2026 10:55:42 +0000
  • Feedback-id: default:8631fc262581453bbf619ec5b2062170:Sweego
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

On 26/10/2026 11:43, Owen Smith wrote:
> 
>> On 26/10/2026 11:15, Owen Smith wrote:
>>> By setting "UseConsole" = 1, the default console (and CONSOLE) interface 
>>> will fail.
>>> The default console's PDO will still be created, but any attempt to call 
>>> CreateFile will
>>> fail, so I'd assume any alternate use would need to manage the default 
>>> console ring
>>> itself. Non-default console's PDOs are unaffected.
>>>
>>
>> My idea is to totally prevent xenbus and others from touching the
>> default console ring and leave the console ring's usage to some other
>> applications. That seemed simpler than swallowing read/write requests at
>> first glance.
>>
>>   From my testing, it looks like I can still open handles to the default
>> console PDO XENCONS\VEN_XN&DEV_CONSOLE\0 (e.g. Get-NtFile -Access
>> ReadData,WriteData,Synchronize -ShareMode Delete \Device\...). Although
>> I haven't tested this point further.
>>
> 
> PdoDispatchCreate calls the console's ABI Open, which does not directly call
> the CONSOLE(Acquire) interface, so the PDO can be opened (I missed this)
> The default console's StreamWorker thread will attempt to acquire the console
> interface and fail, skipping any attempt to drive the default console ring.
> StreamPutQueue will allow IRPs to be queued, but nothing will pop them until
> they are cancelled.
> 

I can error handling for StreamWorker to simply error out during 
read/writes. What do you think?

> Owen
> 



--
Ngoc Tu Dinh | Vates XCP-ng Developer

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®.