On 12.04.2021 12:52, Luca Fancellu wrote: > --- a/xen/include/xen/sched.h > +++ b/xen/include/xen/sched.h > @@ -1022,6 +1022,9 @@ static always_inline bool is_hardware_domain(const > struct domain *d) > if ( IS_ENABLED(CONFIG_PV_SHIM_EXCLUSIVE) ) > return false; > > + if ( !d ) > + return false; > + > return evaluate_nospec(d == hardware_domain); > }
On v2 I did say on the respective code that was here (and my suggestion of this alternative adjustment): "Can you point out code paths where d may actually be NULL, and where [...] would not behave as intended (i.e. where bad speculation would result)?" Since you've taken the suggestion as-is, and since the commit message says nothing in either direction here, did you actually verify that there's no abuse of speculation possible with this extra return path? And did you find any caller at all which may pass NULL into here? Jan