[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH] Fix failure cleanup in EvtchnFifoAcquire
- To: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
- From: "Durrant, Paul" <pdurrant@xxxxxxxxxxxx>
- Date: Fri, 18 Jul 2025 07:48:42 +0000
- Accept-language: en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amazon.co.uk; dmarc=pass action=none header.from=amazon.co.uk; dkim=pass header.d=amazon.co.uk; 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=9Nj62XALzV98dROaX1wYmooXs+jMUhH2vzb1m5GB1/8=; b=n/8ADa0vBK8S8LIrxcsudNhULtxJ6rWFQkBHfeTHVPd4cDoiV/Hiza+YxFuFIpu3aaUP3h8rYrSd2Tj4TuMGYVot4/QBWSgXFpbuYwdoqI3st4I+aRdKFDDjmRKrC579LZLwy0GcP3XXZCVwBQnQ+9t1GdFNa0Y7MEsRWoWVHlLmn21b3NKG+08wM4J0MjWI9jijMbzqp8A2rBz8SLLvfFSlAfXb2rgxPwLB8s62wD8ZguW8LasocfLk/tItTAilnBY/Aq6J/PLo8PU2vjU3C6hxqfvsDluTCStTeOZKUsSexnULJuhAW9WRh6XoqKz16us8tXDpPC6dgqntmjgUCA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wC7sVUkoYRP9xEncAOB3fBeP8C5Qi9CTYWuGKxpPGW3exu4A6uZB62FlG6/tu89q1Z1oz2jFwVlTPgLYP1KGaM7VFaUoFzcv0ZTWxldLFDJabHQRXcRC79KBS1OWtrR9YwQ3AckDoUYDFnP8oMhKuuwVbv0/SPd8dfgrgA4kY8wlqLtkLFVhhwzfqriPVN94JsIWt1qZVvnK/iXhfGxMhNXiaolFAdKbty8eoN8/YCFwGFFCXDXP5GIG4mxl4ncVoiOxwdc9HPibwuOefWeQlcWZIodnnZSJLoLxRrnvju2qyK30NwQfh3dfgnAfoDu7EkLrSPKg84PypuGyR0UlFA==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amazon.co.uk;
- Cc: Owen Smith <owen.smith@xxxxxxxxx>
- Delivery-date: Fri, 18 Jul 2025 07:48:57 +0000
- List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
- Thread-index: AQHb94C0z/qpxQRpNEOFwkCMZij8nrQ3gWNw
- Thread-topic: [PATCH] Fix failure cleanup in EvtchnFifoAcquire
> -----Original Message-----
> From: win-pv-devel <win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx> On Behalf
> Of Tu Dinh
> Sent: Friday, July 18, 2025 2:08 AM
> To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> Cc: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>; Owen Smith <owen.smith@xxxxxxxxx>
> Subject: [EXTERNAL] [PATCH] Fix failure cleanup in EvtchnFifoAcquire
>
> CAUTION: This email originated from outside of the organization. Do not
> click links or open attachments unless you can confirm the sender and know
> the content is safe.
>
>
>
> The current index is incremented before checking for failure:
>
I think that is by design.
> while (Index < ProcessorCount) {
> Index++;
> [...]
> if (!NT_SUCCESS(status))
> goto fail1;
> Context->ControlBlockMdl[vcpu_id] = Mdl;
> }
>
> Decrement the index before going into the cleanup loop to avoid calling
> __FreePage on invalid PMDLs.
>
> Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
> ---
> src/xenbus/evtchn_fifo.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/src/xenbus/evtchn_fifo.c b/src/xenbus/evtchn_fifo.c
> index 1137dea..ed78815 100644
> --- a/src/xenbus/evtchn_fifo.c
> +++ b/src/xenbus/evtchn_fifo.c
> @@ -561,6 +561,7 @@ fail1:
>
> EvtchnReset();
>
> + Index--;
I think this is wrong because...
> while (--Index >= 0) {
... there is a pre-decrement here before the value of Index is used below.
Paul
> unsigned int vcpu_id;
>
> --
> 2.50.1.windows.1
>
>
>
> Ngoc Tu Dinh | Vates XCP-ng Developer
>
> XCP-ng & Xen Orchestra - Vates solutions
>
> web: https://vates.tech
>
|