#
fdafd315 |
|
24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
|
#
39024a89 |
|
25-Sep-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
syscalls: fix missing SIGSYS for several ENOSYS errors In particular, when the syscall number is too large, or when syscall is dynamic. For that, add nosys_sysent structure to pass fake sysent to syscall top code. Reviewed by: dchagin, markj Discussed with: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41976
|
#
685dc743 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
005aa174 |
|
01-Jul-2023 |
Ka Ho Ng <khng@FreeBSD.org> |
modules: bzero the modspecific_t Per https://reviews.llvm.org/D68115, only the first field is zero-initialized, meanwhile other fields are undef. The pattern can be observed on clang as well, that when -ftrivial-auto-var-init=pattern is specified 0xaa is filled for non-active fields, otherwise they are zero-initialized. Technically both are acceptable when using clang. However it would be good to simply bzero the modspecific_t in such case to be strict to the standard. MFC with: 2cab2d43b83b MFC after: 1 day Sponsored by: Juniper Networks, Inc. Reviewed by: delphij Differential Revision: https://reviews.freebsd.org/D40830
|
#
2cab2d43 |
|
27-Jun-2023 |
Ka Ho Ng <khng@FreeBSD.org> |
syscalls: fix modspecific_t stack content leak Zero-initialize the whole modspecific_t so that there would not be kernel stack content leak in the unused part. Sponsored by: Juniper Networks, Inc. MFC after: 1 days Differential Revision: https://reviews.freebsd.org/D40815
|
#
4d846d26 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
|
#
2cee5861 |
|
28-Dec-2021 |
John Baldwin <jhb@FreeBSD.org> |
sys/kern: Use C99 fixed-width integer types. No functional change. Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D33630
|
#
a1bd83fe |
|
08-Nov-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Move syscall_thread_{enter,exit}() into the slow path. This is only needed for syscalls from unloadable modules. Reviewed by: kib MFC after: 2 weeks Sponsored by: EPSRC Differential Revision: https://reviews.freebsd.org/D26988
|
#
64ebbdd5 |
|
11-Dec-2019 |
Andriy Gapon <avg@FreeBSD.org> |
add a sanity check to the system call registration code A system call number should be at least reserved. We do not expect an attempt to register a fixed number system call when nothing at all is known about it. MFC after: 3 weeks Sponsored by: Panzura
|
#
a2609714 |
|
02-Aug-2018 |
Andriy Gapon <avg@FreeBSD.org> |
fix a typo resulting in a wrong variable in kern_syscall_deregister The difference is between sysent, a global, and sysents, a function parameter.
|
#
79ca7cbf |
|
07-May-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
Avoid calls to syscall_thread_enter/exit for statically defined syscalls The entire mechanism is rarely used and is quite not performant due to atomci ops on the syscall table. It also has added overhead for completely unrelated syscalls. Reduce it by avoiding the func calls if possible (which consistutes vast majority of cases). Provides about 3% syscall rate speed up for getuid on Broadwell.
|
#
b81e88d2 |
|
20-Feb-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Reduce duplication in dynamic syscall registration code. Remove the unused syscall_(de)register() functions in favor of the better documented and easier to use syscall_helper_(un)register(9) functions. The default and freebsd32 versions differed in which array of struct sysents they used and a few missing updates to the 32-bit code as features were added to the main code. Reviewed by: cem Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14337
|
#
8a36da99 |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/kern: adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
|
#
f6f6d240 |
|
10-Jun-2015 |
Mateusz Guzik <mjg@FreeBSD.org> |
Implement lockless resource limits. Use the same scheme implemented to manage credentials. Code needing to look at process's credentials (as opposed to thred's) is provided with *_proc variants of relevant functions. Places which possibly had to take the proc lock anyway still use the proc pointer to access limits.
|
#
4ea6a9a2 |
|
10-Jun-2015 |
Mateusz Guzik <mjg@FreeBSD.org> |
Generalised support for copy-on-write structures shared by threads. Thread credentials are maintained as follows: each thread has a pointer to creds and a reference on them. The pointer is compared with proc's creds on userspace<->kernel boundary and updated if needed. This patch introduces a counter which can be compared instead, so that more structures can use this scheme without adding more comparisons on the boundary.
|
#
cdcf2428 |
|
01-Nov-2014 |
Mateusz Guzik <mjg@FreeBSD.org> |
Fix up module unload for syscall_module_handler consumers. After r273707 it was registering syscalls as static. This fixes hwpmc module unload. Reported by: markj
|
#
e015b1ab |
|
26-Oct-2014 |
Mateusz Guzik <mjg@FreeBSD.org> |
Avoid dynamic syscall overhead for statically compiled modules. The kernel tracks syscall users so that modules can safely unregister them. But if the module is not unloadable or was compiled into the kernel, there is no need to do this. Achieve this by adding SY_THR_STATIC_KLD macro which expands to SY_THR_STATIC during kernel build and 0 otherwise. Reviewed by: kib (previous version) MFC after: 2 weeks
|
#
5e5fd037 |
|
21-Oct-2010 |
Xin LI <delphij@FreeBSD.org> |
Call chainevh callback when we are invoked with neither MOD_LOAD nor MOD_UNLOAD. This makes it possible to add custom hooks for other module events. Return EOPNOTSUPP when there is no callback available. Pointed out by: jhb Reviewed by: jhb MFC after: 1 month
|
#
00e3c12e |
|
21-Oct-2010 |
Xin LI <delphij@FreeBSD.org> |
In syscall_module_handler(): all switch branches return, remove unreached code as pointed out in a Chinese forum [1]. [1] http://www.freebsdchina.org/forum/viewtopic.php?t=50619 Pointed out by: btw616 <btw s qq com> MFC after: 1 month
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
153ac44c |
|
28-Jun-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Count number of threads that enter and leave dynamically registered syscalls. On the dynamic syscall deregistration, wait until all threads leave the syscall code. This somewhat increases the safety of the loadable modules unloading. Reviewed by: jhb Tested by: pho MFC after: 1 month
|
#
0272ddd8 |
|
07-Apr-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
MFC r205321: Introduce SYSCALL_INIT_HELPER and SYSCALL32_INIT_HELPER macros and neccessary support functions to allow registering dynamically loaded syscalls from the MOD_LOAD handlers. Helpers handle registration failures semi-automatically.
|
#
0687ba3e |
|
19-Mar-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Introduce SYSCALL_INIT_HELPER and SYSCALL32_INIT_HELPER macros and neccessary support functions to allow registering dynamically loaded syscalls from the MOD_LOAD handlers. Helpers handle registration failures semi-automatically. Reviewed by: jhb MFC after: 2 weeks
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
da672ec2 |
|
18-Sep-2008 |
John Baldwin <jhb@FreeBSD.org> |
Various style fixes. 7 space indent is just odd.
|
#
03e161fd |
|
01-Aug-2006 |
John Baldwin <jhb@FreeBSD.org> |
Make system call modules a bit more robust: - If we fail to register the system call during MOD_LOAD, then note that so that we don't try to deregister it or invoke the chained event handler during the subsequent MOD_UNLOAD event. Doing the deregister when the register failed could result in trashing system call entries. - Add a SI_SUB_SYSCALLS just before starting up init and use that to register syscall modules instead of SI_SUB_DRIVERS. Registering system calls as late as possible increases the chances that any other module event handlers or SYSINITs in a module are executed to initialize the data in a kld before a syscall dependent on that data is able to be invoked. MFC after: 3 days
|
#
3e019dea |
|
15-Jul-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do a pass over all modules in the kernel and make them return EOPNOTSUPP for unknown events. A number of modules return EINVAL in this instance, and I have left those alone for now and instead taught MOD_QUIESCE to accept this as "didn't do anything".
|
#
677b542e |
|
10-Jun-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID().
|
#
9b3851e9 |
|
18-Mar-2002 |
Andrew R. Reiter <arr@FreeBSD.org> |
- Lock down the ``module'' structure by adding an SX lock that is used by all the global bits of ``module'' data. This commit adds a few generic macros, MOD_SLOCK, MOD_XLOCK, etc., that are meant to be used as ways of accessing the SX lock. It is also the first step in helping to lock down the kernel linker and module systems. Reviewed by: jhb, jake, smp@
|
#
b40ce416 |
|
12-Sep-2001 |
Julian Elischer <julian@FreeBSD.org> |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
|
#
78525ce3 |
|
01-Dec-2000 |
Alfred Perlstein <alfred@FreeBSD.org> |
sysvipc loadable. new syscall entry lkmressys - "reserved loadable syscall" Make syscall_register allow overwriting of such entries (lkmressys).
|
#
d1f088da |
|
11-Oct-1999 |
Peter Wemm <peter@FreeBSD.org> |
Trim unused options (or #ifdef for undoc options). Submitted by: phk
|
#
c3aac50f |
|
27-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
$Id$ -> $FreeBSD$
|
#
c049aba8 |
|
27-Jun-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Call the chained module handler before unregistering the syscall so that errors can be detected. Submitted by: "A.Yu.Isupov" <isupov@moonhe.jinr.ru> PR: kern/12239
|
#
46db4836 |
|
17-Jan-1999 |
Peter Wemm <peter@FreeBSD.org> |
Move lkmnosys() from kern_lkm.c to here.
|
#
a35261ef |
|
09-Jan-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Implement a mechanism for a module to report a small amount of module specific data back to the user via kldstat(2). Use that mechanism in the syscall handler to report the syscall number used.
|
#
4c3df794 |
|
09-Jan-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Implement support for adding syscalls in KLD modules. Submitted by: Assar Westerlund <assar@sics.se>
|