#
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, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, 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 |
|
#
e9adb5b2 |
| 01-May-2020 |
Sascha Wildner <saw@online.de> |
kernel/vinum: Fix panic when vinum was loaded twice.
Occurred when it was both compiled into the kernel and in loader.conf at the same time.
Reported-by: CuteLarva (on IRC)
|
Revision tags: v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, 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, 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 |
|
#
8406cf70 |
| 15-Jun-2017 |
Sascha Wildner <saw@online.de> |
kernel: Add 'static' to some function definitions.
The declarations already have it, so no functional difference.
|
Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0 |
|
#
2f0acc22 |
| 17-Jul-2016 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Improve physio performance
* See http://apollo.backplane.com/DFlyMisc/nvme_sys03.txt
* Hash the pbuf system. This chops down spin-lock collisions at high transaction rates (>150K IOPS)
kernel - Improve physio performance
* See http://apollo.backplane.com/DFlyMisc/nvme_sys03.txt
* Hash the pbuf system. This chops down spin-lock collisions at high transaction rates (>150K IOPS) by 1000x.
* Implement a pbuf with pre-allocated kernel memory that we copy into, avoiding page table manipulations and thus avoiding system-wide invltlb/invlpg IPIs.
* This increases NVMe IOPS tests with three cards from 150K-200K IOPS to 950K IOPS using physio (random read, 4K blocks, from urandom-filled partition, with many process threads, from 3 NVMe cards in parallel).
* Further adjustments to the vkernel build.
show more ...
|
Revision tags: v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, 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, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0 |
|
#
9859c634 |
| 02-Jan-2013 |
Sascha Wildner <saw@online.de> |
Remove some emacs variable settings.
|
Revision tags: v3.2.2 |
|
#
22e19989 |
| 05-Nov-2012 |
Sascha Wildner <saw@online.de> |
kernel: Remove unneeded #include <sys/devicestat.h> in disk/RAID drivers.
|
Revision tags: v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
311467df |
| 20-Jan-2012 |
Sascha Wildner <saw@online.de> |
kernel: Remove two more major numbers.
|
#
4090d6ff |
| 03-Jan-2012 |
Sascha Wildner <saw@online.de> |
kernel: Use NULL for pointers.
|
#
fdd5d60b |
| 19-Dec-2011 |
Sascha Wildner <saw@online.de> |
vinum(4): Remove some casts to union and solve it in standard C.
|
#
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, v2.5.1, v2.4.1, v2.5.0, v2.4.0 |
|
#
4de0b3dc |
| 15-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
VINUM - Fix reinitialization bug
* If the vinum config is destroyed vinum_conf is zerod, which unfortunately wipes out the pbuf counter.
Generally refactor the vinum_conf init code into its own
VINUM - Fix reinitialization bug
* If the vinum config is destroyed vinum_conf is zerod, which unfortunately wipes out the pbuf counter.
Generally refactor the vinum_conf init code into its own procedure.
show more ...
|
#
5ad175c9 |
| 15-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
DEVFS - Refactor vinum to operate with devfs
* vinum now accepts devtab labels and device paths (such as serial numbers) in drive specifications. Note that devtab labels will be convreted to de
DEVFS - Refactor vinum to operate with devfs
* vinum now accepts devtab labels and device paths (such as serial numbers) in drive specifications. Note that devtab labels will be convreted to device serial numbers in the on-disk configuration.
* vinum now creates and destroys its own devices via DEVFS.
* Fix some buf/bio issues related to recent buf/bio work. bio_done is required for ad-hoc buffers such as the kind vinum uses, and also required for any synchronous IO.
* Remove adhoc device associations. Instead store the device returned by make_dev() in appropriate internal structures.
show more ...
|
#
d736a600 |
| 15-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
DEVTAG - Add devtab suppor for disklabel, disklabel64, and fdisk
|
#
3e82b46c |
| 01-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
DEVFS - remove dev_ops_add(), dev_ops_get(), and get_dev()
|
#
cd29885a |
| 01-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
DEVFS - Bring in Alex's GSOC kernel adjustments.
This is a rollup commit bringing in Alex Hornung's GSOC adjustments to the main kernel codebase for DEVFS.
Submitted-by: Alex Hornung <ahornung@gmai
DEVFS - Bring in Alex's GSOC kernel adjustments.
This is a rollup commit bringing in Alex Hornung's GSOC adjustments to the main kernel codebase for DEVFS.
Submitted-by: Alex Hornung <ahornung@gmail.com>
show more ...
|
Revision tags: v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0 |
|
#
895c1f85 |
| 15-Dec-2008 |
Michael Neumann <mneumann@ntecs.de> |
suser_* to priv_* conversion
|
Revision tags: v2.1.1, v2.0.1 |
|
#
e0fc5693 |
| 15-May-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
* The diskslice abstraction now stores offsets/sizes as 64 bit quantities. (NOTE: DOS partition tables and standard disklabels can't handle 64 bit sector numbers yet). For future pluggable diskl
* The diskslice abstraction now stores offsets/sizes as 64 bit quantities. (NOTE: DOS partition tables and standard disklabels can't handle 64 bit sector numbers yet). For future pluggable disklabel/partitioning schemes.
* The kernel panic / kernel core API is now 64 bits.
* The VN device now uses 64 bit sector numbers and can handle block devices up to what is supported by the filesystem (typically 8TB). This change was made primarily so we can test future disklabel / partition table support.
* Pass 64 bit LBAs to various block devices and to the SCSI layer.
* Check for and assert 32 bit overflow conditions in various places, instead of wrapping.
show more ...
|
#
e381404c |
| 03-Nov-2006 |
Simon Schubert <corecode@dragonflybsd.org> |
re-add vinumsize, so that vinum volumes can be used to swap on
|
#
b13267a5 |
| 10-Sep-2006 |
Matthew Dillon <dillon@dragonflybsd.org> |
Change the kernel dev_t, representing a pointer to a specinfo structure, to cdev_t. Change struct specinfo to struct cdev. The name 'cdev' was taken from FreeBSD. Remove the dev_t shim for the ker
Change the kernel dev_t, representing a pointer to a specinfo structure, to cdev_t. Change struct specinfo to struct cdev. The name 'cdev' was taken from FreeBSD. Remove the dev_t shim for the kernel.
This commit generally removes the overloading of 'dev_t' between userland and the kernel.
Also fix a bug in libkvm where a kernel dev_t (now cdev_t) was not being properly converted to a userland dev_t.
show more ...
|
#
77652cad |
| 05-Sep-2006 |
Matthew Dillon <dillon@dragonflybsd.org> |
Rename malloc->kmalloc, free->kfree, and realloc->krealloc. Pass 2
|
#
efda3bd0 |
| 05-Sep-2006 |
Matthew Dillon <dillon@dragonflybsd.org> |
Rename malloc->kmalloc, free->kfree, and realloc->krealloc. Pass 1
|
#
bc01a404 |
| 03-Sep-2006 |
Matthew Dillon <dillon@dragonflybsd.org> |
Rename functions to avoid conflicts with libc.
|
#
fef8985e |
| 28-Jul-2006 |
Matthew Dillon <dillon@dragonflybsd.org> |
MASSIVE reorganization of the device operations vector. Change cdevsw to dev_ops. dev_ops is a syslink-compatible operations vector structure similar to the vop_ops structure used by vnodes.
Remov
MASSIVE reorganization of the device operations vector. Change cdevsw to dev_ops. dev_ops is a syslink-compatible operations vector structure similar to the vop_ops structure used by vnodes.
Remove a huge number of instances where a thread pointer is still being passed as an argument to various device ops and other related routines. The device OPEN and IOCTL calls now take a ucred instead of a thread pointer, and the CLOSE call no longer takes a thread pointer.
show more ...
|
#
e1c944c6 |
| 16-Jul-2006 |
Matthew Dillon <dillon@dragonflybsd.org> |
Use pbufs instead of ebufs.
Submitted-by: "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>
|