summaryrefslogtreecommitdiffstats
path: root/lib/libkvm
Commit message (Collapse)AuthorAgeFilesLines
...
* In kvm_openfiles/kvm_open, mark the file descriptors as close-on-exec.nectar2002-09-111-0/+12
| | | | | Applications can not do this themselves, as the descriptors are hidden behind the opaque `kvm_t' type.
* Completely redo thread states.julian2002-09-111-21/+24
| | | | Reviewed by: davidxu@freebsd.org
* Hopefully unbreak world. ke_slptime is gone. It should really have beenpeter2002-08-301-1/+1
| | | | looking at p_ksegrp.kg_slptime anyway.
* Allow one to grab the definition of struct ucred by defining _WANT_UCREDalfred2002-08-281-2/+1
| | | | | | | instead of forcing _KERNEL. Move the include of sys/_label.h in ucred.h under the _KERNEL || _WANT_UCRED case.
* &x is not a format stringkris2002-08-241-1/+1
|
* o Merge <machine/ansi.h> and <machine/types.h> into a new headermike2002-08-211-7/+7
| | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien
* Hide 'struct ucred' behind '#ifdef _KERNEL', this should stop userlandalfred2002-08-161-0/+3
| | | | | | | from attempting to use it for good. There is a catch, kvm_proc.c needs to '#define _KERNEL' to get at the ucred. Requested by: rwatson
* Auto size available kernel virtual address space based on phsyical memoryjake2002-08-101-4/+11
| | | | | | | size. This avoids blowing out kva in kmeminit() on large memory machines (4 gigs or more). Reviewed by: tmm
* Don't even read in the thread if it is a zombie process.julian2002-06-301-7/+10
|
* grow a brain and do this right.julian2002-06-301-5/+7
|
* Don't follow non existant thread pointers (e.g. for zombies)julian2002-06-301-33/+35
|
* Part 1 of KSE-IIIjulian2002-06-291-2/+19
| | | | | | | | | | | | | The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals..
* Assume __STDC__, remove non-__STDC__ code.alfred2002-05-281-26/+0
| | | | Submitted by: keramida
* Catch up to tte.h changes.jake2002-05-211-2/+2
|
* Stub out _kvm_mdopen, we don't the same constants as NetBSDobrien2002-05-151-0/+2
|
* Add a PowerPC machdep for kvm.obrien2002-05-151-0/+101
| | | | Obtained from: NetBSD (rev 1.4, pre-UVM)
* Fix (for the second time) kvm_getprocs() for the case where nodd2002-04-071-0/+26
| | | | | | | | | | | | processes match the given criteria. Since revision 1.60 of malloc.c, malloc() and friends return an invalid pointer when given a size of 0. kvm_getprocs() uses sysctl() with a NULL oldp argument to get an initial size, but does not check whether it's 0 before passing it to realloc() (via _kvm_realloc()). Before the aforementioned malloc() change, this resulted in a minimal allocation made and a valid poitner returned, but now results in an invalid, but non-NULL, pointer being returned. When this is passed to sysctl(), the latter returns EFAULT (as it should).
* Remove multi-line __P() usage.obrien2002-03-221-3/+4
|
* Remove __P() usage.obrien2002-03-213-22/+22
|
* Remove 'register' keyword.obrien2002-03-214-46/+46
|
* Also blindly attempt to fix broken world with respect to proc.p_runtimegreen2002-02-221-1/+3
| | | | changes.
* I THINK this fixes 'make world'julian2002-02-131-1/+4
| | | | | | I'll know as soon as I re-import it and compile it.. :-) There is no longer a 'pri' strict in the proc struct. the fields are scattered between the ksegrp and thread in question.
* pre-emptively fix a KSE/M3 problem.julian2002-02-071-7/+14
| | | | | | | Make a slight change so that libkvm reaches the main thread via the linked list, rather than assuming it is in the proc structure. Both conditions are true in -current but only the first will be true in the KSE M3 world.
* Finish cleanup in kvm.c revisions 1.10 and 1.11 -- mark sf (swapfile)ru2002-01-222-6/+4
| | | | | | | | | argument to kvm_open() and kvm_openfiles() as unused. BSD didn't read swap since kvm.c CSRG revision 5.21 (u-area is pageable under new VM. no need to read from swap.) The old !NEWVM code was removed in CSRG revision 5.23 (~ten years ago).
* Adapt to new kernel tsb structure.jake2001-12-291-16/+9
|
* s/processes/files/ inherited from kvm_getprocs(3).ru2001-11-241-1/+1
| | | | | PR: docs/32252 Submitted by: tobez
* Include sys/param.h instead of sys/types.h to get the definition of thejhb2001-11-201-1/+1
| | | | | | MIN() macro. Pointy hat to: rwatson
* o Cleanup of includes: user.h may be a catch-all, but that's notrwatson2001-11-191-4/+3
| | | | | | | entirely desirable. Back out previous commit, and clean up includes to be more minimal. Submitted by: bde
* #include <sys/user.h> rather than individually including a plethorarwatson2001-11-191-4/+1
| | | | | | | of kernel include files, reducing the replication of kernel include dependency information in userland. Obtained from: TrustedBSD Project
* libkvm for sparc64. Only works for kernel memory so far.jake2001-11-181-0/+157
|
* kern.ps_arg_max_cache is a long, not an int. I believe this is half ofpeter2001-11-081-1/+1
| | | | | | what broke ps on ia64. It probably also broke on alpha, but the fallback method of using lseek/read on /proc/*/mem to read ps_strings seems to work there. It doesn't on ia64 yet.
* Implement va->pa translation for kernel virtual addresses. This isdfr2001-10-251-30/+59
| | | | untested - it only seems to be used for crashdumps.
* Partially port kvm to ia64 - virtual to physical translation is incomplete.dfr2001-10-231-0/+167
|
* Backed out "Compensate for header dethreading [mistakes]" mistakes inbde2001-10-131-2/+0
| | | | alpha files too.
* Compensate for "Compensate for header dethreading" by backing it out.bde2001-10-107-14/+0
|
* mdoc(7) police: Use the new .In macro for #include statements.ru2001-10-018-14/+14
|
* Implement __FBSDID()dillon2001-09-169-29/+26
|
* KSE Milestone 2julian2001-09-121-15/+16
| | | | | | | | | | | | | | 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
* Make ps -M corefile work again. This has been broken for quite some time.peter2001-08-241-6/+11
| | | | kvm_proclist() was aborting when it saw the ithreads with no pgrp.
* Dynamically adjust to the value of KERNBASE in a crashdump, withpeter2001-08-242-4/+24
| | | | a fallback for old kernels without the "kernbase" symbol.
* Mark some functions as __printflike() and/or taking const char * argumentskris2001-08-201-2/+2
| | | | | | instead of char *. MFC after: 2 weeks
* mdoc(7) police: s/BSD/.Bx/ where appropriate.ru2001-08-142-4/+12
|
* mdoc(7) police: fixed the "new sentence" bogons.ru2001-08-101-1/+1
|
* Remove whitespace at EOL.dd2001-07-155-27/+27
|
* mdoc(7) police: remove extraneous .Pp before and/or after .Sh.dd2001-07-093-3/+0
|
* Change this to support the new way swap device information is exportedtmm2001-06-011-77/+66
| | | | via sysctl, and clean up some style and (size_t != int) issues.
* o Merge contents of struct pcred into struct ucred. Specifically, add therwatson2001-05-251-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | real uid, saved uid, real gid, and saved gid to ucred, as well as the pcred->pc_uidinfo, which was associated with the real uid, only rename it to cr_ruidinfo so as not to conflict with cr_uidinfo, which corresponds to the effective uid. o Remove p_cred from struct proc; add p_ucred to struct proc, replacing original macro that pointed. p->p_ucred to p->p_cred->pc_ucred. o Universally update code so that it makes use of ucred instead of pcred, p->p_ucred instead of p->p_pcred, cr_ruidinfo instead of p_uidinfo, cr_{r,sv}{u,g}id instead of p_*, etc. o Remove pcred0 and its initialization from init_main.c; initialize cr_ruidinfo there. o Restruction many credential modification chunks to always crdup while we figure out locking and optimizations; generally speaking, this means moving to a structure like this: newcred = crdup(oldcred); ... p->p_ucred = newcred; crfree(oldcred); It's not race-free, but better than nothing. There are also races in sys_process.c, all inter-process authorization, fork, exec, and exit. o Remove sigio->sio_ruid since sigio->sio_ucred now contains the ruid; remove comments indicating that the old arrangement was a problem. o Restructure exec1() a little to use newcred/oldcred arrangement, and use improved uid management primitives. o Clean up exit1() so as to do less work in credential cleanup due to pcred removal. o Clean up fork1() so as to do less work in credential cleanup and allocation. o Clean up ktrcanset() to take into account changes, and move to using suser_xxx() instead of performing a direct uid==0 comparision. o Improve commenting in various kern_prot.c credential modification calls to better document current behavior. In a couple of places, current behavior is a little questionable and we need to check POSIX.1 to make sure it's "right". More commenting work still remains to be done. o Update credential management calls, such as crfree(), to take into account new ruidinfo reference. o Modify or add the following uid and gid helper routines: change_euid() change_egid() change_ruid() change_rgid() change_svuid() change_svgid() In each case, the call now acts on a credential not a process, and as such no longer requires more complicated process locking/etc. They now assume the caller will do any necessary allocation of an exclusive credential reference. Each is commented to document its reference requirements. o CANSIGIO() is simplified to require only credentials, not processes and pcreds. o Remove lots of (p_pcred==NULL) checks. o Add an XXX to authorization code in nfs_lock.c, since it's questionable, and needs to be considered carefully. o Simplify posix4 authorization code to require only credentials, not processes and pcreds. Note that this authorization, as well as CANSIGIO(), needs to be updated to use the p_cansignal() and p_cansched() centralized authorization routines, as they currently do not take into account some desirable restrictions that are handled by the centralized routines, as well as being inconsistent with other similar authorization instances. o Update libkvm to take these changes into account. Obtained from: TrustedBSD Project Reviewed by: green, bde, jhb, freebsd-arch, freebsd-audit
* Removed -I${.CURDIR}/.../sys from CFLAGS.ru2001-05-181-1/+1
|
* Avoid dividing by zero if kd->procbase->ki_structsize is uninitalised.dwmalone2001-05-031-1/+1
| | | | | (I'm testing the numerator rather than the denominator, which looks weird, but is the right thing to do here).
* Do the alpha dance for the change MarkM hath made on the i386 side.mjacob2001-05-021-0/+2
|
OpenPOWER on IntegriCloud