Re: [PATCH] [SCSI] bfa: Fix endian bug in bfad_iocmd_debug_fw_core().

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Can you please review it ?


regards
Santosh

On Tue, Mar 6, 2012 at 10:36 PM, santosh nayak
<santoshprasadnayak@xxxxxxxxx> wrote:
> From: Santosh Nayak <santoshprasadnayak@xxxxxxxxx>
>
> Casting pointer from native data type to other type is
> endian-sensitive.
>
> "iocmd->offset"  is 64 bit but we use only first 32 bit.
> It works in little-endian system but in big-endian system
> it will break.
>
> Signed-off-by: Santosh Nayak <santoshprasadnayak@xxxxxxxxx>
> ---
>  drivers/scsi/bfa/bfad_bsg.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/scsi/bfa/bfad_bsg.c b/drivers/scsi/bfa/bfad_bsg.c
> index 530de2b..c4edc63 100644
> --- a/drivers/scsi/bfa/bfad_bsg.c
> +++ b/drivers/scsi/bfa/bfad_bsg.c
> @@ -1918,6 +1918,7 @@ bfad_iocmd_debug_fw_core(struct bfad_s *bfad, void *cmd,
>        struct bfa_bsg_debug_s *iocmd = (struct bfa_bsg_debug_s *)cmd;
>        void    *iocmd_bufptr;
>        unsigned long   flags;
> +       u32 offset;
>
>        if (bfad_chk_iocmd_sz(payload_len, sizeof(struct bfa_bsg_debug_s),
>                        BFA_DEBUG_FW_CORE_CHUNK_SZ) != BFA_STATUS_OK) {
> @@ -1935,8 +1936,10 @@ bfad_iocmd_debug_fw_core(struct bfad_s *bfad, void *cmd,
>
>        iocmd_bufptr = (char *)iocmd + sizeof(struct bfa_bsg_debug_s);
>        spin_lock_irqsave(&bfad->bfad_lock, flags);
> +       offset = iocmd->offset;
>        iocmd->status = bfa_ioc_debug_fwcore(&bfad->bfa.ioc, iocmd_bufptr,
> -                               (u32 *)&iocmd->offset, &iocmd->bufsz);
> +                               &offset, &iocmd->bufsz);
> +       iocmd->offset = offset;
>        spin_unlock_irqrestore(&bfad->bfad_lock, flags);
>  out:
>        return 0;
> --
> 1.7.4.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux