Re: [PATCH] scsi: int overflow in st_ioctl()

From: "Kai Mäkisara (Kolumbus)"
Date: Tue Dec 17 2013 - 13:02:43 EST


On 17.12.2013, at 16.43, Yongjian Xu xuyongjiande@xxxxxxxxx wrote:

> From: Yongjian Xu <xuyongjiande@xxxxxxxxx>
>
> mtc.mt_count comes from user-space.
> int overflow may occur:
> mtc.mt_count++;
> mtc.mt_count—;

I agree that this is a problem. However, it seems that there is also another problem: the SPACE command uses a 24-bit count field and this overflows far below INT_MAX. Should the count in MTFSF etc. be limited to (2<<24-2)? This would make the checks you suggest unnecessary. (-2 so that the behavior does not depend on whether we are at file mark or not.)

I am a bit hesitant with this suggestion because someone may use count INT_MAX to space to the end of the tape. This probably succeeds now but after the fix it would return an error.

Thanks,
Kai

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