|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
685dc743 |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
|
Revision tags: release/13.2.0 |
|
| #
8deb442c |
| 02-Apr-2023 |
Steve Kiernan <[email protected]> |
mac: Honor order when registering MAC modules.
Ensure MAC modules are inserted in order that they are registered.
Reviewed by: markj Obtained from: Juniper Networks, Inc. Differential Revision: htt
mac: Honor order when registering MAC modules.
Ensure MAC modules are inserted in order that they are registered.
Reviewed by: markj Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D39589
show more ...
|
|
Revision tags: release/12.4.0 |
|
| #
60dae3b8 |
| 08-Aug-2022 |
Mateusz Guzik <[email protected]> |
mac: cheaper check for mac_pipe_check_read
Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D36082
|
|
Revision tags: release/13.1.0, release/12.3.0 |
|
| #
f77697dd |
| 29-Jun-2021 |
Mateusz Guzik <[email protected]> |
mac: cheaper check for ifnet_create_mbuf and ifnet_check_transmit
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
|
Revision tags: release/13.0.0 |
|
| #
77589de8 |
| 08-Jan-2021 |
Mateusz Guzik <[email protected]> |
mac: cheaper check for mac_vnode_check_readlink
|
| #
33f3e81d |
| 01-Jan-2021 |
Mateusz Guzik <[email protected]> |
cache: combine fast path enabled status into one flag
Tested by: pho
|
| #
89744405 |
| 19-Nov-2020 |
Mateusz Guzik <[email protected]> |
pipe: allow for lockless pipe_stat
pipes get stated all thet time and this avoidably contributed to contention. The pipe lock is only held to accomodate MAC and to check the type.
Since normally th
pipe: allow for lockless pipe_stat
pipes get stated all thet time and this avoidably contributed to contention. The pipe lock is only held to accomodate MAC and to check the type.
Since normally there is no probe for pipe stat depessimize this by having the flag.
The pipe_state field gets modified with locks held all the time and it's not feasible to convert them to use atomic store. Move the type flag away to a separate variable as a simple cleanup and to provide stable field to read. Use short for both fields to avoid growing the struct.
While here short-circuit MAC for pipe_poll as well.
show more ...
|
|
Revision tags: release/12.2.0 |
|
| #
18f67bc4 |
| 05-Aug-2020 |
Mateusz Guzik <[email protected]> |
vfs: add a cheaper entry for mac_vnode_check_access
|
| #
fad6dd77 |
| 29-Jul-2020 |
Mateusz Guzik <[email protected]> |
vfs: elide MAC-induced locking on rename if there are no relevant hoooks
|
| #
3ea3fbe6 |
| 16-Jul-2020 |
Mateusz Guzik <[email protected]> |
vfs: fix vn_poll performance with either MAC or AUDIT
The code would unconditionally lock the vnode to audit or call the mac hoook, even if neither want to do anything. Pre-check the state to avoid
vfs: fix vn_poll performance with either MAC or AUDIT
The code would unconditionally lock the vnode to audit or call the mac hoook, even if neither want to do anything. Pre-check the state to avoid locking in the common case of nothing to do.
Note this code should not be normally executed anyway as vnodes are always return ready. However, poll1/2 from will-it-scale use regular files for benchmarking, presumably to focus on the interface itself as the vnode handler is not supposed to do almost anything.
This in particular fixes poll2 which passes 128 fds.
$ ./poll2_processes -s 10 before: 134411 after: 271572
show more ...
|
|
Revision tags: release/11.4.0 |
|
| #
407a5b79 |
| 04-Apr-2020 |
Jason A. Harmening <[email protected]> |
mac_policy: Remove mac_policy_sx
This lock was made unnecessary by the addition of mac_policy_rms in r356120.
Reviewed by: mjg, kib Differential Revision: https://reviews.freebsd.org/D24283
|
| #
7029da5c |
| 26-Feb-2020 |
Pawel Biernacki <[email protected]> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
| #
6ebab6ba |
| 13-Feb-2020 |
Mateusz Guzik <[email protected]> |
vfs: use mac fastpath for lookup, open, read, write, mmap
|
| #
91061084 |
| 13-Feb-2020 |
Mateusz Guzik <[email protected]> |
mac: implement fast path for checks
All checking routines walk a linked list of all modules in order to determine if given hook is installed. This became a significant problem after mac_ntpd started
mac: implement fast path for checks
All checking routines walk a linked list of all modules in order to determine if given hook is installed. This became a significant problem after mac_ntpd started being loaded by default.
Implement a way perform checks for select hooks by testing a boolean.
Use it for priv_check and priv_grant, which are constantly called from priv_check.
The real fix would use hotpatching, but the above provides a way to know when to do it.
show more ...
|
| #
deb2e577 |
| 27-Dec-2019 |
Mateusz Guzik <[email protected]> |
mac: use a sleepable rmlock instead of an sx lock
If any non-static modules are loaded (and mac_ntpd tends to be), the lock is taken all the time al over the kernel. On platforms like arm64 this res
mac: use a sleepable rmlock instead of an sx lock
If any non-static modules are loaded (and mac_ntpd tends to be), the lock is taken all the time al over the kernel. On platforms like arm64 this results in an avoidable significant performance degradation. Since write-locking is almost never needed, use a primitive optimized towards read-locking.
Sample result of building the kernel on tmpfs 11 times: stock 11142.80s user 6704.44s system 4924% cpu 6:02.42 total patched 11118.95s user 2374.94s system 4547% cpu 4:56.71 total
show more ...
|
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0 |
|
| #
6324de03 |
| 01-Aug-2018 |
Mark Johnston <[email protected]> |
Require that MAC label buffers be able to store a non-empty string.
The buffer size may be used to initialize an sbuf in MAC_POLICY_EXTERNALIZE, and without this constraint it's possible to trigger
Require that MAC label buffers be able to store a non-empty string.
The buffer size may be used to initialize an sbuf in MAC_POLICY_EXTERNALIZE, and without this constraint it's possible to trigger an assertion failure in the sbuf code. With INVARIANTS disabled, the first attempt to write to the sbuf will fail.
Reported by: pho Reviewed by: delphij MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D16527
show more ...
|
|
Revision tags: release/11.2.0, release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0 |
|
| #
bc5ade0d |
| 06-May-2016 |
Pedro F. Giffuni <[email protected]> |
sys/security: minor spelling fixes.
No functional change.
|
|
Revision tags: release/10.3.0 |
|
| #
36160958 |
| 16-Dec-2015 |
Mark Johnston <[email protected]> |
Fix style issues around existing SDT probes.
- Use SDT_PROBE<N>() instead of SDT_PROBE(). This has no functional effect at the moment, but will be needed for some future changes. - Don't hardcode
Fix style issues around existing SDT probes.
- Use SDT_PROBE<N>() instead of SDT_PROBE(). This has no functional effect at the moment, but will be needed for some future changes. - Don't hardcode the module component of the probe identifier. This is set automatically by the SDT framework.
MFC after: 1 week
show more ...
|
|
Revision tags: release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0 |
|
| #
523b2279 |
| 25-Dec-2013 |
Bjoern A. Zeeb <[email protected]> |
As constantly reported during kernel compilation, m_buflen is unsigned so can never be < 0. Remove the expression, which can never be true.
MFC after: 1 week
|
| #
d9fae5ab |
| 26-Nov-2013 |
Andriy Gapon <[email protected]> |
dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE
In its stead use the Solaris / illumos approach of emulating '-' (dash) in probe names with '__' (two consecutive underscores).
Revie
dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE
In its stead use the Solaris / illumos approach of emulating '-' (dash) in probe names with '__' (two consecutive underscores).
Reviewed by: markj MFC after: 3 weeks
show more ...
|
| #
54366c0b |
| 25-Nov-2013 |
Attilio Rao <[email protected]> |
- For kernel compiled only with KDTRACE_HOOKS and not any lock debugging option, unbreak the lock tracing release semantic by embedding calls to LOCKSTAT_PROFILE_RELEASE_LOCK() direclty in the in
- For kernel compiled only with KDTRACE_HOOKS and not any lock debugging option, unbreak the lock tracing release semantic by embedding calls to LOCKSTAT_PROFILE_RELEASE_LOCK() direclty in the inlined version of the releasing functions for mutex, rwlock and sxlock. Failing to do so skips the lockstat_probe_func invokation for unlocking. - As part of the LOCKSTAT support is inlined in mutex operation, for kernel compiled without lock debugging options, potentially every consumer must be compiled including opt_kdtrace.h. Fix this by moving KDTRACE_HOOKS into opt_global.h and remove the dependency by opt_kdtrace.h for all files, as now only KDTRACE_FRAMES is linked there and it is only used as a compile-time stub [0].
[0] immediately shows some new bug as DTRACE-derived support for debug in sfxge is broken and it was never really tested. As it was not including correctly opt_kdtrace.h before it was never enabled so it was kept broken for a while. Fix this by using a protection stub, leaving sfxge driver authors the responsibility for fixing it appropriately [1].
Sponsored by: EMC / Isilon storage division Discussed with: rstone [0] Reported by: rstone [1] Discussed with: philip
show more ...
|
| #
92c6196c |
| 01-Oct-2013 |
Mark Johnston <[email protected]> |
Fix some typos that were causing probe argument types to show up as unknown.
Reviewed by: rwatson (mac provider) Approved by: re (glebius) MFC after: 1 week
|
| #
f7fadf1f |
| 29-Sep-2013 |
Konstantin Belousov <[email protected]> |
Make the mac_policy_rm lock recursable, which allows reentrance into the mac framework. It is needed when priv_check_cred(9) is called from the mac callback, e.g. in the mac_portacl(4).
Reported by
Make the mac_policy_rm lock recursable, which allows reentrance into the mac framework. It is needed when priv_check_cred(9) is called from the mac callback, e.g. in the mac_portacl(4).
Reported by: az Reviewed by: rwatson Sponsored by: The FreeBSD Foundation MFC after: 1 week Approved by: re (gjb)
show more ...
|
|
Revision tags: release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0 |
|
| #
7a7ce668 |
| 12-Dec-2011 |
Andriy Gapon <[email protected]> |
put sys/systm.h at its proper place or add it if missing
Reported by: lstewart, tinderbox Pointyhat to: avg, attilio MFC after: 1 week MFC with: r228430
|
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0 |
|
| #
123d2cb7 |
| 12-Jan-2011 |
Matthew D Fleming <[email protected]> |
sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.
Commit the security directory.
|