diff options
author | davidxu <davidxu@FreeBSD.org> | 2006-02-22 00:05:12 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2006-02-22 00:05:12 +0000 |
commit | 44accb1d3bdc701b321417fb9b77560144558663 (patch) | |
tree | fbdab11b02b708b5b8f9c7d346051cefdbad37f3 /sys/kern/vfs_aio.c | |
parent | 129e00e81f0f83db1352b5c5c34698ca5af7c7bb (diff) | |
download | FreeBSD-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.c | 3 |
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); |