Date: Mon, 7 Feb 2005 18:44:55 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/compat/linux linux_ipc.c src/sys/kern kern_descrip.c sysv_msg.c vfs_lookup.c vfs_syscalls.c src/sys/sys syscallsubr.h Message-ID: <200502071844.j17Iit8X032544@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2005-02-07 18:44:55 UTC FreeBSD src repository Modified files: sys/compat/linux linux_ipc.c sys/kern kern_descrip.c sysv_msg.c vfs_lookup.c vfs_syscalls.c sys/sys syscallsubr.h Log: - Tweak kern_msgctl() to return a copy of the requested message queue id structure in the struct pointed to by the 3rd argument for IPC_STAT and get rid of the 4th argument. The old way returned a pointer into the kernel array that the calling function would then access afterwards without holding the appropriate locks and doing non-lock-safe things like copyout() with the data anyways. This change removes that unsafeness and resulting race conditions as well as simplifying the interface. - Implement kern_foo wrappers for stat(), lstat(), fstat(), statfs(), fstatfs(), and fhstatfs(). Use these wrappers to cut out a lot of code duplication for freebsd4 and netbsd compatability system calls. - Add a new lookup function kern_alternate_path() that looks up a filename under an alternate prefix and determines which filename should be used. This is basically a more general version of linux_emul_convpath() that can be shared by all the ABIs thus allowing for further reduction of code duplication. Revision Changes Path 1.42 +2 -3 src/sys/compat/linux/linux_ipc.c 1.274 +17 -19 src/sys/kern/kern_descrip.c 1.59 +5 -7 src/sys/kern/sysv_msg.c 1.70 +113 -0 src/sys/kern/vfs_lookup.c 1.371 +96 -122 src/sys/kern/vfs_syscalls.c 1.22 +17 -5 src/sys/sys/syscallsubr.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502071844.j17Iit8X032544>