On 03/02/2022 13:48, Julien Grall wrote: > Hi, > > On 03/02/2022 13:38, Andrew Cooper wrote: >> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h >> index 37f78cc4c4c9..38b390d20371 100644 >> --- a/xen/include/xen/sched.h >> +++ b/xen/include/xen/sched.h >> @@ -736,10 +736,15 @@ void vcpu_end_shutdown_deferral(struct vcpu *v); >> * from any processor. >> */ >> void __domain_crash(struct domain *d); >> -#define domain_crash(d) do >> { \ >> - printk("domain_crash called from %s:%d\n", __FILE__, >> __LINE__); \ >> - >> __domain_crash(d); \ >> -} while (0) >> +#define domain_crash(d, ...) \ >> + do { \ >> + if ( count_args(__VA_ARGS__) == 0 ) \ >> + printk("domain_crash called from %s:%d\n", \ >> + __FILE__, __LINE__); \ > > I find a bit odd that here you are using a normal printk
That's unmodified from before. Only reformatted. > but... > > >> + else \ >> + printk(XENLOG_G_ERR __VA_ARGS__); \ > > here it is XENLOG_G_ERR. In fact, isn't it ratelimited? If so, > wouldn't it be better to only use XENLOG_ERR so they can always be > seen? (A domain shouldn't be able to abuse it). Perhaps. I suppose it is more important information than pretty much anything else about the guest. I've changed locally, but won't repost just for this. ~Andrew