freebsd-dev/sys/kern
Christian S.J. Peron 4f0840f348 Axe Giant from vn_fullpath(9). The vnode -> pathname lookup should be
filesystem agnostic. We are not touching any file system specific functions
in this code path. Since we have a cache lock, there is really no need to
keep Giant around here.

This eliminates Giant acquisitions for any syscall which is auditing pathnames.

Discussed with:	jeff
2006-06-16 05:09:28 +00:00
..
bus_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
clock_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
cpufreq_if.m Introduce a new method, cpufreq_drv_type(), that returns the type of the 2005-02-18 00:23:36 +00:00
device_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
genassym.sh
imgact_aout.c Correct two vm object reference leaks in error cases. 2006-03-16 08:51:59 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Avoid a vm object reference leak in a rarely used code path. 2006-01-21 20:11:49 +00:00
imgact_gzip.c Maintain the lock on the vnode for most of exec_elfN_imgact(). 2005-12-24 04:57:50 +00:00
imgact_shell.c Fix a panic which could occur parsing #!-lines in a shell-script. If the 2005-06-19 02:21:03 +00:00
inflate.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
init_main.c The VERBOSE_SYSINIT stuff sees the DDB define a lot better if we include 2006-05-14 07:11:28 +00:00
init_sysent.c Regenerate. 2006-03-23 08:48:37 +00:00
kern_acct.c Audit path passed to the acct() system call. 2006-06-05 13:02:34 +00:00
kern_acl.c Implement new world order in VFS locking for ACLs. This will remove the 2005-09-17 22:01:14 +00:00
kern_alq.c - Conditionalize Giant around VFS operations for ALQ, ktrace, and 2006-03-28 21:30:22 +00:00
kern_clock.c Unexpand an instance of TAILQ_EMPTY() 2006-06-14 03:14:26 +00:00
kern_condvar.c Fix a sleep queue race for KSE thread. 2006-02-23 00:13:58 +00:00
kern_conf.c Make the printfs relating to purging threads from a device less intrusive. 2006-05-17 06:37:14 +00:00
kern_context.c
kern_cpu.c - Print message about cpufreq and timecounter TSC 2006-03-03 02:06:04 +00:00
kern_descrip.c Mark fgetsock() and fputsock() as depcrecated: callers should rely on 2006-04-01 11:09:54 +00:00
kern_environment.c Fix memory leak introduced in previous revision. 2006-03-15 19:23:08 +00:00
kern_event.c Use fget() in kqueue_register() instead of doing all the work by hand. 2006-06-12 21:46:23 +00:00
kern_exec.c In execve(), audit the path name being executed. In the future, it 2006-05-28 08:28:47 +00:00
kern_exit.c Close race between vmspace_exitfree() and exit1() and races between 2006-05-29 21:28:56 +00:00
kern_fork.c Fix a race between file operations and rfork(RFCFDG) by parking 2006-03-15 23:24:14 +00:00
kern_idle.c Divorce critical sections from spinlocks. Critical sections as denoted by 2005-04-04 21:53:56 +00:00
kern_intr.c Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
kern_jail.c Push Giant down in jails. Pass the MPSAFE flag to NDINIT, and keep track 2005-09-28 00:30:56 +00:00
kern_kse.c Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
kern_kthread.c Don't do a PHOLD() in kthread_create() w/o a matching PRELE() in 2006-02-22 17:21:45 +00:00
kern_ktr.c Whitespace. 2006-01-27 23:06:08 +00:00
kern_ktrace.c - Conditionalize Giant around VFS operations for ALQ, ktrace, and 2006-03-28 21:30:22 +00:00
kern_linker.c Unbreak 64-bit architectures. The 3rd argument to kern_kldload() is 2006-06-14 03:01:06 +00:00
kern_lock.c - Remove and unused include. 2005-12-23 21:32:40 +00:00
kern_lockf.c Print name of device instead of useless major/minor numbers. 2005-03-29 08:13:01 +00:00
kern_mac.c Don't call vn_finished_write() if vn_start_write() failed. 2006-03-19 20:43:07 +00:00
kern_malloc.c Fix bug in malloc_uninit(): 2006-03-03 22:36:52 +00:00
kern_mbuf.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
kern_mib.c mp_ncpus is always (properly) initialized, even on UP kernels, so just use it. 2005-08-21 18:03:31 +00:00
kern_module.c o Expand an exclusive lock scope to prevent a race between two 2006-06-15 08:53:09 +00:00
kern_mtxpool.c Make a bunch of malloc types static. 2005-02-10 12:02:37 +00:00
kern_mutex.c Bah, fix fat finger in last. Invert the ~ on MTX_FLAGMASK as it's 2006-06-03 21:11:33 +00:00
kern_ntptime.c Explicitly acquire Giant around the ntp_gettime() and assert it in the 2005-05-28 14:34:41 +00:00
kern_physio.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_pmc.c Fix -Wundef. 2005-12-04 02:12:43 +00:00
kern_poll.c Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
kern_proc.c CPU time accounting speedup (step 2) 2006-02-11 09:33:07 +00:00
kern_prot.c Audit the arguments (user/group IDs) for the system calls that set these IDs. 2006-02-06 00:32:33 +00:00
kern_resource.c Go over calcru and friends once more. 2006-03-11 10:48:19 +00:00
kern_rwlock.c Implement rw_try_upgrade() and rw_downgrade(). rw_try_upgrade() makes a 2006-04-19 21:06:52 +00:00
kern_sema.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_shutdown.c On shutdown try to turn off all swap devices. This way GEOM providers are 2006-04-10 10:03:41 +00:00
kern_sig.c Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
kern_subr.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_switch.c Add scheduler CORE, the work I have done half a year ago, recent, 2006-06-13 13:12:56 +00:00
kern_sx.c Add a new file (kern/subr_lock.c) for holding code related to struct 2006-01-17 16:55:17 +00:00
kern_synch.c Use scheduler API sched_relinquish() to implement yield() syscall. 2006-06-15 06:41:57 +00:00
kern_syscalls.c
kern_sysctl.c Make sysctl_msec_to_ticks(SYSCTL_HANDLER_ARGS) generally available instead 2006-02-16 15:40:36 +00:00
kern_tc.c Disable the "cputick increased..." message now that the dust has settled. 2006-03-15 20:22:32 +00:00
kern_thr.c Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
kern_thread.c Rethink it a bit, if there is a STOP flag, don't bother to resume other 2006-03-21 10:05:15 +00:00
kern_time.c Let kernel POSIX timer code and mqueue code to use integer as a resource 2006-03-01 06:29:34 +00:00
kern_timeout.c Use the recently added msleep_spin() function to simplify the 2006-02-23 19:13:12 +00:00
kern_umtx.c Move flag TDF_UMTXQ into structure umtxq, this eliminates the requirement 2006-05-18 08:43:46 +00:00
kern_uuid.c Add parse_uuid() that creates a binary representation of an UUID from 2005-10-07 13:37:10 +00:00
kern_xxx.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
ksched.c Add scheduler API sched_relinquish(), the API is used to implement 2006-06-15 06:37:39 +00:00
link_elf_obj.c Make our ELF64 type definitions match standards. In particular this 2005-12-18 04:52:37 +00:00
link_elf.c Make our ELF64 type definitions match standards. In particular this 2005-12-18 04:52:37 +00:00
linker_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
Make.tags.inc
Makefile Add a 'sysent' target that depends on the various files built from 2005-07-13 20:50:17 +00:00
makesyscalls.sh Introduce a new field in the syscalls.master file format to hold the 2005-05-30 15:09:18 +00:00
md4c.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
md5c.c Fix a panic on sparc64 related to inproper aligment - we cannot assume, 2006-03-30 18:45:50 +00:00
p1003_1b.c Don't allow non-root user to set a scheduler policy, otherwise this could 2006-05-21 00:40:38 +00:00
posix4_mib.c Back when VOP_* was introduced, we did not have new-style struct 2004-12-01 23:16:38 +00:00
sched_4bsd.c Add scheduler API sched_relinquish(), the API is used to implement 2006-06-15 06:37:39 +00:00
sched_core.c Add scheduler API sched_relinquish(), the API is used to implement 2006-06-15 06:37:39 +00:00
sched_ule.c Add scheduler API sched_relinquish(), the API is used to implement 2006-06-15 06:37:39 +00:00
serdev_if.m MFp4: Add the ipend() method to the serdev I/F to allow umbrella 2006-04-23 22:12:39 +00:00
subr_acl_posix1e.c Implement new world order in VFS locking for ACLs. This will remove the 2005-09-17 22:01:14 +00:00
subr_autoconf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_blist.c
subr_bus.c const'ify resource_spec to note that we won't be changing anything while 2006-04-20 01:44:16 +00:00
subr_clist.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_clock.c Remove more straggling CPU_ macro references 2006-05-11 17:53:26 +00:00
subr_devstat.c - Remove two mtx_asserts that can incorrectly trigger if 2005-05-03 10:58:05 +00:00
subr_disk.c Unexpand TAILQ_FIRST(foo) == NULL to TAILQ_EMPTY(foo). 2006-05-29 05:43:26 +00:00
subr_eventhandler.c eliminate potential null deref 2005-02-23 19:32:29 +00:00
subr_firmware.c A couple of minor style tweaks. 2006-06-13 21:34:12 +00:00
subr_hints.c The resource_xxx routines in subr_hints.c are called before and after the 2005-07-31 10:46:55 +00:00
subr_kdb.c Increment kdb_active after we stopped the other CPUs and decrement 2006-04-04 00:40:20 +00:00
subr_kobj.c Increment kobj_lookup_misses on a miss rather than decrementing it. 2005-12-29 18:00:42 +00:00
subr_lock.c Add a basic reader/writer lock implementation to the kernel. This 2006-01-27 23:13:26 +00:00
subr_log.c Use dynamic major number allocation. 2005-02-27 22:02:03 +00:00
subr_mbpool.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_mchain.c Change API of mb_copy_t in libmchain so that netsmb can handle 2005-07-29 13:22:37 +00:00
subr_module.c
subr_msgbuf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_param.c Partially revert revision 1.66, which contained a change that did not 2005-10-14 19:15:10 +00:00
subr_pcpu.c Fix 'show allpcpu' ddb command on non-x86. CPU IDs are in the range 0 .. 2005-11-03 21:06:29 +00:00
subr_power.c General consensus is that it would be even better to run this in a 2005-11-09 16:22:56 +00:00
subr_prf.c Implement printf 'X' conversion for both libstand and kernel. 2006-03-09 22:37:34 +00:00
subr_prof.c Change the addupc_*() functions to use the uintfptr_t type for pc rather 2005-12-16 22:08:32 +00:00
subr_rman.c Add a convenience function rman_init_from_resource for initializing 2006-06-12 04:06:21 +00:00
subr_rtc.c Remove more straggling CPU_ macro references 2006-05-11 17:53:26 +00:00
subr_sbuf.c Make sbuf_copyin() return the number of bytes copied on success. 2005-12-23 11:49:53 +00:00
subr_scanf.c
subr_sleepqueue.c Print td_name instead of p_comm if td_name is non-empty for 2006-04-21 20:40:43 +00:00
subr_smp.c Rename the KDB_STOP_NMI kernel option to STOP_NMI and make it apply to all 2005-10-24 21:04:19 +00:00
subr_stack.c Correct typos 2006-05-28 22:15:28 +00:00
subr_taskqueue.c When starting up threads in taskqueue_start_threads create them 2006-05-24 22:11:07 +00:00
subr_trap.c Test before modifying p_sflag to avoid unconditionally cache line 2006-02-10 14:59:16 +00:00
subr_turnstile.c Add some new commands to hopefully make it easier to diagnose lock-related 2006-04-25 20:28:17 +00:00
subr_unit.c Remove debugging printfs. 2005-03-14 06:51:29 +00:00
subr_witness.c Use db_lookup_thread() to lookup the thread for the passed in address 2006-04-25 20:24:23 +00:00
sys_generic.c Return error from fget_write() rather than hardcoding EBADF now that 2006-01-06 16:34:22 +00:00
sys_pipe.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
sys_process.c Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
sys_socket.c Introduce three additional MAC Framework and MAC Policy entry points to 2005-04-16 18:46:29 +00:00
syscalls.c Regenerate. 2006-03-23 08:48:37 +00:00
syscalls.master Revert previous commit at davidxu's insistance. Instead, use __DECONST 2006-03-28 14:32:38 +00:00
sysv_ipc.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
sysv_msg.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
sysv_sem.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
sysv_shm.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
tty_compat.c Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) 2006-01-10 09:19:10 +00:00
tty_conf.c
tty_cons.c If the console has no cncheckc method, use cngetc instead. 2006-05-26 11:00:20 +00:00
tty_pts.c Also check use_pty in the ptmx clone lookup; this means that when ptmx 2006-04-28 21:39:57 +00:00
tty_pty.c Don't destroy the slave /dev entry until someone figures out why devfs seems 2006-02-02 20:35:45 +00:00
tty_subr.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
tty_tty.c Merge the dev_clone and dev_clone_cred event handlers into a single 2005-08-08 19:55:32 +00:00
tty.c Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) 2006-01-10 09:19:10 +00:00
uipc_accf.c o setsockopt(2) cannot remove accept filter. [1] 2005-06-11 11:59:48 +00:00
uipc_cow.c Previously, nothing prevented the page that was returned by pmap_extract() 2005-10-23 07:41:56 +00:00
uipc_domain.c Allow for nmbclusters and maxsockets to be increased via sysctl. 2006-04-21 09:25:40 +00:00
uipc_mbuf2.c Define four constants, MBUF_{,MEM,CLUSTER,PACKET,TAG}_MEM_NAME, which 2005-07-17 14:04:03 +00:00
uipc_mbuf.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
uipc_mqueue.c Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
uipc_proto.c Remove UNIX domain socket raw socket support. This feature is documented 2006-04-09 16:29:47 +00:00
uipc_sem.c Convert remaining functions to ANSI C function declarations. 2006-01-22 00:30:46 +00:00
uipc_sockbuf.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
uipc_socket2.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
uipc_socket.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
uipc_syscalls.c Move some functions and definitions from uipc_socket2.c to uipc_socket.c: 2006-06-10 14:34:07 +00:00
uipc_usrreq.c o There are two methods to get a process credentials over the unix 2006-06-13 14:33:35 +00:00
vfs_acl.c Implement new world order in VFS locking for ACLs. This will remove the 2005-09-17 22:01:14 +00:00
vfs_aio.c Make lio ident more consistant with aio ident. 2006-06-02 17:45:48 +00:00
vfs_bio.c - Properly check against B_DELWRI and B_NEEDSGIANT. This check was 2006-04-04 06:44:21 +00:00
vfs_cache.c Axe Giant from vn_fullpath(9). The vnode -> pathname lookup should be 2006-06-16 05:09:28 +00:00
vfs_cluster.c Remove unused leaked debug function prototype. 2006-03-21 01:04:24 +00:00
vfs_default.c - GETWRITEMOUNT now returns a referenced mountpoint to prevent its 2006-03-31 03:52:24 +00:00
vfs_export.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
vfs_extattr.c Audit command, uid arguments for quotactl(). 2006-06-05 13:34:23 +00:00
vfs_hash.c In vfs_hash_get(): mount point should never be changed 2006-04-18 08:05:08 +00:00
vfs_init.c Use kern_kldload() and kern_kldunload() to load and unload modules when 2006-06-13 21:36:23 +00:00
vfs_lookup.c Lock giant when assigning ni_vp and keep vfslocked state valid. 2006-04-29 07:13:49 +00:00
vfs_mount.c Audit some arguments to nmount(), mount(), umount(). 2006-06-05 15:32:07 +00:00
vfs_subr.c Fix the LOR that occurs when the MAC compiled into the kernel 2006-06-08 07:55:10 +00:00
vfs_syscalls.c Audit command, uid arguments for quotactl(). 2006-06-05 13:34:23 +00:00
vfs_vnops.c Allow concurrent read(2)/readv(2) access to a file. 2006-05-16 07:50:54 +00:00
vnode_if.src Remove two locking assertion entries that: 2006-05-31 14:06:06 +00:00