Date: Tue, 10 Nov 2009 06:51:31 GMT From: Kouhei Ueno <k.ueno@fillot.jp> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/140441: order of arguments for mtx_init is incorrect in uipc_syscalls.c Message-ID: <200911100651.nAA6pVkE037410@www.freebsd.org> Resent-Message-ID: <200911100700.nAA70Bjp018967@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 140441 >Category: kern >Synopsis: order of arguments for mtx_init is incorrect in uipc_syscalls.c >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Nov 10 07:00:10 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Kouhei Ueno >Release: FreeBSD 8.0-RC1 i386 >Organization: Fillot Inc. >Environment: FreeBSD burmese-bsddev.home.nyaxtstep.com 8.0-RC1 FreeBSD 8.0-RC1 #0: Thu Oct 15 20:36:40 JST 2009 root@burmese-bsddev.home.nyaxtstep.com:/usr/src/sys/i386/compile/IZNA i386 >Description: In sendfile implementation, kern_sendfile, mtx_init(9) is called with its arguments in incorrect order. The third argument should be type, and the fourth argument should be opts. These are swapped in the implementation. Fortunately, MTX_DEF is defined to be zero (which would equal NULL), so the original code will not cause any problem. But still it is very confusing to read. >How-To-Repeat: don't know >Fix: patch to uipc_syscalls.c --- uipc_syscalls.c 2009-08-03 17:13:06.000000000 +0900 +++ uipc_syscalls.c.fix 2009-11-10 15:17:18.000000000 +0900 @@ -1885,7 +1885,7 @@ if (uap->flags & SF_SYNC) { sfs = malloc(sizeof *sfs, M_TEMP, M_WAITOK); memset(sfs, 0, sizeof *sfs); - mtx_init(&sfs->mtx, "sendfile", MTX_DEF, 0); + mtx_init(&sfs->mtx, "sendfile", NULL, MTX_DEF); cv_init(&sfs->cv, "sendfile"); } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911100651.nAA6pVkE037410>