diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2014-01-21 14:39:22 -0800 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2014-01-21 20:16:56 -0800 |
commit | 3f7d758b1e3c18360f955d1d5e224865c5e0b881 (patch) | |
tree | 34ceec2d6341be4d8668a257b9931c0271824431 /drivers/block/paride/pg.c | |
parent | f2fc8af41c351d11dcdd863356ff31fccf86cfed (diff) | |
download | op-kernel-dev-3f7d758b1e3c18360f955d1d5e224865c5e0b881.zip op-kernel-dev-3f7d758b1e3c18360f955d1d5e224865c5e0b881.tar.gz |
drivers/block/paride/pg.c: underflow bug in pg_write()
The test here can underflow so we pass bogus lengths to the hardware.
It's a static checker fix and I don't know the impact.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/paride/pg.c')
-rw-r--r-- | drivers/block/paride/pg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/paride/pg.c b/drivers/block/paride/pg.c index 4a27b1d..2ce3dfd 100644 --- a/drivers/block/paride/pg.c +++ b/drivers/block/paride/pg.c @@ -581,7 +581,7 @@ static ssize_t pg_write(struct file *filp, const char __user *buf, size_t count, if (hdr.magic != PG_MAGIC) return -EINVAL; - if (hdr.dlen > PG_MAX_DATA) + if (hdr.dlen < 0 || hdr.dlen > PG_MAX_DATA) return -EINVAL; if ((count - hs) > PG_MAX_DATA) return -EINVAL; |