#
0217f5c7 |
| 29-Sep-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Have EVFILT_TIMERS allocate their callouts via malloc() instead of using the static callout list allocated by the system.
Change malloc type from M_TEMP to M_KQUEUE to better track memory.
Add a ke
Have EVFILT_TIMERS allocate their callouts via malloc() instead of using the static callout list allocated by the system.
Change malloc type from M_TEMP to M_KQUEUE to better track memory.
Add a kern.kq_calloutmax to globally limit the amount of kernel memory that can be allocated by callouts.
Submitted by: iedowse (items 1, 2)
show more ...
|
#
ed01445d |
| 22-Sep-2001 |
John Baldwin <jhb@FreeBSD.org> |
Use the passed in thread to selrecord() instead of curthread.
|
#
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 fu
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
show more ...
|
#
116734c4 |
| 01-Sep-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Pushdown Giant for acct(), kqueue(), kevent(), execve(), fork(), vfork(), rfork(), jail().
|
#
5f5c2e95 |
| 19-Jul-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Introduce EVFILT_TIMER, which allows a process to establish an arbitrary number of timers, both oneshot and periodic.
Repeatedly reminded to commit by: jayanth Reviewed by: peter (a while back)
|
#
a0f75161 |
| 05-Jul-2001 |
Robert Watson <rwatson@FreeBSD.org> |
o Replace calls to p_can(..., P_CAN_xxx) with calls to p_canxxx(). The p_can(...) construct was a premature (and, it turns out, awkward) abstraction. The individual calls to p_canxxx() better
o Replace calls to p_can(..., P_CAN_xxx) with calls to p_canxxx(). The p_can(...) construct was a premature (and, it turns out, awkward) abstraction. The individual calls to p_canxxx() better reflect differences between the inter-process authorization checks, such as differing checks based on the type of signal. This has a side effect of improving code readability. o Replace direct credential authorization checks in ktrace() with invocation of p_candebug(), while maintaining the special case check of KTR_ROOT. This allows ktrace() to "play more nicely" with new mandatory access control schemes, as well as making its authorization checks consistent with other "debugging class" checks. o Eliminate "privused" construct for p_can*() calls which allowed the caller to determine if privilege was required for successful evaluation of the access control check. This primitive is currently unused, and as such, serves only to complicate the API.
Approved by: ({procfs,linprocfs} changes) des Obtained from: TrustedBSD Project
show more ...
|
#
fb919e4d |
| 01-May-2001 |
Mark Murray <markm@FreeBSD.org> |
Undo part of the tangle of having sys/lock.h and sys/mutex.h included in other "system" header files.
Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys
Undo part of the tangle of having sys/lock.h and sys/mutex.h included in other "system" header files.
Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys/lockmgr.h form kernel .c files.
Sort sys/*.h includes where possible in affected files.
OK'ed by: bde (with reservations)
show more ...
|
#
33a9ed9d |
| 24-Apr-2001 |
John Baldwin <jhb@FreeBSD.org> |
Change the pfind() and zpfind() functions to lock the process that they find before releasing the allproc lock and returning.
Reviewed by: -smp, dfr, jake
|
Revision tags: release/4.3.0_cvs, release/4.3.0 |
|
#
e386f9bd |
| 12-Apr-2001 |
Robert Watson <rwatson@FreeBSD.org> |
o Make kqueue's filt_procattach() function use the error value returned by p_can(...P_CAN_SEE), rather than returning EACCES directly. This brings the error code used here into line with similar
o Make kqueue's filt_procattach() function use the error value returned by p_can(...P_CAN_SEE), rather than returning EACCES directly. This brings the error code used here into line with similar arrangements elsewhere, and prevents the leakage of pid usage information.
Reviewed by: jlemon Obtained from: TrustedBSD Project
show more ...
|
#
24607d88 |
| 24-Feb-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add an EV_SET() convenience macro for initializing struct kevent prior to the call to kevent().
Update the copyright notices as well.
|
#
89bbe051 |
| 23-Feb-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Fix typo in comment (knode -> knote).
|
#
608a3ce6 |
| 15-Feb-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Extend kqueue down to the device layer.
Backwards compatible approach suggested by: peter
|
#
e5690aad |
| 24-Jan-2001 |
John Baldwin <jhb@FreeBSD.org> |
Proc locking.
|
#
0a2c3d48 |
| 09-Jan-2001 |
Garrett Wollman <wollman@FreeBSD.org> |
select() DKI is now in <sys/selinfo.h>.
|
#
7cc0979f |
| 08-Dec-2000 |
David Malone <dwmalone@FreeBSD.org> |
Convert more malloc+bzero to malloc+M_ZERO.
Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
|
Revision tags: release/4.2.0 |
|
#
279d7226 |
| 18-Nov-2000 |
Matthew Dillon <dillon@FreeBSD.org> |
This patchset fixes a large number of file descriptor race conditions. Pre-rfork code assumed inherent locking of a process's file descriptor array. However, with the advent of rfork() the f
This patchset fixes a large number of file descriptor race conditions. Pre-rfork code assumed inherent locking of a process's file descriptor array. However, with the advent of rfork() the file descriptor table could be shared between processes. This patch closes over a dozen serious race conditions related to one thread manipulating the table (e.g. closing or dup()ing a descriptor) while another is blocked in an open(), close(), fcntl(), read(), write(), etc...
PR: kern/11629 Discussed with: Alexander Viro <viro@math.psu.edu>
show more ...
|
Revision tags: release/4.1.1_cvs |
|
#
387d2c03 |
| 30-Aug-2000 |
Robert Watson <rwatson@FreeBSD.org> |
o Centralize inter-process access control, introducing:
int p_can(p1, p2, operation, privused)
which allows specification of subject process, object process, inter-process operation, and an
o Centralize inter-process access control, introducing:
int p_can(p1, p2, operation, privused)
which allows specification of subject process, object process, inter-process operation, and an optional call-by-reference privused flag, allowing the caller to determine if privilege was required for the call to succeed. This allows jail, kern.ps_showallprocs and regular credential-based interaction checks to occur in one block of code. Possible operations are P_CAN_SEE, P_CAN_SCHED, P_CAN_KILL, and P_CAN_DEBUG. p_can currently breaks out as a wrapper to a series of static function checks in kern_prot, which should not be invoked directly.
o Commented out capabilities entries are included for some checks.
o Update most inter-process authorization to make use of p_can() instead of manual checks, PRISON_CHECK(), P_TRESPASS(), and kern.ps_showallprocs.
o Modify suser{,_xxx} to use const arguments, as it no longer modifies process flags due to the disabling of ASU.
o Modify some checks/errors in procfs so that ENOENT is returned instead of ESRCH, further improving concealment of processes that should not be visible to other processes. Also introduce new access checks to improve hiding of processes for procfs_lookup(), procfs_getattr(), procfs_readdir(). Correct a bug reported by bp concerning not handling the CREATE case in procfs_lookup(). Remove volatile flag in procfs that caused apparently spurious qualifier warnigns (approved by bde).
o Add comment noting that ktrace() has not been updated, as its access control checks are different from ptrace(), whereas they should probably be the same. Further discussion should happen on this topic.
Reviewed by: bde, green, phk, freebsd-security, others Approved by: bde Obtained from: TrustedBSD Project
show more ...
|
#
ad91b6a2 |
| 07-Aug-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Fix bug with timeout; previously, when attempting to poll the kqueue by passing a zero-valued timeout, the code would always sleep for one tick. Change code to avoid calling tsleep if we have no inte
Fix bug with timeout; previously, when attempting to poll the kqueue by passing a zero-valued timeout, the code would always sleep for one tick. Change code to avoid calling tsleep if we have no intention of sleeping.
Bring in bugfix from sys_select.c, r1.60 which also applies here.
Modify error handling slightly; passing in an invalid fd will now result in EBADF returned in the eventlist, while an attempt to change a knote which does not exist will result in ENOENT being returned. Previously such attempts would fail silently without notification.
Pointed out by: nicolas.leonard@animaths.com Rick Reed (rr@yahoo-inc.com)
show more ...
|
#
1dfd4760 |
| 01-Aug-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Back out rev 1.12; its not clear that this is the right thing to do, and in any event, it wasn't done correctly in the first place.
|
#
c828c7b7 |
| 29-Jul-2000 |
Peter Wemm <peter@FreeBSD.org> |
Fix warnings - make kevent args in comment match those in syscalls.master. Deal with consts.
|
#
ab2adc20 |
| 28-Jul-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Have kevent() automatically restart if interrupted by a signal. If this is not desired, then the user can register an EV_SIGNAL filter to explicitly catch a signal event.
Change requested by: jayan
Have kevent() automatically restart if interrupted by a signal. If this is not desired, then the user can register an EV_SIGNAL filter to explicitly catch a signal event.
Change requested by: jayanth, ps, peter "Why is kevent non-restartable after a signal?"
show more ...
|
Revision tags: release/4.1.0 |
|
#
2ba03123 |
| 18-Jul-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Fix a bug which would cause some knotes to get lost when two kqueues were being used in a process at the same time.
Test case provided by: Chris Peiffer <peifferc@CS.Stanford.EDU>
|
#
a8e65b91 |
| 18-Jul-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Simplify kqueue API slightly.
Discussed on: -arch
|
#
0e8363ec |
| 28-Jun-2000 |
Chris Costello <chris@FreeBSD.org> |
Report a file type (S_IFIFO) in kqueue_stat().
|
Revision tags: release/3.5.0_cvs |
|
#
d2693dbb |
| 22-Jun-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add code so that the udata field is preserved across a TRACK event.
When re-adding an event, do not reset the event state. If the event was pending, it will remain pending. This allows the user to
Add code so that the udata field is preserved across a TRACK event.
When re-adding an event, do not reset the event state. If the event was pending, it will remain pending. This allows the user to change the udata field after the event was registered, while not losing any events which have already occurred.
Reported by: jmg
show more ...
|