[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 5/6] x86/alternatives: do not BUG during apply
On Wed, Sep 25, 2024 at 11:01:08AM +0200, Jan Beulich wrote: > On 25.09.2024 10:42, Roger Pau Monne wrote: > > alternatives is used both at boot time, and when loading livepatch payloads. > > While for the former it makes sense to panic, it's not useful for the > > later, as > > for livepatches it's possible to fail to load the livepatch if alternatives > > cannot be resolved and continue operating normally. > > > > Relax the BUGs in _apply_alternatives() to instead return an error code. > > The > > caller will figure out whether the failures are fatal and panic. > > > > Print an error message to provide some user-readable information about what > > went wrong. > > > > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> > > Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > > Albeit ... > > > @@ -394,8 +418,10 @@ static int __init cf_check nmi_apply_alternatives( > > PAGE_HYPERVISOR_RWX); > > flush_local(FLUSH_TLB_GLOBAL); > > > > - _apply_alternatives(__alt_instructions, __alt_instructions_end, > > - alt_done); > > + rc = _apply_alternatives(__alt_instructions, > > __alt_instructions_end, > > + alt_done); > > + if ( rc ) > > + panic("Unable to apply alternatives: %d\n", rc); > > ... I see little value in logging rc here - the other log message will > provide better detail anyway. Current log messages do indeed provide better detail, but maybe we end up adding new return error paths to _apply_alternatives() in the future. I see no harm in printing the error code if there's one. > > --- a/xen/common/livepatch.c > > +++ b/xen/common/livepatch.c > > @@ -896,7 +896,15 @@ static int prepare_payload(struct payload *payload, > > return -EINVAL; > > } > > } > > - apply_alternatives(start, end); > > + > > + rc = apply_alternatives(start, end); > > + if ( rc ) > > + { > > + printk(XENLOG_ERR LIVEPATCH "%s applying alternatives failed: > > %d\n", > > + elf->name, rc); > > + return rc; > > + } > > Whereas here it may indeed make sense to keep things as you have them, as the > error code is propagated onwards, and matching it with other error messages > coming from elsewhere may help in understanding the situation. > > As to possible applying: It looks as if this was independent of the earlier 4 > patches? Yes, I think patches 5 and 6 can be applied ahead of the preceding livepatch fixes. Thanks, Roger.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |