diff -ru linux-2.4.0-test10.kio.04/drivers/char/raw.c linux-2.4.0-test10.kio.05/drivers/char/raw.c --- linux-2.4.0-test10.kio.04/drivers/char/raw.c Thu Nov 2 12:08:54 2000 +++ linux-2.4.0-test10.kio.05/drivers/char/raw.c Thu Nov 2 14:19:32 2000 @@ -277,8 +277,12 @@ 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