On Mon, Mar 31, 2025 at 09:34:24PM +0000, dm...@proton.me wrote: > From: Denis Mukhin <dmuk...@ford.com> > > Use %pd in all logs issued from arch_domain_create(). > > Also, expand error message in arch_domain_create() under > !emulation_flags_ok() case to help debugging. > > Signed-off-by: Denis Mukhin <dmuk...@ford.com> > --- > The origin of the patch is: > > https://lore.kernel.org/xen-devel/20250103-vuart-ns8250-v3-v1-6-c5d36b31d...@ford.com/ > --- > xen/arch/x86/domain.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c > index a42fa54805..15c5e2a652 100644 > --- a/xen/arch/x86/domain.c > +++ b/xen/arch/x86/domain.c > @@ -798,13 +798,12 @@ int arch_domain_create(struct domain *d, > { > if ( !opt_allow_unsafe ) > { > - printk(XENLOG_G_ERR "Xen does not allow DomU creation on this > CPU" > - " for security reasons.\n"); > + printk(XENLOG_G_ERR "%pd: Xen does not allow DomU creation on > this CPU" > + " for security reasons.\n", d);
Since you are already touching this, I would switch to gprintk, and avoid splitting the lines: gprintk(XENLOG_ERR, "%pd: Xen does not allow DomU creation on this CPU for security reasons.\n", d); Same for the other messages below. > return -EPERM; > } > printk(XENLOG_G_WARNING > - "Dom%d may compromise security on this CPU.\n", > - d->domain_id); > + "%pd: domain may compromise security on this CPU.\n", d); > } > > emflags = config->arch.emulation_flags; > @@ -814,16 +813,19 @@ int arch_domain_create(struct domain *d, > > if ( emflags & ~XEN_X86_EMU_ALL ) > { > - printk(XENLOG_G_ERR "d%d: Invalid emulation bitmap: %#x\n", > - d->domain_id, emflags); > + printk(XENLOG_G_ERR "%pd: Invalid emulation bitmap: %#x\n", > + d, emflags); > return -EINVAL; > } > > if ( !emulation_flags_ok(d, emflags) ) > { > - printk(XENLOG_G_ERR "d%d: Xen does not allow %s domain creation " > + printk(XENLOG_G_ERR "%pd: Xen does not allow %s %sdomain creation " > "with the current selection of emulators: %#x\n", > - d->domain_id, is_hvm_domain(d) ? "HVM" : "PV", emflags); > + d, > + is_hvm_domain(d) ? "HVM" : "PV", > + is_hardware_domain(d) ? "(hardware) " : "", I wouldn't use parentheses around hardware, but that's just my taste. Thanks, Roger.