lkml.org 
[lkml]   [2007]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 14/15] KVM: Allow kernel to select size of mmap() buffer
    Date
    This allows us to store offsets in the kernel/user kvm_run area, and be
    sure that userspace has them mapped. As offsets can be outside the
    kvm_run struct, userspace has no way of knowing how much to mmap.

    Signed-off-by: Avi Kivity <avi@qumranet.com>
    ---
    drivers/kvm/kvm_main.c | 8 +++++++-
    include/linux/kvm.h | 4 ++++
    2 files changed, 11 insertions(+), 1 deletions(-)

    diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
    index ed95c9b..b81f007 100644
    --- a/drivers/kvm/kvm_main.c
    +++ b/drivers/kvm/kvm_main.c
    @@ -2436,7 +2436,7 @@ static long kvm_dev_ioctl(struct file *filp,
    unsigned int ioctl, unsigned long arg)
    {
    void __user *argp = (void __user *)arg;
    - int r = -EINVAL;
    + long r = -EINVAL;

    switch (ioctl) {
    case KVM_GET_API_VERSION:
    @@ -2478,6 +2478,12 @@ static long kvm_dev_ioctl(struct file *filp,
    */
    r = 0;
    break;
    + case KVM_GET_VCPU_MMAP_SIZE:
    + r = -EINVAL;
    + if (arg)
    + goto out;
    + r = PAGE_SIZE;
    + break;
    default:
    ;
    }
    diff --git a/include/linux/kvm.h b/include/linux/kvm.h
    index c0d10cd..dad9081 100644
    --- a/include/linux/kvm.h
    +++ b/include/linux/kvm.h
    @@ -253,6 +253,10 @@ struct kvm_signal_mask {
    * return is 1 (yes) or 0 (no, sorry).
    */
    #define KVM_CHECK_EXTENSION _IO(KVMIO, 0x03)
    +/*
    + * Get size for mmap(vcpu_fd)
    + */
    +#define KVM_GET_VCPU_MMAP_SIZE _IO(KVMIO, 0x04) /* in bytes */

    /*
    * ioctls for VM fds
    --
    1.5.0.2
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-03-11 15:01    [W:5.044 / U:0.236 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site