diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index 14d9939842ee..a78298e342d8 100644 --- a/sys/fs/specfs/spec_vnops.c +++ b/sys/fs/specfs/spec_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spec_vnops.c 8.6 (Berkeley) 4/9/94 - * $Id: spec_vnops.c,v 1.25 1995/12/13 15:13:31 julian Exp $ + * $Id: spec_vnops.c,v 1.26 1995/12/14 09:53:06 phk Exp $ */ #include @@ -756,6 +756,12 @@ spec_getpages(ap) */ blkno = (IDX_TO_OFF(ap->a_m[0]->pindex) + ap->a_offset) / DEV_BSIZE; + /* XXX sanity check before we go into details */ + if (blkno < 0) { + printf("spec_getpages: negative blkno (%ld)\n", blkno); + return (VM_PAGER_ERROR); + } + /* * Round up physical size for real devices. */ diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c index 14d9939842ee..a78298e342d8 100644 --- a/sys/miscfs/specfs/spec_vnops.c +++ b/sys/miscfs/specfs/spec_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spec_vnops.c 8.6 (Berkeley) 4/9/94 - * $Id: spec_vnops.c,v 1.25 1995/12/13 15:13:31 julian Exp $ + * $Id: spec_vnops.c,v 1.26 1995/12/14 09:53:06 phk Exp $ */ #include @@ -756,6 +756,12 @@ spec_getpages(ap) */ blkno = (IDX_TO_OFF(ap->a_m[0]->pindex) + ap->a_offset) / DEV_BSIZE; + /* XXX sanity check before we go into details */ + if (blkno < 0) { + printf("spec_getpages: negative blkno (%ld)\n", blkno); + return (VM_PAGER_ERROR); + } + /* * Round up physical size for real devices. */