Module Name: src Committed By: snj Date: Sat Jan 30 21:19:19 UTC 2010
Modified Files: src/sys/kern [netbsd-5]: sys_aio.c Log Message: Pull up following revision(s) (requested by rmind in ticket #1288): sys/kern/sys_aio.c: revision 1.28 via patch sys_aio_suspend, sys_lio_listio: - fix the buffer sizes. - use kmem_alloc instead of kmem_zalloc for buffers which we will overwrite soon. To generate a diff of this commit: cvs rdiff -u -r1.19.8.2 -r1.19.8.3 src/sys/kern/sys_aio.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/sys_aio.c diff -u src/sys/kern/sys_aio.c:1.19.8.2 src/sys/kern/sys_aio.c:1.19.8.3 --- src/sys/kern/sys_aio.c:1.19.8.2 Sat Jan 30 20:46:20 2010 +++ src/sys/kern/sys_aio.c Sat Jan 30 21:19:19 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: sys_aio.c,v 1.19.8.2 2010/01/30 20:46:20 snj Exp $ */ +/* $NetBSD: sys_aio.c,v 1.19.8.3 2010/01/30 21:19:19 snj Exp $ */ /* * Copyright (c) 2007, Mindaugas Rasiukevicius <rmind at NetBSD org> @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sys_aio.c,v 1.19.8.2 2010/01/30 20:46:20 snj Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_aio.c,v 1.19.8.3 2010/01/30 21:19:19 snj Exp $"); #include "opt_ddb.h" @@ -761,11 +761,11 @@ timo = 0; /* Get the list from user-space */ - aiocbp_list = kmem_zalloc(nent * sizeof(struct aio_job), KM_SLEEP); + aiocbp_list = kmem_alloc(nent * sizeof(*aiocbp_list), KM_SLEEP); error = copyin(SCARG(uap, list), aiocbp_list, - nent * sizeof(struct aiocb)); + nent * sizeof(*aiocbp_list)); if (error) { - kmem_free(aiocbp_list, nent * sizeof(struct aio_job)); + kmem_free(aiocbp_list, nent * sizeof(*aiocbp_list)); return error; } @@ -803,7 +803,7 @@ } kmem_free(aiocbp_list, - nent * sizeof(struct aio_job)); + nent * sizeof(*aiocbp_list)); return error; } } @@ -818,7 +818,7 @@ } mutex_exit(&aio->aio_mtx); - kmem_free(aiocbp_list, nent * sizeof(struct aio_job)); + kmem_free(aiocbp_list, nent * sizeof(*aiocbp_list)); return error; } @@ -898,9 +898,9 @@ } /* Get the list from user-space */ - aiocbp_list = kmem_zalloc(nent * sizeof(struct aio_job), KM_SLEEP); + aiocbp_list = kmem_alloc(nent * sizeof(*aiocbp_list), KM_SLEEP); error = copyin(SCARG(uap, list), aiocbp_list, - nent * sizeof(struct aiocb)); + nent * sizeof(*aiocbp_list)); if (error) { mutex_enter(&aio->aio_mtx); goto err; @@ -945,7 +945,7 @@ aio_sendsig(p, &lio->sig); pool_put(&aio_lio_pool, lio); } - kmem_free(aiocbp_list, nent * sizeof(struct aio_job)); + kmem_free(aiocbp_list, nent * sizeof(*aiocbp_list)); return error; }