public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Gregory Haskins" <ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
To: "Avi Kivity" <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	Davide Libenzi <davidel-AhlLAIvw+VEjIGhXcJzhZg@public.gmane.org>
Subject: Re: [PATCH 5/9] KVM: Adds ability to signal	userspace using	a	file-descriptor
Date: Tue, 15 May 2007 08:02:05 -0400	[thread overview]
Message-ID: <464968D6.BA47.005A.0@novell.com> (raw)
In-Reply-To: <4649650E.2070102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>

>>> On Tue, May 15, 2007 at  3:45 AM, in message <4649650E.2070102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>,
Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote: 
> Gregory Haskins wrote:
>> Signed- off- by: Gregory Haskins <ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
>> ---
>>
>>  drivers/kvm/kvm.h      |    1 +
>>  drivers/kvm/kvm_main.c |   52 ++++++++++++++++++++++++++++++++++++++++++------
>>  include/linux/kvm.h    |    1 +
>>  3 files changed, 48 insertions(+), 6 deletions(- )
>>
>> diff -- git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
>> index 7b5d5e6..f5731c4 100644
>> ---  a/drivers/kvm/kvm.h
>> +++ b/drivers/kvm/kvm.h
>> @@ - 333,6 +333,7 @@ struct kvm_vcpu_irq {
>>  	int                  deferred;
>>  	struct task_struct  *task;
>>  	int                  guest_mode;
>> +	int                  eventfd;
>>   
> 
> Best to convert the fd to a filp when you install it.  This avoids the
> conversion during runtime and allows you to do error checking earlier.


That was my initial impression also, but then I realized there was a problem with that:  Eventfd doesnt appear to have any way to notify other entities when the fd is closed.  Therefore the filp could be left dangling in this case.  By using the fd instead, I can validate the pointer each time I need it.  Perhaps Davide will have a suggestion here.

Regardless, I do like the idea of checking the fd on assignment.  I will put an eventfd_fget() check into the ioctl too just to catch it early.  I might also add logic to invalidate irq.eventfd if the eventfd_fget() ever fails at runtime because userspace neglects to explicitly unregister (so we don't keep checking an invalid fd over and over).

-Greg

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

  parent reply	other threads:[~2007-05-15 12:02 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-15  3:15 [PATCH 0/9] in-kernel APIC v4 (kernel side) Gregory Haskins
     [not found] ` <20070515031217.9382.44999.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-15  3:15   ` [PATCH 1/9] KVM: Adds support for in-kernel mmio handlers Gregory Haskins
2007-05-15  3:15   ` [PATCH 2/9] KVM: VMX - fix interrupt checking on light-exit Gregory Haskins
2007-05-15  3:15   ` [PATCH 3/9] KVM: Add irqdevice object Gregory Haskins
2007-05-15  3:15   ` [PATCH 4/9] KVM: Adds ability to preempt an executing VCPU Gregory Haskins
2007-05-15  3:15   ` [PATCH 5/9] KVM: Adds ability to signal userspace using a file-descriptor Gregory Haskins
     [not found]     ` <20070515031536.9382.16826.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-15  7:45       ` Avi Kivity
     [not found]         ` <4649650E.2070102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-15 12:02           ` Gregory Haskins [this message]
     [not found]             ` <464968D6.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-15 15:40               ` Davide Libenzi
     [not found]                 ` <Pine.LNX.4.64.0705150832130.30085-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>
2007-05-15 16:18                   ` Gregory Haskins
     [not found]                     ` <4649A4E1.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-15 16:22                       ` Christoph Hellwig
     [not found]                         ` <20070515162249.GA19238-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2007-05-15 16:29                           ` Gregory Haskins
2007-05-15 17:16                           ` Davide Libenzi
     [not found]                             ` <Pine.LNX.4.64.0705151008400.30345-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>
2007-05-16 12:00                               ` Avi Kivity
     [not found]                                 ` <464AF269.7030402-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-16 19:59                                   ` Davide Libenzi
     [not found]                                     ` <Pine.LNX.4.64.0705161201410.12427-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>
2007-05-17 11:33                                       ` Avi Kivity
     [not found]                                         ` <464C3D93.5090605-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-17 19:11                                           ` Davide Libenzi
     [not found]                                             ` <Pine.LNX.4.64.0705171010570.31677-GPJ85BhbkB8RepQJljzAVbITYcZ0+W3JAL8bYrjMMd8@public.gmane.org>
2007-05-17 21:57                                               ` Davide Libenzi
2007-05-20  7:20                                               ` Avi Kivity
2007-05-16 10:09                   ` Avi Kivity
2007-05-16 10:07               ` Avi Kivity
2007-05-15  3:15   ` [PATCH 6/9] KVM: Add support for in-kernel LAPIC model Gregory Haskins
2007-05-15  3:15   ` [PATCH 7/9] KVM: Adds support for real NMI injection on VMX processors Gregory Haskins
2007-05-15  3:15   ` [PATCH 8/9] KVM: Adds basic plumbing to support TPR shadow features Gregory Haskins
2007-05-15  3:15   ` [PATCH 9/9] KVM: Add statistics from interrupt subsystem Gregory Haskins
  -- strict thread matches above, loose matches on Subject: below --
2007-05-15 14:57 [PATCH 0/9] in-kernel APIC v5 (kernel side) Gregory Haskins
     [not found] ` <20070515145404.15609.61552.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-15 14:57   ` [PATCH 5/9] KVM: Adds ability to signal userspace using a file-descriptor Gregory Haskins
     [not found]     ` <20070515145759.15609.34720.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-15 16:39       ` Anthony Liguori
     [not found]         ` <4649E22F.3090308-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-15 16:55           ` Gregory Haskins
     [not found]             ` <4649AD87.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-05-15 18:44               ` Anthony Liguori
     [not found]                 ` <4649FF7B.10107-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-05-16 11:56                   ` Avi Kivity
2007-05-09 15:18 [PATCH 0/9] in-kernel APIC v2 Gregory Haskins
     [not found] ` <20070509151238.8673.4818.stgit-sLgBBP33vUGnsjUZhwzVf9HuzzzSOjJt@public.gmane.org>
2007-05-09 15:19   ` [PATCH 5/9] KVM: Adds ability to signal userspace using a file-descriptor Gregory Haskins

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=464968D6.BA47.005A.0@novell.com \
    --to=ghaskins-et1tbqhtxzrqt0dzr+alfa@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=davidel-AhlLAIvw+VEjIGhXcJzhZg@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox