freebsd-dev/sys/kern
Peter Wemm 472fe5e4db Dont allow directories to be link()ed or unlink()ed, even for root
(returns EPERM always, the errno is specified by POSIX).

If you really have a desperate need to link or unlink a directory, you
can use fsdb. :-)

This should stop any chance of ftpd, rdist, "rm -rf", etc from
bugging out and damaging the filesystem structure or loosing races
with malicious users.

Reviewed by: davidg, bde
1996-05-24 16:19:23 +00:00
..
imgact_aout.c First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
imgact_elf.c Removed unnecessary #includes from <sys/imgact.h> so that it is 1996-05-01 02:43:13 +00:00
imgact_gzip.c First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
imgact_shell.c Killed sections 3 and 4 of my copyright as I don't agree with it (I believe 1996-04-08 01:22:00 +00:00
inflate.c Removed unnecessary #includes of vm stuff. Most of them were once 1995-12-06 23:37:44 +00:00
init_main.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
init_sysent.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
init_sysvec.c Mega-commit for Linux emulator update.. This has been stress tested under 1996-03-02 19:38:20 +00:00
kern_acct.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_clock.c Staticize. 1995-12-17 21:23:44 +00:00
kern_conf.c kern_conf.c: remove a now unused variable. 1995-12-22 15:56:35 +00:00
kern_descrip.c Fixed the unit numbers of the devfs `fd' devices. 1996-03-27 19:19:58 +00:00
kern_devconf.c Properly calculate the amount of the devconf to output in SYSCTL_OUT. 1996-01-31 18:05:19 +00:00
kern_exec.c This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
kern_exit.c Spell cpu_switch() with an i in a comment. 1996-04-11 20:56:29 +00:00
kern_fork.c Fix a nasty bug that causes random crashes and lockups particularly on 1996-05-02 11:38:05 +00:00
kern_ktrace.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_lkm.c Change the *evil* allocation of memory from kmem_map to the kernel_map. 1996-05-24 01:39:50 +00:00
kern_lockf.c A Major staticize sweep. Generates a couple of warnings that I'll deal 1995-12-14 08:32:45 +00:00
kern_malloc.c Minor performance improvement to kern_malloc.c that increases the 1996-05-18 22:33:13 +00:00
kern_mib.c Move the "mib" variables out to their own file. 1996-04-07 13:03:06 +00:00
kern_ntptime.c Removed unnecessary #includes of vm stuff. Most of them were once 1995-12-06 23:37:44 +00:00
kern_physio.c devsw tables are now arrays of POINTERS to struct [cb]devsw 1995-12-13 15:13:57 +00:00
kern_proc.c Declared pgrpdump() properly. 1996-04-07 16:16:05 +00:00
kern_prot.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_random.c Use rdtsc() function instead of inline essembler. 1996-04-07 18:16:26 +00:00
kern_resource.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_sig.c Removed unnecessary #includes from <sys/imgact.h> so that it is 1996-05-01 02:43:13 +00:00
kern_subr.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_synch.c Don't generate code for the unused function sleep(). 1996-04-07 13:35:58 +00:00
kern_sysctl.c Fix a longstanding bug and a buglet of no significance. 1996-04-13 13:28:54 +00:00
kern_tc.c Staticize. 1995-12-17 21:23:44 +00:00
kern_time.c Removed never-used #includes of <machine/cpu.h>. Many were apparently 1996-04-07 17:39:28 +00:00
kern_timeout.c Staticize. 1995-12-17 21:23:44 +00:00
kern_xxx.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
Make.tags.inc Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
Makefile Remove bogus architectures to allow make tags to work. 1996-03-31 18:53:43 +00:00
makesyscalls.sh Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
md5c.c Clean a bunch of -Wall warnings. 1995-02-24 08:51:34 +00:00
subr_autoconf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
subr_clist.c Killed sections 3 and 4 of my copyright as I don't agree with it (I believe 1996-04-08 01:22:00 +00:00
subr_disklabel.c Clean up various compiler warnings. Most (if not all) were benign 1996-05-08 04:29:08 +00:00
subr_diskmbr.c Removed now-unused #includes of <machine/cpu.h>. They were for bootverbose 1996-04-07 17:32:42 +00:00
subr_diskslice.c Fixed removal of devfs entries for the real slice corresponding to the 1996-04-19 19:22:29 +00:00
subr_dkbad.c Fix a bug that b_flags was getting unnecessarily modified by 1996-03-01 19:01:04 +00:00
subr_log.c Fixed name of /dev/fs/klog (it's not "log"). 1996-03-27 19:45:28 +00:00
subr_param.c Allocate mbufs from a separate submap so that NMBCLUSTERS works as 1996-05-10 19:28:55 +00:00
subr_prf.c Correct a comment. There is no fn `kprintf' 1996-05-09 18:58:06 +00:00
subr_prof.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
subr_rlist.c In order to fix some concurrency problems with the swap pager early 1996-03-03 21:11:08 +00:00
subr_trap.c This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
subr_xxx.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
sys_generic.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
sys_pipe.c Various pipe error return fixes, and a significant typeo fix. From 1996-03-25 01:48:28 +00:00
sys_process.c removed: 1996-05-02 14:21:14 +00:00
sys_socket.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
syscalls.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
syscalls.master Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
sysv_ipc.c kern_descrip.c: add fdshare()/fdcopy() 1996-02-23 18:49:25 +00:00
sysv_msg.c Somehow managed to miss these four files when converting the SYSV IPC 1996-01-05 16:38:03 +00:00
sysv_sem.c Somehow managed to miss these four files when converting the SYSV IPC 1996-01-05 16:38:03 +00:00
sysv_shm.c uninitialized auto variable shmseg is used in ... 1996-05-05 13:53:48 +00:00
tty_compat.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_conf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_cons.c Removed unused #include. 1996-05-01 03:32:46 +00:00
tty_pty.c Fixed the PF_REMOTE case of ptcwrite(). I broke it in rev.1.22. Output 1996-04-11 18:43:37 +00:00
tty_snoop.c Switched from using devfs_add_devsw() to devfs_add_devswf() 1996-03-28 14:31:42 +00:00
tty_subr.c Killed sections 3 and 4 of my copyright as I don't agree with it (I believe 1996-04-08 01:22:00 +00:00
tty_tb.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_tty.c Switched from using devfs_add_devsw() to devfs_add_devswf() 1996-03-28 14:31:42 +00:00
tty.c removed: 1996-05-02 14:21:14 +00:00
uipc_domain.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
uipc_mbuf.c Ups, I removed NMB_INIT too. 1996-05-12 07:48:47 +00:00
uipc_proto.c Clean up various compiler warnings. Most (if not all) were benign 1996-05-08 04:29:08 +00:00
uipc_sockbuf.c Changed socket code to use 4.4BSD queue macros. This includes removing 1996-03-11 15:37:44 +00:00
uipc_socket2.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
uipc_socket.c Make it possible to return more than one piece of control information 1996-05-09 20:15:26 +00:00
uipc_syscalls.c Make it possible to return more than one piece of control information 1996-05-09 20:15:26 +00:00
uipc_usrreq.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_bio.c Make sure that we don't place a busy or held page onto the PQ_CACHE queue. 1996-05-24 05:21:58 +00:00
vfs_cache.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_cluster.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_conf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_export.c Put the "free vnode isn't" check back in the right place. 1996-03-09 06:43:19 +00:00
vfs_extattr.c Dont allow directories to be link()ed or unlink()ed, even for root 1996-05-24 16:19:23 +00:00
vfs_init.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_lookup.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_mount.c Finished (?) cleaning up sysinit stuff. 1995-12-02 17:11:20 +00:00
vfs_subr.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_syscalls.c Dont allow directories to be link()ed or unlink()ed, even for root 1996-05-24 16:19:23 +00:00
vfs_vnops.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vnode_if.pl Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
vnode_if.sh Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vnode_if.src Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00