[PATCH 5/8] scsi: megaraid_sas - using unsigned long for sense_buff ptr - Kernel

This is a discussion on [PATCH 5/8] scsi: megaraid_sas - using unsigned long for sense_buff ptr - Kernel ; MegaRAID utilities expect sense_buff to be of type unsigned long. Signed-off-by: Bo Yang --- drivers/scsi/megaraid/megaraid_sas.c | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff -uprN linux-2.6.22_orig/drivers/scsi/megaraid/megaraid_sas.c linux-2.6.22_new/drivers/scsi/megaraid/megaraid_sas.c --- linux-2.6.22_orig/drivers/scsi/megaraid/megaraid_sas.c 2007-09-27 04:41:39.000000000 -0700 +++ linux-2.6.22_new/drivers/scsi/megaraid/megaraid_sas.c 2007-09-27 04:50:14.000000000 -0700 @@ ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: [PATCH 5/8] scsi: megaraid_sas - using unsigned long for sense_buff ptr

  1. [PATCH 5/8] scsi: megaraid_sas - using unsigned long for sense_buff ptr

    MegaRAID utilities expect sense_buff to be of type unsigned long.

    Signed-off-by: Bo Yang

    ---
    drivers/scsi/megaraid/megaraid_sas.c | 13 ++++++++-----
    1 files changed, 8 insertions(+), 5 deletions(-)

    diff -uprN linux-2.6.22_orig/drivers/scsi/megaraid/megaraid_sas.c linux-2.6.22_new/drivers/scsi/megaraid/megaraid_sas.c
    --- linux-2.6.22_orig/drivers/scsi/megaraid/megaraid_sas.c 2007-09-27 04:41:39.000000000 -0700
    +++ linux-2.6.22_new/drivers/scsi/megaraid/megaraid_sas.c 2007-09-27 04:50:14.000000000 -0700
    @@ -2969,6 +2969,7 @@ megasas_mgmt_fw_ioctl(struct megasas_ins
    void *sense = NULL;
    dma_addr_t sense_handle;
    u32 *sense_ptr;
    + unsigned long *sense_buff;

    memset(kbuff_arr, 0, sizeof(kbuff_arr));

    @@ -3073,14 +3074,16 @@ megasas_mgmt_fw_ioctl(struct megasas_ins
    */
    if (ioc->sense_len) {
    /*
    - * sense_ptr points to the location that has the user
    + * sense_buff points to the location that has the user
    * sense buffer address
    */
    - sense_ptr = (u32 *) ((unsigned long)ioc->frame.raw +
    - ioc->sense_off);
    + sense_buff = (unsigned long *) ((unsigned long)ioc->frame.raw +
    + ioc->sense_off);

    - if (copy_to_user((void __user *)((unsigned long)(*sense_ptr)),
    - sense, ioc->sense_len)) {
    + if (copy_to_user((void __user *)(unsigned long)(*sense_buff),
    + sense, ioc->sense_len)) {
    + printk(KERN_ERR "megasas: Failed to copy out to user"
    + "sense data\n");
    error = -EFAULT;
    goto out;
    }

    -
    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/

  2. Re: [PATCH 5/8] scsi: megaraid_sas - using unsigned long for sense_buff ptr

    On Wed, 26 Sep 2007 11:41:07 -0400 bo yang wrote:

    > MegaRAID utilities expect sense_buff to be of type unsigned long.
    >
    > Signed-off-by: Bo Yang
    >
    > ---
    > drivers/scsi/megaraid/megaraid_sas.c | 13 ++++++++-----
    > 1 files changed, 8 insertions(+), 5 deletions(-)
    >
    > diff -uprN linux-2.6.22_orig/drivers/scsi/megaraid/megaraid_sas.c linux-2.6.22_new/drivers/scsi/megaraid/megaraid_sas.c
    > --- linux-2.6.22_orig/drivers/scsi/megaraid/megaraid_sas.c 2007-09-27 04:41:39.000000000 -0700
    > +++ linux-2.6.22_new/drivers/scsi/megaraid/megaraid_sas.c 2007-09-27 04:50:14.000000000 -0700
    > @@ -2969,6 +2969,7 @@ megasas_mgmt_fw_ioctl(struct megasas_ins
    > void *sense = NULL;
    > dma_addr_t sense_handle;
    > u32 *sense_ptr;
    > + unsigned long *sense_buff;
    >
    > memset(kbuff_arr, 0, sizeof(kbuff_arr));
    >
    > @@ -3073,14 +3074,16 @@ megasas_mgmt_fw_ioctl(struct megasas_ins
    > */
    > if (ioc->sense_len) {
    > /*
    > - * sense_ptr points to the location that has the user
    > + * sense_buff points to the location that has the user
    > * sense buffer address
    > */
    > - sense_ptr = (u32 *) ((unsigned long)ioc->frame.raw +
    > - ioc->sense_off);
    > + sense_buff = (unsigned long *) ((unsigned long)ioc->frame.raw +
    > + ioc->sense_off);
    >
    > - if (copy_to_user((void __user *)((unsigned long)(*sense_ptr)),
    > - sense, ioc->sense_len)) {
    > + if (copy_to_user((void __user *)(unsigned long)(*sense_buff),
    > + sense, ioc->sense_len)) {
    > + printk(KERN_ERR "megasas: Failed to copy out to user"
    > + "sense data\n");


    " sense data\n");

    > error = -EFAULT;
    > goto out;
    > }



    ---
    ~Randy
    Phaedrus says that Quality is about caring.
    -
    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/

+ Reply to Thread