Commit Graph

261 Commits

Author SHA1 Message Date
christos 5665eef11f don't call curses from a signal handler! 2007-12-31 00:22:13 +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
dsl eebb2036b8 Document 'systat syscall'. 2007-02-18 17:29:26 +00:00
dsl 49c5f0e9e5 Include code to display per system call counts and times. 2007-02-18 17:00:08 +00:00
pavel f5e7ca2447 Revert the changes done after newlock2 merge, except for the removal of
the now unused LSDEAD state. The current kernel headers are now
source-compatible with pre-newlock2 kernel headers again.

Approved by Andrew Doran.
2007-02-17 22:49:56 +00:00
ad 401499f30e Sync with kernel changes introduced by merging the newlock2 branch. 2007-02-09 22:08:48 +00:00
christos 8a3920f2c8 use c99 initializers
consistently terminate nlist arrays with NULL not ""
2006-10-22 16:43:24 +00:00
dsl 35fde98d40 Reduce the field widths for the summary line of traps, system calls
and interrupts so that the numbers don't all run into one.
2006-05-21 20:22:34 +00:00
dsl ded5cac581 Checkpoint this as 'WIP' before I break it again!
(Not complied by default.)
2006-05-20 20:07:35 +00:00
christos abcf3383b8 Gcc 4 needs to have the enum declaration in scope to determine the enum size. 2006-05-14 02:56:27 +00:00
yamt ee458ef97e include errno.h directly rather than via user.h. 2006-05-11 12:01:33 +00:00
mrg 084c052803 quell GCC 4.1 uninitialised variable warnings.
XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
2006-05-10 21:53:14 +00:00
blymn e48af18bc5 Update to use new kernel io statistics. 2006-04-14 13:14:06 +00:00
dsl 7ee2912cf6 free() intrnamebuf, intrname and intrloc on entry so we don't leak them
every time initvmstat() is called.
Change intrnamebuf to be static so this works.
Inspired by Coverty CID 2072 (incorrectly) reporting that the memory assigned
to intrnamebuf wasn't being freed.
2006-03-20 20:36:38 +00:00
dsl 1655d9a820 Code to display per-system call counts.
Very useful to help identify which code is doing 1000s of system calls.
Not built because no one else has a kernel yet, and I need to make
the kernel side configurable.  But I don't want to lose this code....
2006-03-18 20:31:45 +00:00
dsl efc0bc90c3 Count both read bytes and write bytes when we are not showing separate read
and write statistics.  Discovered by go.
Since I broke in in rev 1.31, I guess I'll fix it first!
2006-03-18 16:48:44 +00:00
dsl bee1c2beb6 Make the functions that display the top 8 lines externally visible so
they can be used to head other pages (not ready to commit yet...).
Use puthumanint() for oversize numbers when display_mode is RUN or BOOT (when
very big numbers are to be expected).
Allow an extra column for Csw..Flt.
Adjust some #defines to avoid use of global s & s1.
2006-03-18 14:58:49 +00:00
dsl f9603a44ea Coverty 7449: Remove splurious check for 'sep == NULL'. 2006-03-18 11:02:48 +00:00
kleink 2d52a8c98a Print system processes' command names in square brackets, like ps(1) does. 2006-02-13 16:01:58 +00:00
dsl 0283f98333 Match changes to vmstat.c (splitting of dkreadstats).
Read tape stats if there are no disks found - is this possible?
2006-02-05 09:58:39 +00:00
dsl 228802f437 Split dkreadstats() into dkreadstats(), tkreadstats() and cpureadstats().
Similarly for dkswap().
Allows code to only call one of these.
Rename struct _disk to _vminfo to be nearer its contents.
Change 'systat vm' so that it always shows the 'current' cpu times, even
after ':run' or ':boot' commands. The code in vmstat.c doesn't support :run.
2006-02-05 09:54:50 +00:00
dsl a6843277e3 Rename 'cur' to 'name' to avoid aliasing a global - this code has some
horrid globals...
2006-02-05 08:51:03 +00:00
matt d5eba984e9 Appease gcc 4.x 2005-12-24 21:14:50 +00:00
blymn 132bb1fe89 Add tape statistics. 2005-08-07 12:32:38 +00:00
xtraeme 5057789f26 Don't show ptyfs in the display, it's useless. 2005-08-01 02:38:03 +00:00
chs d5b80101e7 do not rely on the pre-evcnt interrupt counter kernel symbols being present.
if they do not exist, then interrupt stats are all in evcnts.
2005-05-22 14:00:59 +00:00
dsl f62ff76f8b Add an extra digit to the kBps column - now overflows at 100MB/s 2005-02-26 22:28:23 +00:00
dsl 019733f61e WARNS=3 2005-02-26 22:12:33 +00:00
dsl ff927e7098 Fix field widths for 'numbers' display, and allow it without 'secs'. 2005-02-26 22:11:06 +00:00
dsl 5af2964703 Always treat ^h and ^? as erase chars (as well as stty erase).
Make the ':' erasable.
Fix typo in unviewable help message.
No point in having 'else' after 'return'...
2005-02-26 19:01:09 +00:00
dsl 4583d5361a Refresh labels and display after changing displayed disks 2005-02-26 18:58:45 +00:00
christos b74b94a591 PR/29505: Nicolas Joly: Increase width of csw value in systat vmstat. 2005-02-22 15:13:57 +00:00
wiz 0d1974308b Sort SEE ALSO (hi hubert! First by section, then by name.) 2005-02-20 21:18:27 +00:00
wiz 320e63ae50 Drop trailing whitespace. 2005-02-20 21:16:38 +00:00
hubertf 756c7041c0 Add "df" display to give information about filesystems, available diskspace
and used disk capacity, similar to df(1):

Filesystem        Avail   Capacity
                         /0%  /10% /20% /30% /40% /50% /60% /70% /80% /90% /100%
/                  359M |XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/tmp               180M |
/home              146G |XXXXXXXXXXXXXXXX
2005-02-16 03:45:41 +00:00
christos 29e8340e26 PR/29213: Nicolas Joly: sysstat(1) vmstat cannot display large memory values 2005-02-03 16:16:00 +00:00
lukem 7157011597 Only compile in IPv6 support if ${USE_INET6} != "no"
MKINET6 is for providing IPv6 infrastructure.
USE_INET6 is for compiling IPv6 support into the programs (needs MKINET6).
2005-01-10 02:58:58 +00:00
christos fcda42cd46 - remove left over debugging code.
- centralize pointer to the head of the list casts by introducing a new var.
2005-01-09 01:27:47 +00:00
simonb e38c2f36ba Show more information about page types in use, and free pages. 2004-11-23 03:11:33 +00:00
dsl cf09d2b1ce Add (unsigned char) cast to ctype functions
Although, IIRC, there is another PR on all commands being converted to
lower case.
2004-11-04 07:18:47 +00:00
mycroft f702e25494 Whoops, make "all" work again. 2004-07-03 19:00:25 +00:00
mycroft eb8fd502d1 Using timeout() to control refresh gets rid of a whole pile of signal-related
lossage.
Making ungetch() signal-safe, as ncurses seems to, would be better, though.
2004-07-03 18:54:47 +00:00
mycroft 30aaa9067a Use KEY_RESIZE. Might as well have something in our source tree that does. 2004-07-03 18:31:36 +00:00
mycroft b00b298ce8 Fix a display glitch when blanking out drive columns. 2004-06-13 08:56:21 +00:00
martin 00b23860a0 "bufmem" is unsigned long inside the kernel, so don't try to grovel it out
of kmem as a unsigned int.
Also avoid overrunning VCACHE_SIZE, thus scribling over unrelated memory.
Fixes PR port-sparc64/25537.
2004-05-11 21:56:20 +00:00
martin 9df8f56ac0 A __attribute__((__noreturn__)) function better be void - gcc correctly
complains at >= -O3 otherwise.
2004-03-27 00:53:59 +00:00
atatat caea20e952 Add PTRTOUINT64() and UINT64TOPTR() macros to sys/sysctl.h for use by
kern.proc, kern.proc2, kern.lwp, and kern.buf.

Define more MIB for kern.buf so that specific buffers can be selected
(only all/all is supported right now), and use a 32/64 bit agnostic
structure for communcating buffer information to userland.

Convert systat to the new kern.buf method.

Clean up the vm.buf* handling a little.  There's no actual need to
record the dynamically assigned OIDs, since sysctl_data can tell us
what we're looking at.

Oh, and fix a typo in a comment.
2004-02-19 03:56:30 +00:00
wiz d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
jdolecek bd4dbe8139 g/c SDEAD handling 2004-01-11 19:15:50 +00:00
pk 498839ae5e Adapt to kernel buffer cache memort allocation changes.
Since the buffer headers do no longer exist as an array in the kernel anymore,
use the new CTL_KERN.KERN_BUF mib to fetch them from kernel space.

Also look at a vnode's specinfo field to properly associate an opened
block device special file with a mounted filesystem.
2003-12-30 12:52:48 +00:00