#
f55f27f8 |
| 17-Apr-2008 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Allow linker_search_symbol_name() to be called with KLD lock held. The linker_search_symbol_name() function is used by stack_print() and stack_print() can be called from kernel module unload method.
Allow linker_search_symbol_name() to be called with KLD lock held. The linker_search_symbol_name() function is used by stack_print() and stack_print() can be called from kernel module unload method.
MFC after: 1 week
show more ...
|
#
237fdd78 |
| 16-Mar-2008 |
Robert Watson <rwatson@FreeBSD.org> |
In keeping with style(9)'s recommendations on macros, use a ';' after each SYSINIT() macro invocation. This makes a number of lightweight C parsers much happier with the FreeBSD kernel source, inclu
In keeping with style(9)'s recommendations on macros, use a ';' after each SYSINIT() macro invocation. This makes a number of lightweight C parsers much happier with the FreeBSD kernel source, including cflow's prcc and lxr.
MFC after: 1 month Discussed with: imp, rink
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
22db15c0 |
| 13-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
VOP_LOCK1() (and so VOP_LOCK()) and VOP_UNLOCK() are only used in conjuction with 'thread' argument passing which is always curthread. Remove the unuseful extra-argument and pass explicitly curthread
VOP_LOCK1() (and so VOP_LOCK()) and VOP_UNLOCK() are only used in conjuction with 'thread' argument passing which is always curthread. Remove the unuseful extra-argument and pass explicitly curthread to lower layer functions, when necessary.
KPI results broken by this change, which should affect several ports, so version bumping and manpage update will be further committed.
Tested by: kris, pho, Diego Sardina <siarodx at gmail dot com>
show more ...
|
#
cdd475b3 |
| 01-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
The kernel linker includes a number of utility functions to look up symbol information in support of DDB(4); these functions bypass normal linker locking as they may run in contexts where locking is
The kernel linker includes a number of utility functions to look up symbol information in support of DDB(4); these functions bypass normal linker locking as they may run in contexts where locking is unsafe (such as the kernel debugger).
Add a new interface linker_ddb_search_symbol_name(), which looks up a symbol name and offset given an address, and also linker_search_symbol_name() which does the same but *does* follow the locking conventions of the linker.
Unlike existing functions, these functions place the name in a caller-provided buffer, which is stable even after linker locks have been released. These functions will be used in upcoming revisions to stack(9) to support kernel stack trace generation in contexts as part of a live, rather than suspended, kernel.
show more ...
|
#
f6c15301 |
| 18-Nov-2007 |
John Birrell <jb@FreeBSD.org> |
Add a function to list symbols in a file and their values at the same time rather than having to list the symbols and then go back and look each one up by name.
|
#
30d239bc |
| 24-Oct-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Merge first in a series of TrustedBSD MAC Framework KPI changes from Mac OS X Leopard--rationalize naming for entry points to the following general forms:
mac_<object>_<method/action> mac_<objec
Merge first in a series of TrustedBSD MAC Framework KPI changes from Mac OS X Leopard--rationalize naming for entry points to the following general forms:
mac_<object>_<method/action> mac_<object>_check_<method/action>
The previous naming scheme was inconsistent and mostly reversed from the new scheme. Also, make object types more consistent and remove spaces from object types that contain multiple parts ("posix_sem" -> "posixsem") to make mechanical parsing easier. Introduce a new "netinet" object type for certain IPv4/IPv6-related methods. Also simplify, slightly, some entry point names.
All MAC policy modules will need to be recompiled, and modules not updates as part of this commit will need to be modified to conform to the new KPI.
Sponsored by: SPARTA (original patches against Mac OS X) Obtained from: TrustedBSD Project, Apple Computer
show more ...
|
#
1676805c |
| 22-Oct-2007 |
John Birrell <jb@FreeBSD.org> |
Add the full module path name to the kld_file_stat structure for kldstat(2).
This allows libdtrace to determine the exact file from which a kernel module was loaded without having to guess.
The kld
Add the full module path name to the kld_file_stat structure for kldstat(2).
This allows libdtrace to determine the exact file from which a kernel module was loaded without having to guess.
The kldstat(2) API is versioned with the size of the kld_file_stat structure, so this change creates version 2.
Add the pathname to the verbose output of kldstat(8) too.
MFC: 3 days
show more ...
|
#
9e223287 |
| 31-May-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
Revert UF_OPENING workaround for CURRENT. Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation argument from being file descriptor index into the pointer to struct file.
Pr
Revert UF_OPENING workaround for CURRENT. Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation argument from being file descriptor index into the pointer to struct file.
Proposed and reviewed by: jhb Reviewed by: daichi (unionfs) Approved by: re (kensmith)
show more ...
|
#
c14d15ae |
| 22-Apr-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Remove MAC Framework access control check entry points made redundant with the introduction of priv(9) and MAC Framework entry points for privilege checking/granting. These entry points exactly alig
Remove MAC Framework access control check entry points made redundant with the introduction of priv(9) and MAC Framework entry points for privilege checking/granting. These entry points exactly aligned with privileges and provided no additional security context:
- mac_check_sysarch_ioperm() - mac_check_kld_unload() - mac_check_settime() - mac_check_system_nfsd()
Add mpo_priv_check() implementations to Biba and LOMAC policies, which, for each privilege, determine if they can be granted to processes considered unprivileged by those two policies. These mostly, but not entirely, align with the set of privileges granted in jails.
Obtained from: TrustedBSD Project
show more ...
|
#
0c14ff0e |
| 04-Mar-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Remove 'MPSAFE' annotations from the comments above most system calls: all system calls now enter without Giant held, and then in some cases, acquire Giant explicitly.
Remove a number of other MPSAF
Remove 'MPSAFE' annotations from the comments above most system calls: all system calls now enter without Giant held, and then in some cases, acquire Giant explicitly.
Remove a number of other MPSAFE annotations in the credential code and tweak one or two other adjacent comments.
show more ...
|
#
4a0f58d2 |
| 26-Feb-2007 |
John Baldwin <jhb@FreeBSD.org> |
Fix a comment.
|
#
498eccc9 |
| 23-Feb-2007 |
John Baldwin <jhb@FreeBSD.org> |
Drop the global kernel linker lock while executing the sysinit's for a freshly-loaded kernel module. To avoid various unload races, hide linker files whose sysinit's are being run from userland so t
Drop the global kernel linker lock while executing the sysinit's for a freshly-loaded kernel module. To avoid various unload races, hide linker files whose sysinit's are being run from userland so that they can't be kldunloaded until after all the sysinit's have finished.
Tested by: gallatin
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
acd3428b |
| 06-Nov-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Sweep kernel replacing suser(9) calls with priv(9) calls, assigning specific privilege names to a broad range of privileges. These may require some future tweaking.
Sponsored by: nCircle
Sweep kernel replacing suser(9) calls with priv(9) calls, assigning specific privilege names to a broad range of privileges. These may require some future tweaking.
Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
show more ...
|
#
aed55708 |
| 22-Oct-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Complete break-out of sys/sys/mac.h into sys/security/mac/mac_framework.h begun with a repo-copy of mac.h to mac_framework.h. sys/mac.h now contains the userspace and user<->kernel API and definitio
Complete break-out of sys/sys/mac.h into sys/security/mac/mac_framework.h begun with a repo-copy of mac.h to mac_framework.h. sys/mac.h now contains the userspace and user<->kernel API and definitions, with all in-kernel interfaces moved to mac_framework.h, which is now included across most of the kernel instead.
This change is the first step in a larger cleanup and sweep of MAC Framework interfaces in the kernel, and will not be MFC'd.
Obtained from: TrustedBSD Project Sponsored by: SPARTA
show more ...
|
#
0f8e0c3d |
| 10-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Explicitly use STAILQ_REMOVE_HEAD() when we know we are removing the head element to avoid confusing Coverity. It's now also easier for humans to parse as well.
Found by: Coverity Prevent(tm) CID:
Explicitly use STAILQ_REMOVE_HEAD() when we know we are removing the head element to avoid confusing Coverity. It's now also easier for humans to parse as well.
Found by: Coverity Prevent(tm) CID: 1201
show more ...
|
#
0bf8969c |
| 10-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Fix two more instances of using a linker_file_t object in TAILQ() macros after free'ing it.
Found by: Coverity Prevent(tm) CID: 1435
|
#
6b5b470a |
| 10-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Don't try to reuse the linker_file structure after we've freed it when throwing out the kld's loaded by the loader that didn't successfully link.
Found by: Coverity Prevent(tm) CID: 1435
|
#
398c993b |
| 06-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
- Explicitly acquire Giant around SYSINIT's and SYSUNINIT's since they are not all known to be MPSAFE yet. - Actually remove Giant from the kernel linker by taking it out of the KLD_LOCK() and KL
- Explicitly acquire Giant around SYSINIT's and SYSUNINIT's since they are not all known to be MPSAFE yet. - Actually remove Giant from the kernel linker by taking it out of the KLD_LOCK() and KLD_UNLOCK() macros.
Pointy hat to: jhb (2)
show more ...
|
#
70f37788 |
| 21-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
Replace the kld_mtx mutex with a kld_sx sx lock and expand it's scope to protect all linker-related data structures including the contents of linker file objects and the any linker class data as well
Replace the kld_mtx mutex with a kld_sx sx lock and expand it's scope to protect all linker-related data structures including the contents of linker file objects and the any linker class data as well. Considering how rarely the linker is used I just went with the simple solution of single-threading the whole thing rather than expending a lot of effor on something more fine-grained and complex. Giant is still explicitly acquired while registering and deregistering sysctl's as well as in the elf linker class while calling kmupetext(). The rest of the linker runs without Giant unless it has to acquire Giant while loading files from a non-MPSAFE filesystem.
show more ...
|
#
cbda6f95 |
| 21-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
- Push down Giant in kldfind() and kldsym(). - Remove several goto's by either using direct return's or else clauses.
|
#
9dd44bd7 |
| 21-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
Fix two comments and a style fix.
|
#
0df29727 |
| 21-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
Various whitespace fixes.
|
#
62d615d5 |
| 20-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
Conditionally acquire Giant around VFS operations.
|
#
aeeb017b |
| 20-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
- Push Giant down into linker_reference_module(). - Add a new function linker_release_module() as a more intuitive complement to linker_reference_module() that wraps linker_file_unload(). linker_
- Push Giant down into linker_reference_module(). - Add a new function linker_release_module() as a more intuitive complement to linker_reference_module() that wraps linker_file_unload(). linker_release_module() can either take the module name and version info passed to linker_reference_module() or it can accept the linker file object returned by linker_reference_module().
show more ...
|
#
f462ce3e |
| 20-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
Make linker_find_file_by_name() and linker_find_file_by_id() static to simplify linker locking. The only external consumers now use linker_file_foreach().
|