lkml.org 
[lkml]   [2008]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 05/16] make write() operation smp aware
    Date
    This patch makes the write() file operation smp aware. Which means, receiving
    the vcpu_id value through the offset parameter, and being well aware to which
    vcpu we're talking to.

    Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
    ---
    drivers/lguest/lguest_user.c | 11 +++++++++--
    1 files changed, 9 insertions(+), 2 deletions(-)

    diff --git a/drivers/lguest/lguest_user.c b/drivers/lguest/lguest_user.c
    index 216514b..d176004 100644
    --- a/drivers/lguest/lguest_user.c
    +++ b/drivers/lguest/lguest_user.c
    @@ -230,14 +230,21 @@ static ssize_t write(struct file *file, const char __user *in,
    struct lguest *lg = file->private_data;
    const unsigned long __user *input = (const unsigned long __user *)in;
    unsigned long req;
    + struct lg_vcpu *vcpu = NULL;
    + int vcpu_id = *off;

    if (get_user(req, input) != 0)
    return -EFAULT;
    input++;

    /* If you haven't initialized, you must do that first. */
    - if (req != LHREQ_INITIALIZE && !lg)
    - return -EINVAL;
    + if (req != LHREQ_INITIALIZE) {
    + if (!lg || (vcpu_id > lg->nr_vcpus))
    + return -EINVAL;
    + vcpu = &lg->vcpus[vcpu_id];
    + if (!vcpu)
    + return -EINVAL;
    + }

    /* Once the Guest is dead, all you can do is read() why it died. */
    if (lg && lg->dead)
    --
    1.5.0.6


    \
     
     \ /
      Last update: 2008-01-07 14:11    [W:0.023 / U:117.744 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site