From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Tim Deegan <tim@xen.org>
Subject: Re: [PATCH] x86/shadow: Delete the none.c dummy file
Date: Mon, 9 Feb 2026 15:42:43 +0100 [thread overview]
Message-ID: <aYnyY2MArv4vTXsY@Mac.lan> (raw)
In-Reply-To: <20260209104104.7840-1-alejandro.garciavallejo@amd.com>
On Mon, Feb 09, 2026 at 11:41:02AM +0100, Alejandro Vallejo wrote:
> It only has 2 callers, both of which can be conditionally removed.
>
> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
> ---
> I'd be ok conditionalising the else branch on...
>
> IS_ENABLED(CONFIG_SHADOW_PAGING )|| IS_ENABLED(CONFIG_LOG_DIRTY)
>
> logdirty patch: https://lore.kernel.org/xen-devel/20260209103118.5885-1-alejandro.garciavallejo@amd.com
>
> ... to avoid the danger of stale pointers, with required changes elsewhere so
> none.c is only compiled out in that case.
>
> I'm not sure how much it matters seeing how they are all unreachable.
> ---
> xen/arch/x86/mm/Makefile | 2 +-
> xen/arch/x86/mm/paging.c | 4 +-
> xen/arch/x86/mm/shadow/Makefile | 4 --
> xen/arch/x86/mm/shadow/none.c | 77 ---------------------------------
> 4 files changed, 3 insertions(+), 84 deletions(-)
> delete mode 100644 xen/arch/x86/mm/shadow/none.c
>
> diff --git a/xen/arch/x86/mm/Makefile b/xen/arch/x86/mm/Makefile
> index 960f6e8409..066c4caff3 100644
> --- a/xen/arch/x86/mm/Makefile
> +++ b/xen/arch/x86/mm/Makefile
> @@ -1,4 +1,4 @@
> -obj-y += shadow/
> +obj-$(CONFIG_SHADOW_PAGING) += shadow/
> obj-$(CONFIG_HVM) += hap/
>
> obj-$(CONFIG_ALTP2M) += altp2m.o
> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
> index 2396f81ad5..5f70254cec 100644
> --- a/xen/arch/x86/mm/paging.c
> +++ b/xen/arch/x86/mm/paging.c
> @@ -634,7 +634,7 @@ int paging_domain_init(struct domain *d)
> */
> if ( hap_enabled(d) )
> hap_domain_init(d);
> - else
> + else if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
> rc = shadow_domain_init(d);
If you want to go this route you will need to set rc = -EOPNOTSUPP;
prior to the `if ... else if` on the HVM case. Otherwise when shadow
is compiled out, and the toolstack has not specified the HAP flag at
domain creation you will end up with a domain that doesn't have the
paging operations initialized as paging_domain_init() would return 0
with neither HAP nor shadow having been setup. That's likely to
trigger NULL pointer dereferences inside of Xen.
Also, seeing the code in arch_sanitise_domain_config() we possibly
want to return an error at that point if toolstack attempts to create
an HVM guest without HAP enabled, and shadow is build time disabled.
I've sent a patch to that end.
Thanks, Roger.
next prev parent reply other threads:[~2026-02-09 14:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-09 10:41 [PATCH] x86/shadow: Delete the none.c dummy file Alejandro Vallejo
2026-02-09 14:36 ` Jan Beulich
2026-02-09 15:06 ` Alejandro Vallejo
2026-02-09 15:14 ` Jan Beulich
2026-02-09 14:42 ` Roger Pau Monné [this message]
2026-02-09 15:35 ` Alejandro Vallejo
2026-02-09 15:55 ` Roger Pau Monné
2026-02-09 16:04 ` Jan Beulich
2026-02-09 16:17 ` Roger Pau Monné
2026-02-09 16:20 ` Alejandro Vallejo
2026-02-09 16:31 ` Jan Beulich
2026-02-09 16:35 ` Roger Pau Monné
2026-02-09 17:01 ` Andrew Cooper
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=aYnyY2MArv4vTXsY@Mac.lan \
--to=roger.pau@citrix.com \
--cc=alejandro.garciavallejo@amd.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=tim@xen.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.