#
cc8e70bd |
| 08-Oct-2024 |
Sergey Zigachev <s.zi@outlook.com> |
kern - Make lseek(2) generic
* Extend fileops with fo_seek function allowing pluggable lseek(2) implementations. Part of preparation for linux DMA-BUF compat API.
* Move current vnode lseek imple
kern - Make lseek(2) generic
* Extend fileops with fo_seek function allowing pluggable lseek(2) implementations. Part of preparation for linux DMA-BUF compat API.
* Move current vnode lseek implementation into vnode and devfs fileops. Code is exactly the same in both, note about duplication added.
* Set remaining fileops to badfo_seek.
Mentored-By: dillon
show more ...
|
#
2b3f93ea |
| 13-Oct-2023 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Add per-process capability-based restrictions
* This new system allows userland to set capability restrictions which turns off numerous kernel features and root accesses. These restricti
kernel - Add per-process capability-based restrictions
* This new system allows userland to set capability restrictions which turns off numerous kernel features and root accesses. These restrictions are inherited by sub-processes recursively. Once set, restrictions cannot be removed.
Basic restrictions that mimic an unadorned jail can be enabled without creating a jail, but generally speaking real security also requires creating a chrooted filesystem topology, and a jail is still needed to really segregate processes from each other. If you do so, however, you can (for example) disable mount/umount and most global root-only features.
* Add new system calls and a manual page for syscap_get(2) and syscap_set(2)
* Add sys/caps.h
* Add the "setcaps" userland utility and manual page.
* Remove priv.9 and the priv_check infrastructure, replacing it with a newly designed caps infrastructure.
* The intention is to add path restriction lists and similar features to improve jailess security in the near future, and to optimize the priv_check code.
show more ...
|
Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.2.0, v6.3.0 |
|
#
f4e72ada |
| 25-Nov-2021 |
Sascha Wildner <saw@online.de> |
kernel: Staticize some variables.
|
Revision tags: v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0 |
|
#
03608863 |
| 21-Feb-2021 |
Sascha Wildner <saw@online.de> |
<sys/sysent.h>: Remove the old SCARG() macro, de-SCARG() the mqueue code.
|
Revision tags: v5.8.3, v5.8.2 |
|
#
80d831e1 |
| 25-Jul-2020 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Refactor in-kernel system call API to remove bcopy()
* Change the in-kernel system call prototype to take the system call arguments as a separate pointer, and make the contents read-onl
kernel - Refactor in-kernel system call API to remove bcopy()
* Change the in-kernel system call prototype to take the system call arguments as a separate pointer, and make the contents read-only.
int sy_call_t (void *); int sy_call_t (struct sysmsg *sysmsg, const void *);
* System calls with 6 arguments or less no longer need to copy the arguments from the trapframe to a holding structure. Instead, we simply point into the trapframe.
The L1 cache footprint will be a bit smaller, but in simple tests the results are not noticably faster... maybe 1ns or so (roughly 1%).
show more ...
|
Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3 |
|
#
944cd60c |
| 25-Sep-2019 |
Sascha Wildner <saw@online.de> |
<sys/time.h>: Add 3rd arg to timespecadd()/sub() and make them public.
* Switch to the three argument versions of the timespecadd() and timespecsub() macros. These are now the predominant ones. Fr
<sys/time.h>: Add 3rd arg to timespecadd()/sub() and make them public.
* Switch to the three argument versions of the timespecadd() and timespecsub() macros. These are now the predominant ones. FreeBSD, OpenBSD, NetBSD, and Solaris (albeit only for the kernel) have them.
* Make those macros public too. This allows for a number of cleanups where they were defined locally.
Pointed-out-by: zrj Reviewed-by: dillon
show more ...
|
Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1 |
|
#
35949930 |
| 20-Apr-2018 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - per-thread fd cache, p_fd lock bypass
* Implement a per-thread (fd,fp) cache. Cache hits can keep fp's in a held state (avoiding the need to fhold()/fdrop() the ref count), and bypasse
kernel - per-thread fd cache, p_fd lock bypass
* Implement a per-thread (fd,fp) cache. Cache hits can keep fp's in a held state (avoiding the need to fhold()/fdrop() the ref count), and bypasses the p_fd spinlock. This allows the file pointer structure to generally be shared across cpu caches.
* Can cache up to four descriptors in each thread, LRU. This is the common case. Highly threaded programs tend to focus work on a distinct file descriptors in each thread.
* One file descriptor can be cached in up to four threads. This is a significant limitation, though relatively uncommon. On a cache miss the code drops into the normal shared p_fd spinlock lookup.
show more ...
|
Revision tags: v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc |
|
#
49525c61 |
| 25-Oct-2016 |
Sascha Wildner <saw@online.de> |
Remove <sys/stdbool.h>. The kernel has bool etc. in <sys/types.h> now.
|
Revision tags: v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4 |
|
#
6c27df07 |
| 01-Aug-2015 |
Sascha Wildner <saw@online.de> |
kernel: Use <sys/stdbool.h> in kernel code, not <stdbool.h>.
|
Revision tags: v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc |
|
#
981e3cc8 |
| 26-May-2015 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Sanity-check getutimes().
* Sanity check getutimes() and getutimens()
* Also note futimes commit just before this one was also Submitted-by: stateless.
Submitted-by: stateless
|
Revision tags: v4.0.5, v4.0.4 |
|
#
59b728a7 |
| 18-Feb-2015 |
Sascha Wildner <saw@online.de> |
sys/kern: Adjust some function declaration vs. definition mismatches.
All these functions are declared static already, so no functional change.
|
Revision tags: v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0 |
|
#
a8d3ab53 |
| 25-Oct-2013 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - proc_token removal pass stage 1/2
* Remove proc_token use from all subsystems except kern/kern_proc.c.
* The token had become mostly useless in these subsystems now that process locking
kernel - proc_token removal pass stage 1/2
* Remove proc_token use from all subsystems except kern/kern_proc.c.
* The token had become mostly useless in these subsystems now that process locking is more fine-grained. Do the final wipe of proc_token except for allproc/zombproc list use in kern_proc.c
show more ...
|
Revision tags: v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|
Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0 |
|
#
42ba1892 |
| 17-Oct-2009 |
Stathis Kamperis <beket@dragonflybsd.org> |
mqueues: Remove left-over commented out code.
|
#
766730da |
| 17-Oct-2009 |
Stathis Kamperis <beket@dragonflybsd.org> |
mqueues: Remove left-over commented out code.
|
#
f2df0f7c |
| 07-Oct-2009 |
Stathis Kamperis <beket@dragonflybsd.org> |
mqueues: Port POSIX message queues from NetBSD.
|
#
45a3dbb7 |
| 16-Mar-2011 |
Venkatesh Srinivas <me@endeavour.zapto.org> |
kernel -- Mark MQUEUE filterops MPSAFE.
MQ filterops use lockmgr locks to synchronize; don't need MPLOCK.
|
#
88be9cd1 |
| 04-Mar-2011 |
Venkatesh Srinivas <me@endeavour.zapto.org> |
kernel -- POSIX Message Queues: Remove objcache for MQ messages.
The MQ code was using objcache for messages upto the default max size; objcache was not really useful over kmalloc here, however. The
kernel -- POSIX Message Queues: Remove objcache for MQ messages.
The MQ code was using objcache for messages upto the default max size; objcache was not really useful over kmalloc here, however. The messages did not have any constructed object state to store and using kmalloc leads to using appropriately sized message buffers each time.
show more ...
|
#
d3a2b23d |
| 04-Mar-2011 |
Venkatesh Srinivas <me@endeavour.zapto.org> |
kernel -- Prevent POSIX MQ from overflowing malloc zones.
|
#
4c91dbc9 |
| 03-Aug-2010 |
Samuel J. Greear <sjg@thesjg.com> |
kernel - Make filters able to be marked MPSAFE
* Change struct filterops f_isfd field to f_flags, taking FILTEROP_ISFD and/or FILTEROP_MPSAFE.
* Convert all existing filter definitions to use new
kernel - Make filters able to be marked MPSAFE
* Change struct filterops f_isfd field to f_flags, taking FILTEROP_ISFD and/or FILTEROP_MPSAFE.
* Convert all existing filter definitions to use new flags.
* Create filter_attach/detach/event wrapper functions for calling through the struct filterops vector that grab the MPLOCK as necessary.
* kern_event() uses kq->kq_count to determine whether or not to sleep, kqueue_scan() removes events from the TAILQ and can possibly sleep, releasing the global kq token, before updating kq->kq_count.
show more ...
|
#
5b22f1a7 |
| 29-Jul-2010 |
Samuel J. Greear <sjg@thesjg.com> |
kernel - Remove kevent subsystem from under mplock
* Create a global token for the kevent subsystem to operate under
* Push klist insertion and removal into knote_insert()/knote_remove()
* Rename
kernel - Remove kevent subsystem from under mplock
* Create a global token for the kevent subsystem to operate under
* Push klist insertion and removal into knote_insert()/knote_remove()
* Rename struct selinfo to struct kqinfo
show more ...
|
#
b06aab00 |
| 18-Jul-2010 |
Samuel J. Greear <sjg@thesjg.com> |
kern - Add kq support to mqueue
|
#
468b4dde |
| 14-Jul-2010 |
Samuel J. Greear <sjg@thesjg.com> |
kernel - Tear out selwakeup()
|
#
37fcf290 |
| 14-Jul-2010 |
Samuel J. Greear <sjg@thesjg.com> |
kernel - Add missing KNOTE's
* Place a KNOTE call anywhere there is currently a call to selwakeup.
|
#
858b3437 |
| 11-Jul-2010 |
Samuel J. Greear <sjg@thesjg.com> |
kernel - Tear out descriptor polling
* Remove existing (now legacy) code that implements descriptor polling, kq filters are now the "One True (and only) Way"
|