xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 3/6] vpci: crash domain if we wasn't able to (un) map vPCI regions
Date: Thu, 16 Mar 2023 17:32:27 +0100	[thread overview]
Message-ID: <ZBNEm9HIAlJHzDkN@Air-de-Roger> (raw)
In-Reply-To: <20230314205612.3703668-4-volodymyr_babchuk@epam.com>

On Tue, Mar 14, 2023 at 08:56:30PM +0000, Volodymyr Babchuk wrote:
> In that unlikely case, when map_range() fails to do it's job,
> domain memory mapping will be left in inconsistent state. As there is
> no easy way to remove stale p2m mapping we need to crash domain, as
> FIXME suggests.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> 
> v3:
>  - new patch
> ---
>  xen/drivers/vpci/header.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index ec2e978a4e..8319fe4c1d 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -162,14 +162,11 @@ bool vpci_process_pending(struct vcpu *v)
>          rangeset_destroy(v->vpci.mem);
>          v->vpci.mem = NULL;
>          if ( rc )
> -            /*
> -             * FIXME: in case of failure remove the device from the domain.
> -             * Note that there might still be leftover mappings. While this is
> -             * safe for Dom0, for DomUs the domain will likely need to be
> -             * killed in order to avoid leaking stale p2m mappings on
> -             * failure.
> -             */
> +        {
>              vpci_remove_device(v->vpci.pdev);
> +            if ( !is_hardware_domain(v->domain) )
> +                domain_crash(v->domain);

No need to remove the device if you are crashing the domain, so the
vpci_remove_device() call can be placed in the else branch of the
conditional.

Thanks, Roger.


  reply	other threads:[~2023-03-16 16:32 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-14 20:56 [PATCH v3 0/6] vpci: first series in preparation for vpci on ARM Volodymyr Babchuk
2023-03-14 20:56 ` [PATCH v3 1/6] xen: add reference counter support Volodymyr Babchuk
2023-03-16 13:54   ` Roger Pau Monné
2023-03-16 14:03     ` Jan Beulich
2023-03-16 16:21       ` Roger Pau Monné
2023-04-11 22:27     ` Volodymyr Babchuk
2023-04-12 10:12       ` Roger Pau Monné
2023-03-16 16:19   ` Roger Pau Monné
2023-03-16 16:32     ` Jan Beulich
2023-03-16 16:39       ` Roger Pau Monné
2023-03-16 16:43         ` Jan Beulich
2023-03-16 16:48           ` Roger Pau Monné
2023-03-16 16:56             ` Jan Beulich
2023-03-17 10:05               ` Roger Pau Monné
2023-03-17 14:46                 ` Jan Beulich
2023-03-16 17:01   ` Jan Beulich
2023-04-11 22:38     ` Volodymyr Babchuk
2023-04-17  6:47       ` Jan Beulich
2023-03-14 20:56 ` [PATCH v3 2/6] xen: pci: introduce reference counting for pdev Volodymyr Babchuk
2023-03-16 16:16   ` Roger Pau Monné
2023-03-29  9:55     ` Jan Beulich
2023-03-29 10:48       ` Roger Pau Monné
2023-03-29 11:58         ` Jan Beulich
2023-04-11 23:41     ` Volodymyr Babchuk
2023-04-12  9:13       ` Roger Pau Monné
2023-04-12 21:54         ` Volodymyr Babchuk
2023-04-13 15:00           ` Roger Pau Monné
2023-04-14  1:30             ` Volodymyr Babchuk
2023-04-17 10:17               ` Roger Pau Monné
2023-04-17 10:34                 ` Jan Beulich
2023-04-17 10:51                   ` Roger Pau Monné
2023-04-17 11:02                     ` Jan Beulich
2023-04-21 11:00                     ` Volodymyr Babchuk
2023-04-21 12:24                       ` Jan Beulich
2023-04-21 13:02                         ` Volodymyr Babchuk
2023-04-21 13:10                       ` Roger Pau Monné
2023-04-21 14:13                         ` Volodymyr Babchuk
2023-04-24  7:46                           ` Jan Beulich
2023-04-24 14:15                             ` Volodymyr Babchuk
2023-04-24 14:27                               ` Jan Beulich
2023-03-29 10:04   ` Jan Beulich
2023-03-14 20:56 ` [PATCH v3 3/6] vpci: crash domain if we wasn't able to (un) map vPCI regions Volodymyr Babchuk
2023-03-16 16:32   ` Roger Pau Monné [this message]
2023-03-14 20:56 ` [PATCH v3 6/6] xen: pci: print reference counter when dumping pci_devs Volodymyr Babchuk
2023-03-17  8:46   ` Roger Pau Monné
2023-03-14 20:56 ` [PATCH v3 5/6] vpci: use reference counter to protect vpci state Volodymyr Babchuk
2023-03-17  8:43   ` Roger Pau Monné
2023-03-29  9:31     ` Jan Beulich
2023-03-14 20:56 ` [PATCH v3 4/6] vpci: restrict unhandled read/write operations for guests Volodymyr Babchuk
2023-03-17  8:37   ` Roger Pau Monné

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZBNEm9HIAlJHzDkN@Air-de-Roger \
    --to=roger.pau@citrix.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).