Commit Graph

108770 Commits

Author SHA1 Message Date
David Xu
fca6ccde6e Check unhandled signals before thread marks itself as DEAD,
this reduces chances of signal losting problem found by
Peter Holm <peter@holm.cc>
2004-10-23 23:37:54 +00:00
David Xu
b4f9f84b96 1. Move thread list flags into new separate member, and atomically
put DEAD thread on GC list, this closes a race between pthread_join
   and thr_cleanup.
2. Introduce a mutex to protect tcb initialization, tls allocation and
   deallocation code in rtld seems no lock protection or it is broken,
   under stress testing, memory is corrupted.

Reviewed by: deischen
patch partly provided by: deischen
2004-10-23 23:28:36 +00:00
Hidetoshi Shimokawa
1be7387c03 Add -m option, set default fwmem target. 2004-10-23 23:28:08 +00:00
Robert Watson
09745181fd Use errx() instead of fprintf()/exit() for conciseness.
Suggested by:	ru (some time ago)
2004-10-23 22:18:37 +00:00
Robert Watson
a09c60ffeb Use errx() instead of perror()/exit() for conciseness.
Suggested by:	ru (some time ago)
2004-10-23 22:11:35 +00:00
Ruslan Ermilov
9a5cf32635 Add a regression test for the alternate shell specification. 2004-10-23 21:38:58 +00:00
Ruslan Ermilov
e3168409f1 "unset verbose" is 13 characters, not 10. 2004-10-23 21:36:55 +00:00
Ruslan Ermilov
3ecaab1c99 Expand the scope of the .SHELL specification to also cover
the compat mode of operation and the != operator.

While here, fixed a bug in the .SHELL directive processing
when only the name= attribute is specified and no built-in
shell matches this name, causing null pointer dereference.

Obtained from:	NetBSD (except for bugs)
2004-10-23 21:34:41 +00:00
Poul-Henning Kamp
85986ce002 Don't call g_waitidle(), it happens automagically now. 2004-10-23 20:52:15 +00:00
Poul-Henning Kamp
3b66ad07db Don't explicitly call g_waitidle(), it happens automagically now. 2004-10-23 20:50:06 +00:00
Poul-Henning Kamp
9197ce2ee5 Add a new per-thread private flag: TDP_GEOM.
This flag gets set whenever the thread posts an event on the GEOM
event queue, and if the flag is set when the thread is prepared
to return to userland from the kernel, g_waitidle() will be called
to make sure that the posted events have completed.

This can replace an insufficient number of g_waitidle() calls in
various other places, and has the advantage of being failsafe:  Any
system call which does a VOP_OPEN()/VOP_CLOSE will now correctly
wait for any geom events it posted as part of spoils or tastes.

Assert that topology and Giant is not held in g_waitidle().
2004-10-23 20:49:17 +00:00
Poul-Henning Kamp
a11021f362 Move the prototype for g_waitidle() to a more visible place. 2004-10-23 20:22:02 +00:00
Poul-Henning Kamp
186e51cb30 Drop Giant around the call to g_waitidle().
This is necessary to allow any geom events which need it to pick up Giant.
2004-10-23 20:21:05 +00:00
Robert Watson
a4bde6f695 Rebuild from FreeBSD32 syscalls.master:1.42. 2004-10-23 20:05:42 +00:00
Robert Watson
8e36528346 32-bit FreeBSD ABI compatibility stubs from syscalls.master:1.178. 2004-10-23 20:04:56 +00:00
Robert Watson
299b4e7fa6 Rebuild from syscalls.master:1.178. 2004-10-23 20:01:32 +00:00
Robert Watson
3e8c244949 Add system call place-holders for the following system calls
implementing Sun's BSM Audit API on FreeBSD:

  audit()
  auditon()
  getauid()
  setauid()
  getaudit()
  setaudit()
  getaudit_addr()
  setaudit_addr()
  auditctl()

Submitted by:	Wayne Salamon <wsalamon at computer dot org>
Obtained from:	TrustedBSD Project
2004-10-23 20:00:43 +00:00
Scott Long
54ddf8f6f3 Due to space constraints, use gnome2-lite for i386 and gnome2 for everything
else.  Also add ltmdm to i386 by popular request.
2004-10-23 19:54:18 +00:00
Andre Oppermann
3a82a5451c socreate() does an early abort if either the protocol cannot be found,
or pru_attach is NULL.  With loadable protocols the SPACER dummy protocols
have valid function pointers for all methods to functions returning just
EOPNOTSUPP.  Thus the early abort check would not detect immediately that
attach is not supported for this protocol.  Instead it would correctly
get the EOPNOTSUPP error later on when it calls the protocol specific
attach function.

Add testing against the pru_attach_notsupp() function pointer to the
early abort check as well.
2004-10-23 19:06:43 +00:00
Andre Oppermann
480fa3f985 Aquire GIANT in pf_proto_[un]register() before manipulating the protosw. 2004-10-23 18:52:06 +00:00
Andre Oppermann
bf59255f44 o Remove entire section talking about RTF_PRCLONING that got nuked in 5.2
already.
o Better description of IP fastforwarding.  It can do the full thing now
  including firewalling.
o Reword the description of ICMP redirects.
o Add references to route(4) and pfil(9).
2004-10-23 18:45:53 +00:00
Andre Oppermann
27f15752ff Rephrase certain centences and sync description of default values to reality. 2004-10-23 18:37:23 +00:00
Andre Oppermann
7855ddfc16 Bump document date that was forgotten in the last commit.
Reminded by:	ru
2004-10-23 18:35:35 +00:00
Dag-Erling Smørgrav
dadba0d1a1 Use %zu to format size_t instead of %jd and an intmax_t cast.
Approved by:	hamlet
2004-10-23 15:58:50 +00:00
Robert Watson
6c5ecfd7f2 /%x/%s/ -- mismerged DEBUGGER() printf() format stirng from the
TrustedBSD branch.

Submitted by:	bde
2004-10-23 15:12:34 +00:00
Max Laier
faf58d1493 Mention pf.conf(5), pfctl(8) and pflogd(8) as ADDITIONAL READINGs.
Requested by:	Chris Laverdure <dashevil sympatico ca>
2004-10-23 15:05:46 +00:00
Poul-Henning Kamp
1ec1f41575 use bioq_takefirst() 2004-10-23 12:45:39 +00:00
Poul-Henning Kamp
32204b9721 Use bioq_takefirst() 2004-10-23 12:44:19 +00:00
Poul-Henning Kamp
091aa0964b Stop amd64 warnings. 2004-10-23 12:42:18 +00:00
David Xu
c283653201 Remove P_STOPPED_TRACE bit if debugger dies without a chance to
detach debugged process.
2004-10-23 11:20:26 +00:00
Gleb Smirnoff
762724b3f7 Make documentation up to date with recent changes.
Reviewed by:	ru
2004-10-23 11:14:30 +00:00
Robert Watson
16aebf571f Add some basic KTR tracing to busdma on i386. This is likely not
the final set of traces -- someone with more busdma background
will probably want to review and expand this, as well as port to
other platforms.  This tracing is sufficient to identify key
busdma events on i386, and in particular to draw attention to
bounce buffering events that may have a substantial performance
impact.
2004-10-23 10:34:27 +00:00
Mike Makonnen
f16b4811d2 Locking cleanups to remove the need for a recursive mutex
o Instead of locking and unlocking all over the place, use
	  lock assertions to make certain that the bfe lock is held
	  where necessary.
	o Create locked and unlocked versions of bfe_init and bfe_start. These
	  functions can be called from outside the module and by functions
	  within the bfe module. The calls from outside the module don't
	  hold the bfe lock so the unlocked versions called by these functions
	  simple obtain the bfe lock and call the locked version.

- Fix a typo (scp) in the locking macros that only worked because in all the
  instances in which it was called the softc pointer happened to be named 'sc'.

- Mark the interrupt MPSAFE

Tested by: matusita, Dario Freni <saturnero@gufi.org>
Silence from: -net, wpaul
2004-10-23 08:33:10 +00:00
Mike Makonnen
ec6f2b9b88 Move devfs earlier in the boot sequence. Some system daemons and other
programs may need to use the symlinks and permissions that it sets up.

Discussed on: -current
2004-10-23 06:50:50 +00:00
Andre Oppermann
e3030ee41e IPDIVERT will automatically load ipdivert.ko if not compiled into the
kernel.
2004-10-22 23:07:52 +00:00
Andrew R. Reiter
f96c8ef18a - Turn KASSERT()s into warning printf()'s in the g_class_load() routine.
This removes a panic that will occur if you build with GENERIC and
  attempt to kldload a GEOM module that is already in the kernel.

Reviewed by: phk
2004-10-22 22:16:24 +00:00
Poul-Henning Kamp
6373a876a4 Improve accuracy of last addition, as best Google advices me. 2004-10-22 19:59:37 +00:00
Andre Oppermann
cd109b0d82 Shave 40 unused bytes from struct tcpcb. 2004-10-22 19:55:04 +00:00
Andre Oppermann
e3d53beb77 Automatically load the ipdivert module if it was not compiled into the kernel
and natd_enable is true.
2004-10-22 19:36:03 +00:00
Andre Oppermann
21dcc96f4a When printing the initialization string and IPDIVERT is not compiled into the
kernel refer to it as "loadable" instead of "disabled".
2004-10-22 19:18:06 +00:00
Andre Oppermann
24fc79b0a4 Refuse to unload the ipdivert module unless the 'force' flag is given to kldunload.
Reflect the fact that IPDIVERT is a loadable module in the divert(4) and ipfw(8)
man pages.
2004-10-22 19:12:01 +00:00
Poul-Henning Kamp
1ef0fd8224 Properly handle failure to allocate isadma bounce buffer 2004-10-22 19:01:10 +00:00
Nate Lawson
cc62efa527 Remove a "needs Giant" flag from the /dev/apm compat device.
MFC after:	2 weeks
2004-10-22 17:17:12 +00:00
Colin Percival
a4eda3a0aa Add punctuation which appears to have been accidentally removed in
revision 1.6.
2004-10-22 16:44:39 +00:00
Poul-Henning Kamp
c99726d396 I'm surprised this one was not here yet.
To save you all a trip to CVSWEB:

Experts have correctly predicted nine out of the last five recessions.
               -- Paul Samuelson,  Nobel laureate in economics.
2004-10-22 16:18:15 +00:00
Hidetoshi Shimokawa
fcbe55a58d Respect _BOOT flag. 2004-10-22 15:39:39 +00:00
Hidetoshi Shimokawa
8ffa2e7954 Check _BOOT flag. 2004-10-22 15:03:22 +00:00
Hidetoshi Shimokawa
6ee737aae3 Respect RB_MULTIPLE flag. 2004-10-22 14:57:28 +00:00
Hidetoshi Shimokawa
167938e1e7 - Add FireWire subclass and OHCI interface.
- Add some PCI BIOS function calls.
	(find_devclass, read_config, write_config)
2004-10-22 14:56:23 +00:00
Robert Watson
857a600580 Add an annotation to the comment for sysv_ipc.c to indicate that the
MAC Framework doesn't require checks in ipcperm() because checks
relating to System V IPC will be performed in individual IPC
implementations.
2004-10-22 12:12:40 +00:00