Re: [PATCH] hptiop: avoid buffer overflow when returning sense data

From: HighPoint Linux Team
Date: Mon Oct 15 2007 - 03:40:39 EST


Andrew Morton wrote:
> >
> > avoid buffer overflow when returning sense data.
> >
>
> That's really not enough information, sorry.
>
> > index 8b384fa..d32a4a9 100644
> > --- a/drivers/scsi/hptiop.c
> > +++ b/drivers/scsi/hptiop.c
> > @@ -375,8 +375,9 @@ static void hptiop_host_request_callback
> > scp->result = SAM_STAT_CHECK_CONDITION;
> > memset(&scp->sense_buffer,
> > 0, sizeof(scp->sense_buffer));
> > - memcpy(&scp->sense_buffer,
> > - &req->sg_list, le32_to_cpu(req->dataxfer_length));
> > + memcpy(&scp->sense_buffer, &req->sg_list,
> > + min(sizeof(scp->sense_buffer),
> > + le32_to_cpu(req->dataxfer_length)));
> > break;
> >
> > default:
>
> See, we know what the fix does, but we don't know what the consequences are
> if the user's kernel doesn't have this fix.
>
> So we are not able to work out whether this fix should be backported to
> 2.6.23.x and even to 2.6.22.x?

Sorry for ambiguity. With current adapter firmware the driver is working but future
firmware updates may return sense data larger than 96 bytes, causing overflow
on scp->sense_buffer and a kernel crash.

This fix should be backported to earlier kernels.

HighPoint Linux Team

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