Commit graph

118743 commits

Author SHA1 Message Date
Don Lewis 5032ff8197 Always wire the sysctl output buffer in sysctl_kern_proc() before
calling sysctl_out_proc().  -- fix from jhb

Move the code in fill_kinfo_thread() that gathers data from struct proc
into the new function fill_kinfo_proc_only().

Change all callers of fill_kinfo_thread() to call both
fill_kinfo_proc_only() and fill_kinfo() thread.  When gathering
data from a multi-threaded process, fill_kinfo_proc_only() only needs
to be called once.

Grab sched_lock before accessing the process thread list or calling
fill_kinfo_thread().

PR:		kern/84684
MFC after:	3 days
2005-10-02 23:27:56 +00:00
Olivier Houchard da927f93bd - Call db_setup_paging() for traceall.
- Make it so one can't call db_setup_paging() if it has already been called
before. traceall needs this, or else the db_setup_paging() call from
db_trace_thread() will reset the printed line number, and override its
argument.
This is not perfect for traceall, because even if one presses 'q' while in
the middle of printing a backtrace it will finish printing the backtrace
before exiting, as db_trace_thread() won't be notified it should stop, but
it is hard to do better without reworking the pager interface a lot more.
2005-10-02 22:57:31 +00:00
Hiroki Sato 1db55c2528 New release notes:
gre(4) IPv6 over GRE support,
	ipfw IPv6 support,
	new sysctl net.inet6.ip6.stealth added,
	g_label now supports Ext2FS and ReiserFS,
	bsdiff(1) and bspatch(1) added,
	ping(8) "sweeping ping" support,
	wcsdup() function added,
	rc.d/gbde_swap renamed to rc.d/encswap,
	rc.d/geli and rc.d/geli2 added, and
	portsnap(8) imported.
2005-10-02 21:02:37 +00:00
Yaroslav Tykhiy 22124484e2 Use available rc.subr features.
Reduce code duplication.
Follow the current style of rc.d scripting.
2005-10-02 19:17:49 +00:00
Andrew Thompson d5edd47e8f Do not packet filter in the bridge_start() routine, locally generated packets
are already filtered by the higher layers.

Approved by:	mlaier (mentor)
MFC after:	3 days
2005-10-02 19:15:56 +00:00
Yaroslav Tykhiy b3470f8c82 Record dependency on the newly introduced pfsync.
Start before routing for better system protection.
(pf used to start late during system boot, after
many a network daemon have started already, which
sucked from security POV.)

Remark: For maximum security, pf should start before
netif, but it would create a dependency loop because
pfsync has to start after netif, yet before pf.

Discussed with: mlaier on -pf
MFC after:	5 days
2005-10-02 19:12:42 +00:00
Yaroslav Tykhiy c8a0dfab83 Add an rc.d script to start pfsync at the right moment of the
system boot, and hook it up in the system.

The separate script is needed because in the presence of various
interface lists in rc.conf ($network_interfaces, $cloned_interfaces,
$sppp_interfaces, $gif_interfaces, more to come) it is hard to start
them orderly, so that pfsync is brought up after its syncdev, which
is required for the proper startup of pfsync.

Discussed with:	mlaier on -pf
MFC after:	5 days
2005-10-02 18:59:02 +00:00
Hiroki Sato 14f9b2291d New release notes:
acpi_thermal(4) passive cooling support,
	ichsmb(4) unloading bug fixed,
	smbios(4) support on amd64,
	hw.apic.enable_extint added,
	sound(4) improvements,
	MPSAFE: the bottom half of NFS, snd_als4000(4),
		snd_cmi(4), snd_via8233(4), snd_via82c686(4),
		and natm(4),
	GEOM_ZERO class added,
	umass(4) PLAY_* commands support,
	moused(8) -H flag,
	shared library version bump, and
	pkg_version(1) -o and -O flags.
2005-10-02 16:14:41 +00:00
Alexander Leidinger 34ac5f0f5f * Fixed rate operation for es1370 chip to solve conflicting
sampling rate between playback and recording. This can be
  disabled / enabled via kernel hints
  (hint.pcm.<unit>.fixed_rate=0/4000-48000) or sysctl
  hw.snd.pcm<unit>.fixed_rate=0/4000-48000). Default to 48khz
  fixed rate. [1]
* Basic cleanup. *_es1371x_* -> *_es137x_*.
* Some locking fixes. [2]

Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
Discussed with:	yongari [2]
See also:	http://lists.freebsd.org/pipermail/freebsd-multimedia/2005-September/002758.html [1]
Reported by:	Jos Backus <jos at catnook.com> [1]
2005-10-02 15:56:36 +00:00
Yaroslav Tykhiy 932d1eb384 Use rc.subr(8) appropriately:
- utilize default methods instead of rolling local ones;
- avoid to specify BEFORE conditions we don't really need
  (pflog will be REQUIRE'd by pf);
- omit extra decoration from warning messages, warn() will
  decorate them sufficiently.
2005-10-02 15:54:26 +00:00
Alexander Leidinger f84e94870d Emulate pcm mixer controller for any uaudio device without it.
Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
2005-10-02 15:51:19 +00:00
Alexander Leidinger d793e09c95 The cmi9739_patch function which is referenced by ac97.c (rev. 1.56) now...
Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
Pointy hat to:	netchild (for not committing it with rev. 1.56 of ac97.c)
2005-10-02 15:50:22 +00:00
Alexander Leidinger 28ef3fb011 sys/dev/sound/pcm/sndstat.c:
* General spl* cleanup. It doesn't serve any purpose anymore.
   * Nuke sndstat_busy(). Addition of sndstat_acquire() /
     sndstat_release() for sndstat exclusive access. [1]

sys/dev/sound/pcm/sound.c:
   * Remove duplicate SLIST_INIT()
   * Use sndstat_acquire() / release() to lock / release the entire
     sndstat during pcm_unregister(). This should fix LOR #159 [1]

sys/dev/sound/pcm/sound.h:
   * Definition of SD_F_SOFTVOL (part of feeder volume)
   * Nuke sndstat_busy(). Addition of sndstat_acquire() /
     sndstat_release() for exclusive sndstat access. [1]

Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
LOR:		159 [1]
Discussed with:	yongari [1]
2005-10-02 15:43:57 +00:00
Alexander Leidinger 62340837c3 General spl* cleanup. It doesn't serve any purpose anymore.
Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
2005-10-02 15:39:07 +00:00
Alexander Leidinger cb44f623ec sys/dev/sound/pcm/ac97.c:
* Added codec id for CMI9761.
   * feeder_volume *whitelist* through ac97_fix_volume()

sys/dev/sound/pcm/ac97.h:
   * Added AC97_F_SOFTVOL definition.

sys/dev/sound/pcm/channel.c:
   * Slight changes for chn_setvolume() to conform with OSS.
   * FEEDER_VOLUME is now part of feeder building process.

sys/dev/sound/pcm/mixer.c:
   * General spl* cleanup. It doesn't serve any purpose anymore.
   * Main hook for feeder_volume.

Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
Tested by:	multimedia@
2005-10-02 15:37:40 +00:00
Alexander Leidinger 4406886f5e Soft volume implementation for audio devices without pcm mixer controller.
Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
Tested by:	multimedia@
2005-10-02 15:31:03 +00:00
Ruslan Ermilov 259fcfd358 Document that -q option is also applicable to the "change" command.
PR:		docs/85095
Submitted by:	Rostislav Krasny
2005-10-02 12:55:34 +00:00
Robert Watson a7ad956bdf Add a DDB "traceall" function, which stack traces all known process
threads.  This is quite useful if generating a debug log for post-mortem
by another developer, in which case the person at the console may not
know which threads are of interest.  The output of this can be quite
long.

Discussed with:	kris
MFC after:	3 days
2005-10-02 11:41:12 +00:00
Maxim Konovalov 125450bbb7 o Restore kerneldumpheader.architectureversion bytes swopping
mangled in rev. 1.72.

PR:		bin/86805
Submitted by:	Gavin Atkinson
MFC after:	3 days
2005-10-02 11:31:45 +00:00
Gleb Smirnoff ec3ae2cced Two fixes for the last commit.
Submitted by:	ru
2005-10-02 10:57:33 +00:00
Robert Watson c30bf5c317 Include kdb.h so that kdb_active is declared regardless of KDB being
included in the kernel.

MFC after:	0 days
2005-10-02 10:03:51 +00:00
Robert Watson 5bb52dc4d5 Complete removal of mac_create_root_mount/mpo_create_root_mount MAC
interfaces.

Obtained from:	TrustedBSD Project
Submitted by:	Chris Vance <Christopher dot Vance at SPARTA dot com>
MFC after:	3 days
2005-10-02 09:53:00 +00:00
Maxim Konovalov ac827533df o Teach sysctl_drop() how to deal with the sockets in TIME_WAIT state.
This is a special case because tcp_twstart() destroys a tcp control
block via tcp_discardcb() so we cannot call tcp_drop(struct *tcpcb) on
such connections.  Use tcp_twclose() instead.

MFC after:	5 days
2005-10-02 08:43:57 +00:00
Yaroslav Tykhiy d11122e73a Add firewall-related xrefs to SEE ALSO. 2005-10-02 08:39:41 +00:00
Boris Popov ef29b0f6a1 Allow user to override default port numbers used by communication
protocols.  This is very useful for tunneled SMB connections.

MFC after:	4 weeks
2005-10-02 08:32:49 +00:00
Maxim Konovalov 8862edf857 o Remove unfinished code and make it possible to override
bsdextended_script from rc.conf(5):

Not objected by:	trhodes
2005-10-02 07:03:00 +00:00
Tai-hwa Liang fec39060e2 Fixing WEP bustage in hostap mode since 5.2-RELEASE.
- WEP TX fix:

  The original code called software crypto, ieee80211_crypto_encap(),
which never worked since IEEE80211_KEY_SWCRYPT was never flagged due to
ieee80211_crypto_newkey() assumes that wi always supports hardware based
crypto regardless of operational mode(by virtue of IEEE80211_C_WEP).
This fix works around that issue by adding wi_key_alloc() to force
the use of s/w crypto.  Also if anyone ever decides to cleanup ioctl
handling where key changes wouldn't cause a call to wi_init() every time,
we'll need wi_key_alloc() to DTRT.

  In addition to that, this fix also adds code to wi_write_wep() to force
existing keys to be switched between h/w and s/w crypto such that an
operation mode change(sta <-> hostap) will flag IEEE80211_KEY_SWCRYPT
properly.

- WEP RX fix:

  Clear IEEE80211_F_DROPUNENC even in hostap mode.  Quote from Sam:

	"This is really gross but I don't see an easy way around it.
	By doing it we lose the ability to independently drop unencode
	frames (and support mixed wep/!wep use).  We should really be
	setting the EXCLUDE_UNENCRYPTED flag written in wi_write_wep
	based on IEEE80211_F_DROPUNENC but with our clearing it we can't
	depend on it being set properly."

Reported by:	Holm Tiffe <holm at freibergnet dot de>
Submitted by:	sam
MFC after:	3 days
2005-10-02 04:29:08 +00:00
Tai-hwa Liang 4f4035be47 Honouring ic->ic_dtim_period.
Submitted by:	sam
MFC after:	3 days
2005-10-02 03:55:07 +00:00
Yaroslav Tykhiy 85a65c57e3 Fix the usage of rc_usage. The rc_usage function takes
a list of possible keywords, not all them in a single argument.
This also fixes the issue of extra delimiter characters appearing
on the help line from rc.d scripts not setting $extra_commands.
2005-10-01 20:58:03 +00:00
Gleb Smirnoff 114d09d8b8 Note that kern.polling.enable is deprecated. 2005-10-01 20:53:51 +00:00
Robert Watson 2affdbee3e Second attempt at a work-around for fifo-related socket panics during
make -j with high levels of parallelism: acquire Giant in fifo I/O
routines.

Discussed with:	ups
MFC after:	3 days
2005-10-01 20:15:41 +00:00
Poul-Henning Kamp 7bbb3a2690 Make sure the clone lists are sorted in the right order.
Explosion triggered by:	pjd
MFC:	3 days
2005-10-01 19:21:03 +00:00
Gleb Smirnoff 1f8f09b081 Now ifconfig is the one right way to turn polling on. Thus, remove
the "if" clauses.
2005-10-01 19:14:34 +00:00
Don Lewis 460858e9ef Correct previous commit to fix the sense of the TDP_NORUNNINGBUF
check in ffs_copyonwrite() that is a precondition for calling
waitrunningbufspace().

Pointed out by:	tegge
Pointy hat to:	truckman
MFC after:	3 days
2005-10-01 19:10:48 +00:00
Gleb Smirnoff 5aa6b4b716 - Catch up with the fact that HZ is 1000 now by default.
- Remove description of poll in trap feature.
- Tell that polling should be turned on and off with ifconfig.
- Move description of kern.polling.enable to the end and say
  that this a deprecated way of turning polling on.
- Remove note that idle poll has some problems in CURRENT. I failed
  to find them, while Sam and Luigi failed to remember what the
  problem actually were there.
2005-10-01 19:04:22 +00:00
Gleb Smirnoff 4092996774 Big polling(4) cleanup.
o Axe poll in trap.

o Axe IFF_POLLING flag from if_flags.

o Rework revision 1.21 (Giant removal), in such a way that
  poll_mtx is not dropped during call to polling handler.
  This fixes problem with idle polling.

o Make registration and deregistration from polling in a
  functional way, insted of next tick/interrupt.

o Obsolete kern.polling.enable. Polling is turned on/off
  with ifconfig.

Detailed kern_poll.c changes:
  - Remove polling handler flags, introduced in 1.21. The are not
    needed now.
  - Forget and do not check if_flags, if_capenable and if_drv_flags.
  - Call all registered polling handlers unconditionally.
  - Do not drop poll_mtx, when entering polling handlers.
  - In ether_poll() NET_LOCK_GIANT prior to locking poll_mtx.
  - In netisr_poll() axe the block, where polling code asks drivers
    to unregister.
  - In netisr_poll() and ether_poll() do polling always, if any
    handlers are present.
  - In ether_poll_[de]register() remove a lot of error hiding code. Assert
    that arguments are correct, instead.
  - In ether_poll_[de]register() use standard return values in case of
    error or success.
  - Introduce poll_switch() that is a sysctl handler for kern.polling.enable.
    poll_switch() goes through interface list and enabled/disables polling.
    A message that kern.polling.enable is deprecated is printed.

Detailed driver changes:
  - On attach driver announces IFCAP_POLLING in if_capabilities, but
    not in if_capenable.
  - On detach driver calls ether_poll_deregister() if polling is enabled.
  - In polling handler driver obtains its lock and checks IFF_DRV_RUNNING
    flag. If there is no, then unlocks and returns.
  - In ioctl handler driver checks for IFCAP_POLLING flag requested to
    be set or cleared. Driver first calls ether_poll_[de]register(), then
    obtains driver lock and [dis/en]ables interrupts.
  - In interrupt handler driver checks IFCAP_POLLING flag in if_capenable.
    If present, then returns.This is important to protect from spurious
    interrupts.

Reviewed by:	ru, sam, jhb
2005-10-01 18:56:19 +00:00
Don Lewis 5997cae9a4 Copy new process argument list in do_execve() before grabbing PROC_LOCK
to avoid touching pageable memory while holding a mutex.

Simplify argument list replacement logic.

PR:		kern/84935
Submitted by:	"Antoine Pelisse" apelisse AT gmail.com (in a different form)
MFC after:	3 days
2005-10-01 08:33:56 +00:00
Tim J. Robbins e5c4d568a6 Update for GNU cpio 2.6. 2005-10-01 06:41:34 +00:00
Tim J. Robbins 4281e6e322 Merge long_format() time formatting code and fixes for printf() format
errors from old copyin.c.
2005-10-01 06:37:41 +00:00
Tim J. Robbins f805c0d80d Define HAVE_MKFIFO and HAVE_SETLOCALE here since the configure script
apparently fails to do it.
2005-10-01 06:35:58 +00:00
Tim J. Robbins 6ce79ca88c Merge from old copyout.c rev 1.2: Output a zero rdev except for bdevs,
cdevs, fifos and sockets. Don't output a file if the major, minor or
totality of its rdev would be truncated.
2005-10-01 06:09:55 +00:00
Tim J. Robbins 535cc481e6 Merge from old copypass.c rev 1.3: If we must yell at the user than a
file cannot be linked into place when requested (not required) to do it,
reassure them that cpio is still intelligent enough that it will perform
a full copy instead.
2005-10-01 05:54:39 +00:00
Tim J. Robbins a14da79146 Merge from old util.c rev 1.2: say "volume" instead of "tape". 2005-10-01 05:52:40 +00:00
Tim J. Robbins 70a976e111 Merge from old main.c rev 1.2: Don't set the umask until after we have
processed the arguments and opened the archive file.
2005-10-01 05:49:29 +00:00
Tim J. Robbins 56160607b6 Merge from old tar.c rev 1.2: Recognize and skip 'x' and 'g' pax
extension entries.
2005-10-01 05:42:44 +00:00
Tim J. Robbins 2437584cf0 Merge from old copyin.c rev 1.5, copypass.c rev 1.2: Create fifos using
mkfifo() instead of attempting to create them using mknod().
2005-10-01 05:36:39 +00:00
Tim J. Robbins e2576da582 Update for GNU cpio 2.6. 2005-10-01 04:57:01 +00:00
Tim J. Robbins 920a75c2f3 Rename isnumber() to cpio_isnumber() to avoid clashing with the
<ctype.h> library function of the same name.
2005-10-01 04:56:09 +00:00
Tim J. Robbins 8f7188ccdd Remove files no longer present in GNU cpio distribution. Most of these
were actually moved into subdirectories.
2005-10-01 04:47:43 +00:00
Tim J. Robbins 5c4ae9e5f8 This commit was generated by cvs2svn to compensate for changes in r150765,
which included commits to RCS files with non-trunk default branches.
2005-10-01 04:37:08 +00:00