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 ...
kernel: Remove <sys/mutex.h> from all files that don't need it (2/2).98% of these were remains from porting from FreeBSD which could havebeen removed after converting to lockmgr(), etc.Due to an
kernel: Remove <sys/mutex.h> from all files that don't need it (2/2).98% of these were remains from porting from FreeBSD which could havebeen removed after converting to lockmgr(), etc.Due to an issue in my checking earlier, not everything was cleaned upcorrectly.
kernel: Remove <sys/mutex.h> from all files that don't need it.98% of these were remains from porting from FreeBSD which could havebeen removed after converting to lockmgr(), etc.While here, do
kernel: Remove <sys/mutex.h> from all files that don't need it.98% of these were remains from porting from FreeBSD which could havebeen removed after converting to lockmgr(), etc.While here, do the same for <sys/mutex2.h>.
world/kernel: Use the {set,clr}bit() and is{set,clr}() macros a bit more.Tested-by: zrj
world/kernel: Use the powerof2() macro in various places.
kernel - Fix panic in uhci attach error path (2)* Add missing header file for last commit.
kernel - Fix panic in uhci attach error path* Fix a panic in uhci's attach error path for an early failure case. uhci was trying to release a non-existant irq.Reported-by: peeter007, zrj
kernel - Sync usb3.0 pci ids w/FreeBSD* Add missing PCI ids for Sunrise Point, Lewisburg, Union Point, and Cavium ThunderX.Reported-by: dualcyclo
kernel/usb4bsd: Add missing descriptions for C610/X99 controllers.Codename Wellsburg.While there, fix few typos and match entries in share/misc/pci_vendors.
kernel - xhci cleanup, lock attach* Lock xhci during attach to avoid spurious interrupts from hitting the interrupt routine too early.* Install interrupt after controller startup, but before
kernel - xhci cleanup, lock attach* Lock xhci during attach to avoid spurious interrupts from hitting the interrupt routine too early.* Install interrupt after controller startup, but before the main usb code begins querying it.* Cleanup syntax
kernel/usb4bsd: Use pci_alloc_1intr() for MSI allocation in xhci_pci.c.* The existing pci_alloc_msi() call was still expecting the FreeBSD API, causing a panic on single-cpu machines when trying
kernel/usb4bsd: Use pci_alloc_1intr() for MSI allocation in xhci_pci.c.* The existing pci_alloc_msi() call was still expecting the FreeBSD API, causing a panic on single-cpu machines when trying to allocate an MSI. SMP machines didn't panic, but were accidentally always using CPU1 for the xhci MSI interrupt.
kernel/usb4bsd: Configure the correct bMaxPacketSize for control endpoints.* Configure the correct bMaxPacketSize for control endpoints before requesting the initial complete device descriptor an
kernel/usb4bsd: Configure the correct bMaxPacketSize for control endpoints.* Configure the correct bMaxPacketSize for control endpoints before requesting the initial complete device descriptor and not as part of the subsequent babble error recovery. Babble means that the received USB packet was bigger than than configured maximum packet size. This only affects enumeration of FULL speed USB devices which use a bMaxPacketSize different from 8 bytes. This patch might help fix enumeration of USB devices which exhibit USB I/O errors in dmesg during boot.Taken-From: FreeBSD (svn r295928)
kernel - Add quirks for xhci (usb)* Add quirks to force 32-bit dma for two chips, one taken from FreeBSD, the other from testing an AMD A10-7300 which reports a 64-bit dma capability but fails
kernel - Add quirks for xhci (usb)* Add quirks to force 32-bit dma for two chips, one taken from FreeBSD, the other from testing an AMD A10-7300 which reports a 64-bit dma capability but fails when 32-bit dma is used.Reported-by: Xenu <1000@carychium-tridentatum.xenu.pl> (irc)
usb4bsd: Cleanup pass0.* Adjust indentation, whitespace and typos.
Fix detach panic introduced by 67616947The panic is caused by an off-by-one error in the comparison.
kernel/usb4bsd: Remove bogus header file.
kernel - Fix mountroot / usb diskkey race.* Use the intr_config_hook mechanism to prevent mountroot from running until all usb busses have completed two scans. umass's CAM intr_config_hook wil
kernel - Fix mountroot / usb diskkey race.* Use the intr_config_hook mechanism to prevent mountroot from running until all usb busses have completed two scans. umass's CAM intr_config_hook will take over once umass is detected.* Pull the hw.usb.xhci.use_polling tunable out of USB_DEBUG and make it work generally. Setting this feature in /boot/loader.conf to 1 forces xhci to always poll. The polling rate is not the best in the world with this commit so do not expect good performance. Only use if your USB doesn't work due to e.g. interrupt routing issues.
kernel - Sync ehci controller with FreeBSD* Sync ehci controller w/FreeBSD to FreeBSD 8c1b21d9ef, ehci.c and ehci.h only.* Contains better fix for doorbell issue from FreeBSD devs.* Fixes num
kernel - Sync ehci controller with FreeBSD* Sync ehci controller w/FreeBSD to FreeBSD 8c1b21d9ef, ehci.c and ehci.h only.* Contains better fix for doorbell issue from FreeBSD devs.* Fixes numerous ehci port issues that the older hack had not fixed.Testing-by: tm512, dillon
usb4bsd: Add Wildcat Point-LP controllerThis enables routing of ports through the XHCI instead of the EHCI ondevices with this controller, such as the Broadwell NUC.
kernel/usb4bsd: Unbreak building with USB_DEBUG in the config.
usb - Update bus/u4b* Update bus/u4b from FreeBSD to commit 3121e258c76aa, 10 March 2015, with the following commit message: Lock softc before clearing bits.* Some bits not updated. Som
usb - Update bus/u4b* Update bus/u4b from FreeBSD to commit 3121e258c76aa, 10 March 2015, with the following commit message: Lock softc before clearing bits.* Some bits not updated. Some changes around the MSI handling work differently in DFly so I punted on that. And the serial/tty in FreeBSD is a bit different, particular this 'pps' stuff.* Numerous bits of code currently conditionalized out use ABI features from FreeBSD, particularly RWTUN, which we do not yet have. Currently non-critical, we can fix these as the related code gets used (if the related code gets used).Reviewed-by: Markus Pfeiffer
kernel/usb4bsd: Update pci drivers for HCIsThis adds support for 64bit DMA for chips that support it. This needsfurther testing.
kernel/usb4bsd: Update uhci and ohci drivers
kernel/usb4bsd: Add file ID to ehci.cNote that ehci.c was heavily modified by Matt Dillon.
kernel/usb4bsd: Update xhci to r278477
123