lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 14 May 2009 08:02:23 -0400
From:	Gregory Haskins <ghaskins@...ell.com>
To:	Avi Kivity <avi@...hat.com>
CC:	kvm@...r.kernel.org, viro@...IV.linux.org.uk,
	linux-kernel@...r.kernel.org, davidel@...ilserver.org
Subject: Re: [KVM PATCH v7 3/3] kvm: add iofd support

Avi Kivity wrote:
> Gregory Haskins wrote:
>> iofd is a mechanism to register PIO/MMIO regions to trigger an eventfd
>> signal when written to.  Userspace can register any arbitrary address
>> with a corresponding eventfd.
>>
>>   
>
> Please start a separate patchset for this so I can merge irqfd.

Ack.  Will spin a new split series with your irqfd review changes
>
>>
>> diff --git a/include/linux/kvm.h b/include/linux/kvm.h
>> index dfc4bcc..99b6e45 100644
>> --- a/include/linux/kvm.h
>> +++ b/include/linux/kvm.h
>> @@ -292,6 +292,17 @@ struct kvm_guest_debug {
>>      struct kvm_guest_debug_arch arch;
>>  };
>>  
>> +#define KVM_IOFD_FLAG_DEASSIGN  (1 << 0)
>> +#define KVM_IOFD_FLAG_PIO       (1 << 1)
>> +
>> +struct kvm_iofd {
>> +    __u64 addr;
>> +    __u32 len;
>> +    __u32 fd;
>> +    __u32 flags;
>> +    __u8  pad[12];
>> +};
>> +
>>   
> Please add a data match capability.  virtio uses a write with the data
> containing the queue ID, and we want a separate event for each queue.

How about "u64 cookie" ?
>
>
>>   * kvm trace categories
>> @@ -508,6 +519,7 @@ struct kvm_irqfd {
>>  #define KVM_DEASSIGN_DEV_IRQ       _IOW(KVMIO, 0x75, struct
>> kvm_assigned_irq)
>>  #define KVM_ASSIGN_IRQFD           _IOW(KVMIO, 0x76, struct kvm_irqfd)
>>  #define KVM_DEASSIGN_IRQFD         _IOW(KVMIO, 0x77, __u32)
>> +#define KVM_IOFD                   _IOW(KVMIO, 0x78, struct kvm_iofd)
>>   
>
> Too general a name.  It's not doing IO, just sending out notifications.

Hmm...good point.  I was trying to reflect "[MM/P]IO-FD".  How about
"IOSIGNALFD"

>
> Why have assign/deassign for irqfd and a single ioctl for iofd?
Heh..  irqfd "liked" two because the deassign only needed a u32.  iofd
needed more or less the same structure for both so I guess I thought I
would be "slick" and condense the vectors.  Will fix so they are
symmetrical.

>
> The rest looks good.
>

I will also submit a patch to fix the io_bus stuff so that registrations
can gracefully fail instead of BUG_ON(), and to provide an unregister
function.

Thanks Avi,
-Greg


Download attachment "signature.asc" of type "application/pgp-signature" (267 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ