From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [PATCH 2/2] kvm: pr_guest: don't let guest invoke printk() on host
Date: Tue, 24 Jul 2007 13:19:01 +0300 [thread overview]
Message-ID: <46A5D215.5030301@qumranet.com> (raw)
In-Reply-To: <1185260620.1803.245.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
Rusty Russell wrote:
> If the guest can invoke a printk(), it can potentially flood the logs,
> causing a host DoS. We should also indicate *which* guest we're
> talking about.
>
> This patch adds pr_guest (analogous to pr_debug) which ratelimits.
> Not all printk's were replaced: some are only printed once and others
> should probably be replaced by BUG(). I removed the kvm_printf in
> init_rmode_tss: it says nothing that the return value doesn't say.
>
> Coders should be aware that printing in the logs is not particularly
> useful except to give feedback to developers. ie. "should not be used
> for chit-chat".
>
> int kvm_init_arch(struct kvm_arch_ops *ops, struct module *module);
> void kvm_exit_arch(void);
> diff -r 3f158ee9df43 drivers/kvm/kvm_main.c
> --- a/drivers/kvm/kvm_main.c Tue Jul 24 16:22:39 2007 +1000
> +++ b/drivers/kvm/kvm_main.c Tue Jul 24 16:28:33 2007 +1000
> @@ -425,8 +425,8 @@ inject_gp(struct kvm_vcpu *vcpu, const c
> va_list args;
>
> va_start(args, why_fmt);
> - printk(KERN_DEBUG "kvm: #GP ");
> - vprintk(why_fmt, args);
> + if (pr_guest(vcpu, "#GP "))
> + vprintk(why_fmt, args);
> va_end(args);
> kvm_arch_ops->inject_gp(vcpu, 0);
> }
>
Why go through this optimization? If it happens frequently, we can just
remove the printk(). The printk()s are mostly on not-expected-to-happen
exceptions, and should just be removed if guests do exercise them.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
next prev parent reply other threads:[~2007-07-24 10:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-24 6:47 [PATCH 1/2] kvm: Insist on a reason when injecting a #GP into a guest Rusty Russell
[not found] ` <1185259677.1803.239.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 7:03 ` [PATCH 2/2] kvm: pr_guest: don't let guest invoke printk() on host Rusty Russell
[not found] ` <1185260620.1803.245.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 10:19 ` Avi Kivity [this message]
[not found] ` <46A5D215.5030301-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-24 10:48 ` Rusty Russell
[not found] ` <1185274114.1803.309.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 11:01 ` Avi Kivity
[not found] ` <46A5DC11.4070400-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-24 11:29 ` Rusty Russell
[not found] ` <1185276567.1803.330.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 12:19 ` Avi Kivity
[not found] ` <46A5EE38.3060703-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-25 0:19 ` Rusty Russell
[not found] ` <1185322747.1803.392.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-25 6:25 ` Avi Kivity
[not found] ` <46A6ECD4.8040804-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-25 6:45 ` Avi Kivity
2007-07-24 10:15 ` [PATCH 1/2] kvm: Insist on a reason when injecting a #GP into a guest Avi Kivity
[not found] ` <46A5D153.9020302-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-07-24 10:41 ` Rusty Russell
[not found] ` <1185273661.1803.300.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-07-24 10:44 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46A5D215.5030301@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.