On 07.11.2024 16:08, Daniel P. Smith wrote: > On 11/7/24 05:05, Jan Beulich wrote: >> On 02.11.2024 18:25, Daniel P. Smith wrote: >>> --- a/xen/xsm/xsm_policy.c >>> +++ b/xen/xsm/xsm_policy.c >>> @@ -33,22 +33,18 @@ >>> int __init xsm_multiboot_policy_init( >>> struct boot_info *bi, void **policy_buffer, size_t *policy_size) >>> { >>> - int i; >>> + unsigned int i; >>> int rc = 0; >>> u32 *_policy_start; >>> unsigned long _policy_len; >>> >>> - /* >>> - * Try all modules and see whichever could be the binary policy. >>> - * Adjust module_map for the module that is the binary policy. >>> - */ >>> - for ( i = bi->nr_modules - 1; i >= 1; i-- ) >>> + /* Try all unknown modules and see whichever could be the binary >>> policy. */ >>> + for_each_boot_module_by_type(i, bi, BOOTMOD_UNKNOWN) >>> { >>> - if ( !test_bit(i, bi->module_map) ) >>> - continue; >>> + struct boot_module *bm = &bi->mods[i]; >> >> ... same here (and likely elsewhere in the series). > > Nope, you can't const this one as that will cause this is at the tail > end of the loop to fail: > > + bm->type = BOOTMOD_XSM_POLICY;
Oh, I had managed to not spot that. Jan