summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_aio.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2006-02-22 00:05:12 +0000
committerdavidxu <davidxu@FreeBSD.org>2006-02-22 00:05:12 +0000
commit44accb1d3bdc701b321417fb9b77560144558663 (patch)
treefbdab11b02b708b5b8f9c7d346051cefdbad37f3 /sys/kern/vfs_aio.c
parent129e00e81f0f83db1352b5c5c34698ca5af7c7bb (diff)
downloadFreeBSD-src-44accb1d3bdc701b321417fb9b77560144558663.zip
FreeBSD-src-44accb1d3bdc701b321417fb9b77560144558663.tar.gz
If block size is zero, use normal file operations to do I/O,
this eliminates a divided-by-zero fault. Recommended by: phk
Diffstat (limited to 'sys/kern/vfs_aio.c')
-rw-r--r--sys/kern/vfs_aio.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c
index b2722dc..0ec14b8 100644
--- a/sys/kern/vfs_aio.c
+++ b/sys/kern/vfs_aio.c
@@ -1117,6 +1117,9 @@ aio_qphysio(struct proc *p, struct aiocblist *aiocbe)
return (error);
}
+ if (vp->v_bufobj.bo_bsize == 0)
+ return (-1);
+
if (cb->aio_nbytes % vp->v_bufobj.bo_bsize)
return (-1);
OpenPOWER on IntegriCloud