On 23/04/2024 3:59 pm, Jan Beulich wrote: > On 22.04.2024 20:14, Andrew Cooper wrote: >> @@ -317,14 +338,23 @@ static void init_or_livepatch >> _apply_alternatives(struct alt_instr *start, >> */ >> goto skip_this_alternative; >> } >> + >> + continue; >> } >> - else if ( force && system_state < SYS_STATE_active ) >> - ASSERT_UNREACHABLE(); > This (and the other one below) is related to altcall patching, which you > say you mean to leave alone: During the 2nd pass, no un-processed CALL / > JMP should occur anymore that aren't altcall related.
Calling the parameter "force" was a mistake and I regret not asking for it to change. It should be a SEAL_ALTCALL flag of some form or another. But, that's not what this ASSERT() is doing. This assert is only checking that you don't try sealing a still-NULL altcall early, which is only doing nothing more than checking that the caller of _apply_alternatives() passed a parameter correctly. ~Andrew