Commit Graph

317 Commits

Author SHA1 Message Date
christos
4fbeddc144 treat ESRCH as a soft error. From Anon Ymous 2007-07-07 18:27:26 +00:00
christos
1a4c3f68b4 - Fix kvm_getlwps not to spit errors if we lose the race:
- if the process does not exist anymore, return NULL
	- if the process has created more lwps retry
	XXX[1]: We should fix sysctl_kern_lwp() to return the number of lwps it
		needs in oldlenp when ENOMEM. The we can avoid calling sysctl
		twice (by starting let's say with always 1 lwp, or 10).
	XXX[2]: We should fix kvm_getlwps to never spit errors.
- Silence new lint warnings
2007-07-06 14:25:42 +00:00
tls
4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
christos
4be3505e2e fix for yamt-idlelwp 2007-05-17 21:42:32 +00:00
dsl
7effc1a79d Set kp2p->p_ru = 0 in the kproc2 structure.
It was only ever non-zero for zombies, and now doesn't exist.
The 'pstats' field has been valid for zombies for a while (it isn't in
the uarea any more).
Fixes part of build breakage.
2007-05-01 06:58:08 +00:00
scw
5764a76889 Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
christos
2a84b2c2c1 Revert the kauth_impl.h change. Elad is going to maintain this. Asked by core@ 2007-02-24 20:41:33 +00:00
dsl
c8acc5992d Update only user code that uses the types of the e_[pu]cred members
of struct kinfo_proc.
2007-02-18 15:22:44 +00:00
ad
4ee7030889 Add ${NETBSDSRCDIR}/sys to the include path. 2007-02-10 00:23:13 +00:00
ad
401499f30e Sync with kernel changes introduced by merging the newlock2 branch. 2007-02-09 22:08:48 +00:00
elad
eb3ad821f0 PR/35506: Chuck Silvers: ps doesn't work on crash dumps, libkvm doesn't
know about kauth

Implemented _kvm_convertcred() to handle copying kauth_cred_t to userspace
and converting it to the appropriate 'struct eproc' members ('pcred' and
'ucred' respectively).

Okay mlelstv@.
2007-02-06 21:21:51 +00:00
chs
f4850e655c fill in p_stat for crashdumps like the kernel does for the sysctl. 2007-01-28 21:31:13 +00:00
yamt
daa6d99693 kvm_getproc2: retry on ENOMEM.
it happens when the number of processes are changed in the mean time.
2006-12-31 16:20:18 +00:00
ross
7731d9ebb9 disable via radical lobotomy
this can't be properly converted now until kernel includes are available
2006-07-05 18:33:18 +00:00
ross
21d9d3841b ppc64 outline, needs more work 2006-07-01 19:21:11 +00:00
yamt
060eacec48 #include a necessary header directly, rather than via user.h. 2006-05-11 12:00:20 +00:00
christos
17c2501482 Coverity CID 881: Always print an error if allocation failed.
If the program is not specified use getprogname()
2006-03-21 23:47:51 +00:00
christos
0213791d0c 1. Eliminate some unnecessary to kvm_{m,re}alloc.
2. Don't malloc/free procbase/procbase2/lwpbase continuously. Keep track
   of the size, and only do it if necessary.
3. Write a macro to malloc/realloc and set the size of members so that it
   is done correctly. Previous open coded version in kvm_file.c always
   set the length, which is incorrect.
4. Remove bogus check against INT_MAX.
5. use NULL to initialize pointers instead of 0.
2006-02-16 20:48:42 +00:00
fvdl
b7bb8fccf1 Fix parsing the page tables. 2005-08-04 19:26:02 +00:00
yamt
6cae8c8d70 as swap is now optional, ENXIO on /dev/drum is normal. 2005-07-30 16:32:29 +00:00
jmc
2c8974a914 Fix fallout from vm_anon changes 2005-05-11 17:41:52 +00:00
briggs
a6246199bb Supply _kvm_kvatop() and _kvm_pa2off() for OEA-type CPUs. This does
not yet support other PPC CPU types.
Contributed by Wasabi Systems Inc.
2005-02-17 02:31:27 +00:00
thorpej
cf21167821 pdtpaddr -> pdppaddr 2004-08-27 01:13:31 +00:00
toshii
ac142bbda7 Fix typos. 2004-05-12 17:20:01 +00:00
atatat
42d379d041 Use new PTRTOUINT64() macro instead of local PTRTOINT64() macro. 2004-02-19 03:57:56 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
jmmv
70eabe78c3 List sys/param.h as a prerequisite of sys/sysctl.h. Bump date. 2004-02-10 12:48:48 +00:00
christos
895d7dee51 zero out nl, from Todd Miller. thanks! 2003-11-17 20:41:54 +00:00
cube
b9d0c518f9 When using /dev/ksyms, don't keep it open more than strictly necessary.
This allows LKM manipulation while an application using libkvm, such as
vmstat or gkrellm, is running.

Patch reviewed by Anders Magnusson.
2003-11-04 14:59:10 +00:00
wiz
37ac1db454 available, not avaliable. From miod@openbsd. 2003-09-29 09:50:21 +00:00
agc
eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
wiz
e414629c30 Pa Aq -> Aq Pa so that both work. 2003-06-27 14:50:31 +00:00
wiz
b976c55907 Consistently spell "crash dump" as two separate words. From jmc@openbsd. 2003-05-16 10:24:55 +00:00
wiz
98a71c5969 Bump date for last; remove end-of-line spaces. 2003-05-13 10:03:43 +00:00
ragge
2bb5ce73f8 Update after recent changes. 2003-05-11 15:40:03 +00:00
ragge
f08d6eb0c9 Make the kvm routines use /dev/ksyms to get the kernel namelist.
If it fails, use /netbsd instead.
2003-05-11 13:37:34 +00:00
wiz
472351e13d Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
2003-04-16 13:34:34 +00:00
nathanw
cc1db07645 Just use PAGE_SHIFT from <machine/vmparam.h> instead of going through
hoops to read and cache the value from the crash dump header.
2003-04-09 22:46:39 +00:00
martin
dc8fa84c54 #include <machine/vmparam.h> for PAGE_SIZE 2003-04-03 22:07:16 +00:00
christos
eb430229c6 do the exit on lint warnings only on i386 like libc, to avoid the wrath of
the sloppy archs.
2003-03-28 14:02:45 +00:00
christos
d5cff0612e exit on lint warnings. 2003-03-28 14:01:46 +00:00
christos
9d952b3742 remove scanning of deadproc, since zombproc should contain all the processes
in deadproc according to the comment in kern_proc.c. deadproc is not a
struct proclist anymore, so it would require more work to scan anyway, and
this is unnecessary.
2003-03-28 14:01:32 +00:00
ross
f80c89ab02 fix LP64 and other warnings 2003-03-20 22:53:12 +00:00
dsl
9be8ac5294 Alternative pid/proc allocater, removes all searches associated with pid
lookup and allocation, and any dependency on NPROC or MAXUSERS.
NO_PID changed to -1 (and renamed NO_PGID) to remove artificial limit
on PID_MAX.
As discussed on tech-kern.
2003-03-19 11:36:32 +00:00
lukem
b1c71074fa Add workaround for building with ${MACHINE}==sparc64, ${MACHINE_ARCH}==sparc;
symlink the appropriate machine & sparc include directories into the objdir.

XXX: this is necessary until (when?) the sparc Arch Dependent headers
(used by MACHINE_ARCH==sparc) are separated from the sparc Machine
Dependent headeres (used by MACHINE==sparc but not MACHINE==sparc64).
2003-03-01 06:10:39 +00:00
atatat
40f3045957 Add p_svuid and p_svgid to kinfo_proc2. Populate them in the kernel
and in libkvm.  Then teach ps how to show them to you.

Also, teach ps how to show the names for all the uids, the rest of the
group numbers, and the "group access list".
2003-03-01 05:41:55 +00:00
enami
b7577d634c Use _kvm_freeprocs() rather than free() so that kvm_close() won't
free already free'ed region.
2003-02-26 23:05:53 +00:00
enami
30fca248b5 Cosmetic changes. 2003-02-26 23:04:37 +00:00
christos
45103cd2c0 delint (unsigned long long) -> (unsigned long) casts. 2003-02-02 02:29:59 +00:00
christos
acc1cc5b41 undo mallocvar.h change! 2003-02-02 02:25:50 +00:00