[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 03/16] x86/traps: Factor out exception_fixup() and make printing consistent
On 26.05.2020 20:06, Andrew Cooper wrote: > On 12/05/2020 14:05, Jan Beulich wrote: >> [CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open attachments >> unless you have verified the sender and know the content is safe. >> >> On 11.05.2020 17:14, Andrew Cooper wrote: >>> On 04/05/2020 14:20, Jan Beulich wrote: >>>> On 02.05.2020 00:58, Andrew Cooper wrote: >>>>> --- a/xen/arch/x86/traps.c >>>>> +++ b/xen/arch/x86/traps.c >>>>> @@ -774,10 +774,27 @@ static void do_reserved_trap(struct cpu_user_regs >>>>> *regs) >>>>> trapnr, vec_name(trapnr), regs->error_code); >>>>> } >>>>> >>>>> +static bool exception_fixup(struct cpu_user_regs *regs, bool print) >>>>> +{ >>>>> + unsigned long fixup = search_exception_table(regs); >>>>> + >>>>> + if ( unlikely(fixup == 0) ) >>>>> + return false; >>>>> + >>>>> + /* Can currently be triggered by guests. Make sure we ratelimit. */ >>>>> + if ( IS_ENABLED(CONFIG_DEBUG) && print ) >>>> I didn't think we consider dprintk()-s a possible security issue. >>>> Why would we consider so a printk() hidden behind >>>> IS_ENABLED(CONFIG_DEBUG)? IOW I think one of XENLOG_GUEST and >>>> IS_ENABLED(CONFIG_DEBUG) wants dropping. >>> Who said anything about a security issue? >> The need to rate limit is (among other aspects) to prevent a >> (logspam) security issue, isn't it? > > Rate limiting (from a security aspect) is a stopgap solution to relieve > incidental pressure on the various global spinlocks involved. > > It specifically does not prevent a guest from trivially filling the > console ring with junk, or for that junk to be written to > /var/log/xen/hypervisor.log at an alarming rate, both of which are > issues in production setups, but not security issues. IOW you assert that e.g. XSA-141 should not have been issued? > Technical solutions to these problems do exist, such as deleting the > offending printk(), or maintaining per-guest console rings, but both > come with downsides in terms of usability, which similarly impacts > production setups. > > > What ratelimiting even in debug builds gets you is a quick spate of > printks() (e.g. any new sshd connection on an AMD system where the > MSR_VIRT_SPEC_CTRL patch is still uncommitted, and the default WRMSR > behaviour breaking wrmsr_safe() logic in Linux) not wasting an > unreasonable quantity of space in the console ring. Hmm, okay, I can accept this perspective. Since the other comment I gave has been taken care of by re-arrangements in a separate patch: Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |