i40e: Fix use-after-free in i40e_client_subtask()
[linux-2.6-microblaze.git] / drivers / scsi / scsi_trace.c
index ac35c30..41a9500 100644 (file)
@@ -18,11 +18,9 @@ static const char *
 scsi_trace_rw6(struct trace_seq *p, unsigned char *cdb, int len)
 {
        const char *ret = trace_seq_buffer_ptr(p);
-       u32 lba = 0, txlen;
+       u32 lba, txlen;
 
-       lba |= ((cdb[1] & 0x1F) << 16);
-       lba |=  (cdb[2] << 8);
-       lba |=   cdb[3];
+       lba = get_unaligned_be24(&cdb[1]) & 0x1fffff;
        /*
         * From SBC-2: a TRANSFER LENGTH field set to zero specifies that 256
         * logical blocks shall be read (READ(6)) or written (WRITE(6)).