[patch-2.4.2] bugfix -- ENXIO for read/write beyond end of raw device

Tigran Aivazian (tigran@veritas.com)
Tue, 27 Feb 2001 18:38:08 +0000 (GMT)


Hi Linus,

Yes, I know that Stephen had fixed this bug ages ago but, nevertheless, it
is still present in 2.4.2 and I don't know about his plans for resending
the patch -- but it is a part of the set I maintain so I just wanted to
bring it to your attention. Small bug, small obvious fix -- why not
consider it sooner rather than later?

Regards,
Tigran

diff -urN -X dontdiff linux/drivers/char/raw.c vmfs/drivers/char/raw.c
--- linux/drivers/char/raw.c Mon Oct 2 04:35:15 2000
+++ vmfs/drivers/char/raw.c Thu Feb 22 07:21:26 2001
@@ -277,8 +277,11 @@

if ((*offp & sector_mask) || (size & sector_mask))
return -EINVAL;
- if ((*offp >> sector_bits) > limit)
+ if ((*offp >> sector_bits) >= limit) {
+ if (size)
+ return -ENXIO;
return 0;
+ }

/*
* We'll just use one kiobuf

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