summaryrefslogtreecommitdiffstats
path: root/sys/kern/syscalls.master
Commit message (Collapse)AuthorAgeFilesLines
* Get ready to mark open, creat and nosys as MPSAFE.dwmalone2004-03-161-3/+3
|
* Drop the proc lock around calls to the MD functions ptrace_single_step(),jhb2004-03-151-1/+1
| | | | | | | | | | ptrace_set_pc(), and cpu_ptrace() so that those functions are free to acquire Giant, sleep, etc. We already do a PHOLD/PRELE around them so that it is safe to sleep inside of these routines if necessary. This allows ptrace() to be marked MP safe again as it no longer triggers lock order reversals on Alpha. Tested by: wilko
* Push Giant down a little further:peter2004-03-131-1/+1
| | | | | | | | | | | | | | | - no longer serialize on Giant for thread_single*() and family in fork, exit and exec - thread_wait() is mpsafe, assert no Giant - reduce scope of Giant in exit to not cover thread_wait and just do vm_waitproc(). - assert that thread_single() family are not called with Giant - remove the DROP/PICKUP_GIANT macros from thread_single() family - assert that thread_suspend_check() s not called with Giant - remove manual drop_giant hack in thread_suspend_check since we know it isn't held. - remove the DROP/PICKUP_GIANT macros from thread_suspend_check() family - mark kse_create() mpsafe
* Add ksem_timedwait() to complement ksem_wait().deischen2004-02-031-0/+1
| | | | Glanced at by: alfred
* Put restrict back in, the compilation failure was my fault when Ialfred2003-12-261-8/+8
| | | | | | did a bad merge from the PR. Thanks to Bruce Evans for explaining.
* We're not ready for restrict qualifiers here.alfred2003-12-241-8/+8
|
* Add restrict qualifiers.alfred2003-12-241-4/+8
| | | | | PR: 44394 Submitted by: Craig Rodrigues <rodrige@attbi.com>
* Remove namespc column and attempt to un-fold some of the longer linespeter2003-12-231-563/+543
| | | | that now fit.
* Update file locations for syscall tables to copy to.peter2003-12-101-3/+4
|
* Add kse_switchin(2). This syscall can be used by KSE implementationsmarcel2003-12-071-0/+2
| | | | | | | | to have the kernel switch to a new thread, instead of doing it in userland. It is in fact needed on ia64 where syscall restarts do not return to userland first. It's completely handled inside the kernel. As such, any context created by the kernel as part of an upcall and caused by some syscall needs to be restored by the kernel.
* - Revision 1.156 marked ptrace() SMP safe. Unfortunately, alpha implementsjeff2003-11-141-1/+1
| | | | | | parts of ptrace using proc_rwmem(). proc_rwmem() requires giant, and giant must be acquired prior to the proc lock, so ptrace must require giant still.
* Update the statfs structure with 64-bit fields to allowmckusick2003-11-121-8/+10
| | | | | | | | | | | | | | | | | accurate reporting of multi-terabyte filesystem sizes. You should build and boot a new kernel BEFORE doing a `make world' as the new kernel will know about binaries using the old statfs structure, but an old kernel will not know about the new system calls that support the new statfs structure. Running an old kernel after a `make world' will cause programs such as `df' that do a statfs system call to fail with a bad system call. Reviewed by: Bruce Evans <bde@zeta.org.au> Reviewed by: Tim Robbins <tjr@freebsd.org> Reviewed by: Julian Elischer <julian@elischer.org> Reviewed by: the hoards of <arch@freebsd.org> Sponsored by: DARPA & NAI Labs.
* Mark ptrace(), ktrace(), utrace(), sysarch(), and issetugid() as MP safe.jhb2003-11-071-5/+5
| | | | The parts of these calls that are not yet MP safe acquire Giant explicitly.
* Don peril-sensitive sunglasses and mark pipe(2) as MPSAFE. I've beaten upscottl2003-10-211-1/+1
| | | | | on it for the last 15 hours with no signs of problems. It gives a small (1%) gain on buildworld since pipe_read/pipe_write are already free of Giant.
* Mark dup as MPSAFE. Giant was pushed into dup ages ago, but it looksdwmalone2003-10-201-1/+1
| | | | | | like it was missed in syscalls.master. Spotted by: alc
* msync(2) should be declared MP-safe.alc2003-09-071-1/+1
|
* o Refine kse_thr_interrupt to allow it to handle different commands.davidxu2003-07-171-1/+1
| | | | | | | o Remove TDF_NOSIGPOST. o Add a member td_waitset to proc structure, it will be used for sigwait. Tested by: deischen
* o Change kse_thr_interrupt to allow send a signal to a specified thread,davidxu2003-06-281-1/+1
| | | | | | | | | | | | | | | | | or unblock a thread in kernel, and allow UTS to specify whether syscall should be restarted. o Add ability for UTS to monitor signal comes in and removed from process, the flag PS_SIGEVENT is used to indicate the events. o Add a KMF_WAITSIGEVENT for KSE mailbox flag, UTS call kse_release with this flag set to wait for above signal event. o For SA based thread, kernel masks all signal in its signal mask, let UTS to use kse_thr_interrupt interrupt a thread, and install a signal frame in userland for the thread. o Add a tm_syncsig in thread mailbox, when a hardware trap occurs, it is used to deliver synchronous signal to userland, and upcall is schedule, so UTS can process the synchronous signal for the thread. Reviewed by: julian (mentor)
* Add system calls to explicitly list extended attributes on arwatson2003-06-041-0/+6
| | | | | | | | | | | | | | | | | | file/directory/link, rather than using a less explicit hack on the extattr retrieval API: extattr_list_fd() extattr_list_file() extattr_list_link() The existing API was counter-intuitive, and poorly documented. The prototypes for these system calls are identical to extattr_get_*(), but without a specific attribute name to leave NULL. Pointed out by: Dominic Giampaolo <dbg@apple.com> Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* o In struct prison, add an allprison linked list of prisons (protectedmike2003-04-091-0/+1
| | | | | | | | | | | | | | | by allprison_mtx), a unique prison/jail identifier field, two path fields (pr_path for reporting and pr_root vnode instance) to store the chroot() point of each jail. o Add jail_attach(2) to allow a process to bind to an existing jail. o Add change_root() to perform the chroot operation on a specified vnode. o Generalize change_dir() to accept a vnode, and move namei() calls to callers of change_dir(). o Add a new sysctl (security.jail.list) which is a group of struct xprison instances that represent a snapshot of active jails. Reviewed by: rwatson, tjr
* - Mark the various thr syscalls as MP safe. Previously there was a bug ifjeff2003-04-011-4/+4
| | | | this was not done since thr_exit() unwinds giant.
* - Include umtx.h in files generated by makesyscalls.shjeff2003-04-011-0/+2
| | | | - Add system calls for umtx.
* - Add the four thr related system calls.jeff2003-04-011-0/+4
|
* - Define sigwait, sigtimedwait, and sigwaitinfo in terms ofjeff2003-03-311-2/+5
| | | | | | kern_sigtimedwait() which is capable of supporting all of their semantics. - These should be POSIX compliant but more careful review is needed before we announce this.
* Add a timeout parameter to kse_release.davidxu2003-02-201-1/+1
|
* Add const qualifier to data argument for msgsnd.alfred2003-01-261-1/+1
| | | | | PR: standards/45274 Submitted by: Craig Rodrigues <rodrigc@attbi.com>
* Bring shm functions closer the the opengroup standards.alfred2003-01-251-3/+3
| | | | | PR: 47469 Submitted by: Craig Rodrigues <rodrigc@attbi.com>
* Bring semop() closer the the opengroup standards.alfred2003-01-251-1/+1
| | | | | PR: 47471 Submitted by: Craig Rodrigues <rodrigc@attbi.com>
* Some KSE syscalls are MPSAFE.davidxu2003-01-041-3/+3
|
* Add definitions for four new system calls:rwatson2002-12-291-0/+8
| | | | | | | | | | | | | | | | __acl_get_link() Retrieve an ACL by name without following symbolic links. __acl_set_link() Set an ACL by name without following symbolic links. __acl_delete_link() Delete an ACL by name without following symbolic links. __acl_aclcheck_link() Check an ACL against a file by name without following symbolic links. These calls are similar in spirit to lstat(), lchown(), lchmod(), etc, and will be used under similar circumstances. Obtained from: TrustedBSD Project
* This is David Schultz's swapoff code which I am finally able to commit.dillon2002-12-151-0/+1
| | | | | | | This should be considered highly experimental for the moment. Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU> MFC after: 3 weeks
* Add getcontext, setcontext, and swapcontext as system calls.deischen2002-11-161-0/+4
| | | | | | | | | | | Previously these were libc functions but were requested to be made into system calls for atomicity and to coalesce what might be two entrances into the kernel (signal mask setting and floating point trap) into one. A few style nits and comments from bde are also included. Tested on alpha by: gallatin
* Flesh out the definition of __mac_execve(): per earlier discussion,rwatson2002-11-051-1/+2
| | | | | | | | it's essentially execve() with an optional MAC label argument. Approved by: re Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Rename __execve_mac() to __mac_execve() for increased consistencyrwatson2002-11-011-1/+1
| | | | | | with other MAC system calls. Requested by: various (phk, gordont, jake, ...)
* Split 4.x and 5.x signal handling so that we can keep 4.x signalpeter2002-10-251-5/+6
| | | | | | | | | | | | | | | | handling clean and functional as 5.x evolves. This allows some of the nasty bandaids in the 5.x codepaths to be unwound. Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an anti-foot-shooting measure in place, 5.x folks need this for a while) and finish encapsulating the older stuff under COMPAT_43. Since the ancient stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *' to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn is supposed to take), add a compile time check to prevent foot shooting there too. Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc. Tested on: i386, alpha, ia64. Compiled on sparc64 (a few days ago). Approved by: re
* Flesh out prototypes for __mac_get_pid, __mac_get_link, andrwatson2002-10-221-3/+5
| | | | | | | | | | __mac_set_link, based on __mac_get_proc() except with a pid, and __mac_get_file(), __mac_set_file() except that they do not follow symlinks. First in a series of commits to flesh out the user API. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Stake a claim on 418 (__xstat), 419 (__xfstat), 420 (__xlstat)peter2002-10-191-0/+3
|
* Grab 416/417 real estate before I get burned while testing again.peter2002-10-191-0/+2
| | | | | | This is for the not-quite-ready signal/fpu abi stuff. It may not see the light of day, but I'm certainly not going to be able to validate it when getting shot in the foot due to syscall number conflicts.
* Add a placeholder for the execve_mac() system call, similar to SELinux'srwatson2002-10-191-0/+1
| | | | | | | | | | | | execve_secure() system call, which permits a process to pass in a label for a label change during exec. This permits SELinux to change the label for the resulting exec without a race following a manual label change on the process. Because this interface uses our general purpose MAC label abstraction, we call it execve_mac(), and wrap our port of SELinux's execve_secure() around it with appropriate sid mappings. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Restore pointer that was removed in 1.128. This wasn't a merge-o.peter2002-10-151-0/+4
|
* Fix what looks like a merge-o from a conflict in the last commit torwatson2002-10-101-9/+4
| | | | syscalls.master.
* Add a pointer to the alternate syscall tables on 64 bit platforms.peter2002-10-091-0/+8
|
* Flesh out the extattr_{delete,get,set}_link() system calls: variationsrwatson2002-10-091-3/+8
| | | | | | | on the _file() theme that do not follow symlinks. Sync to MAC tree. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Let kse_wakeup() take a KSE mailbox pointer argument.archie2002-10-021-1/+1
| | | | Reviewed by: julian
* Reserve system call numbers for the following system calls:rwatson2002-10-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | __mac_get_pid Retrieve MAC label of a process by pid Similar to __mac_get_proc() except that the target process of the operation is explicitly specified rather than assuming curthread. __mac_get_link Retrieve MAC label of a path with NOFOLLOW __mac_set_link Set MAC label of a path with NOFOLLOW extattr_set_link Set EAs on a path with NOFOLLOW extattr_get_link Retrieve EAs on a path with NOFOLLOW extattr_delete_link Delete EAs on a path with NOFOLLOW These calls are similar to __mac_get_file(), __mac_set_file(), extattr_set_file(), extattr_get_file(), and extattr_delete_file(), except that they do not follow symlinks. The distinction between these calls is similar to lchown() vs chown(). Implementations to follow. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Make the following name changes to KSE related functions, etc., to betterarchie2002-09-251-4/+4
| | | | | | | | | | | | | | | represent their purpose and minimize namespace conflicts: kse_fn_t -> kse_func_t struct thread_mailbox -> struct kse_thr_mailbox thread_interrupt() -> kse_thr_interrupt() kse_yield() -> kse_release() kse_new() -> kse_create() Add missing declaration of kse_thr_interrupt() to <sys/kse.h>. Regenerate the various generated syscall files. Minor style fixes. Reviewed by: julian
* Add the rest of the kernel support for the sem_ API in kern/uipc_sem.c.alfred2002-09-191-0/+15
| | | | | | | | | | Option 'P1003_1B_SEMAPHORES' to compile them in, or load the "sem" module to activate them. Have kern/makesyscalls.sh emit an include for sys/_semaphore.h into sysproto.h to pull in the typedef for semid_t. Add the syscalls to the syscall table as module stubs.
* mac_syscall is now implemented, switch to MSTD.rwatson2002-08-191-1/+1
| | | | | Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
* Rename mac_policy() to mac_syscall() to be more reflective of itsrwatson2002-08-061-1/+1
| | | | | | | | purpose. Submitted by: cvance@tislabs.com Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
* Introduce support for Mandatory Access Control and extensiblerwatson2002-07-301-6/+8
| | | | | | | | | | | kernel access control. Replace 'void *' with 'struct mac *' now that mac.h is in the base tree. The current POSIX.1e-derived userland MAC interface is schedule for replacement, but will act as a functional placeholder until the replacement is done. These system calls allow userland processes to get and set labels on both the current process, as well as file system objects and file descriptor backed objects.
OpenPOWER on IntegriCloud