[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xsm: refactor and optimize policy loading
On 23.05.2022 17:40, Daniel P. Smith wrote: > --- a/xen/xsm/xsm_core.c > +++ b/xen/xsm/xsm_core.c > @@ -55,19 +55,35 @@ static enum xsm_bootparam __initdata xsm_bootparam = > XSM_BOOTPARAM_DUMMY; > #endif > > +static bool __initdata init_policy = > +#ifdef CONFIG_XSM_FLASK_DEFAULT > + true; > +#else > + false; > +#endif Simply IS_ENABLED(CONFIG_XSM_FLASK_DEFAULT) without any #ifdef-ary? > @@ -148,11 +156,11 @@ int __init xsm_multiboot_init( > > printk("XSM Framework v" XSM_FRAMEWORK_VERSION " initialized\n"); > > - if ( XSM_MAGIC ) > + if ( init_policy && XSM_MAGIC ) > { > ret = xsm_multiboot_policy_init(module_map, mbi, &policy_buffer, > &policy_size); > - if ( ret ) > + if ( ret != 0 ) Nit: Stray change? > @@ -36,10 +36,17 @@ int __init xsm_multiboot_policy_init( > { > int i; > module_t *mod = (module_t *)__va(mbi->mods_addr); > - int rc = 0; > + int rc = -ENOENT; I'm afraid I can't easily convince myself that this and the other -ENOENT is really relevant to this change and/or not breaking anything which currently does work (i.e. not entirely benign). Please can you extend the description accordingly or split off this adjustment? > @@ -79,7 +87,16 @@ int __init xsm_dt_policy_init(void **policy_buffer, size_t > *policy_size) > paddr_t paddr, len; > > if ( !mod || !mod->size ) > +#ifdef CONFIG_XSM_FLASK_POLICY > + { > + *policy_buffer = (void *)xsm_flask_init_policy; I don't think we want a cast here, especially not when it discards "const". Instead the local variables' types want adjusting in xsm_{multiboot,dt}_init() as well as the types of the respective parameters of xsm_{multiboot,dt}_policy_init(). > + *policy_size = xsm_flask_init_policy_size; > return 0; > + } > +#else > + /* No policy was loaded */ > + return -ENOENT; > +#endif I think this is easier to read if you put the braces there unconditionally and have the #if / #else inside. And if you wanted to I think you could get away without any #else then. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |