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

Re: [PATCH 1/2] Revert 4e080f819b55 "Skip hash update if front...



On 21/10/2025 14:52, Owen Smith wrote:
> There probably needs to be a check that the controller ring is connected 
> properly, which is when ControllerEnable is called after ControllerStoreWrite.
> Currently, ControllerPutRequest checks for Controller->Connected - but this 
> is set before ControllerStoreWrite, so its not guaranteed that the ring is 
> connected (its a pretty tight race though)
> 
> As a revert patch - this is good, there probably should be another patch to 
> add this check
> 
> Owen

I can add a check for a new flag Controller->Enabled in 
ControllerPutRequest. But any consumer of the controller must be 
prepared for controller requests to fail, since during unplugs, there's 
no guarantee that the backend would still be present to respond to 
requests. I tried to work around this with the ControllerGetResponse 
retry limit, but maybe there's a better way to fix the issue.

> 
> ________________________________________
> From: win-pv-devel <win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx> on behalf of 
> Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
> Sent: 16 October 2025 11:16 AM
> To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> Cc: Tu Dinh
> Subject: [PATCH 1/2] Revert 4e080f819b55 "Skip hash update if front...
> 
> ...end is not enabled"
> 
> NDIS queries the supported hash types before the frontend is enabled.
> Controller requests are not dependent on the frontend being enabled to
> begin with.
> 
> Allow such requests to go through.
> ---
>   src/xenvif/frontend.c | 3 ---
>   1 file changed, 3 deletions(-)
> 
> diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c
> index f844a42..5311dea 100644
> --- a/src/xenvif/frontend.c
> +++ b/src/xenvif/frontend.c
> @@ -1910,9 +1910,6 @@ __FrontendUpdateHash(
>       ULONG                   Flags;
>       NTSTATUS                status;
> 
> -    if (Frontend->State != FRONTEND_ENABLED)
> -        goto done;
> -
>       Controller = __FrontendGetController(Frontend);
> 
>       switch (Hash->Algorithm) {
> --
> 2.51.0.windows.2
> 
> 
> 
> --
> Ngoc Tu Dinh | Vates XCP-ng Developer
> 
> XCP-ng & Xen Orchestra - Vates solutions
> 
> web: https://vates.tech
> 
> 
> 



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