55117 Commits

Author SHA1 Message Date
rwatson
f58713cf53 Merge fifo_vnops.c:1.130 from HEAD to RELENG_6:
Assert v_fifoinfo is non-NULL in fifo_close() in order to catch
  non-conforming cases sooner.

  Reported by:    Peter Holm <peter at holm dot cc>

Approved by:	re (scottl)
2005-10-02 10:07:21 +00:00
rwatson
6817015865 Merge subr_pcpu.c:1.7 from HEAD to RELENG_6:
Add "show allpcpu" to DDB, which prints the current CPU id followed by
  the per-cpu data for all CPUs.  This is easier to ask users to do than
  "figure out how many CPUs you have, now run show pcpu, then run it
  once for each CPU you have".

Approved by:	re (scottl)
2005-10-02 10:06:49 +00:00
rwatson
f2f6c85a6b Merge subr_kdb.c:1.13 from HEAD to RELENG_6:
If KDB_STOP_NMI is compiled into the kernel, default
  debug.kdb.stop_cpus_with_nmi to 1 rather than 0.

Approved by:	re (scottl)
2005-10-02 10:06:15 +00:00
rwatson
5b2f9f7b7e Merge kern_lock.c:1.94 from HEAD to RELENG_6:
In lockstatus(), don't lock and unlock the interlock when testing the
  sleep lock status while kdb_active, or we risk contending with the
  mutex on another CPU, resulting in a panic when using "show
  lockedvnods" while in DDB.

  Reviewed by:    jhb
  Reported by:    kris

Approved by:	re (scottl)
2005-10-02 09:58:54 +00:00
truckman
670ac96738 MFC ffs_softdep.c 1.185
Original commit message:

  truckman    2005-09-29 21:50:26 UTC

   FreeBSD src repository

   Modified files:
     sys/ufs/ffs          ffs_softdep.c
   Log:
   After a rmdir()ed directory has been truncated, force an update of
   the directory's inode after queuing the dirrem that will decrement
   the parent directory's link count.  This will force the update of
   the parent directory's actual link to actually be scheduled.  Without
   this change the parent directory's actual link count would not be
   updated until ufs_inactive() cleared the inode of the newly removed
   directory, which might be deferred indefinitely.  ufs_inactive()
   will not be called as long as any process holds a reference to the
   removed directory, and ufs_inactive() will not clear the inode if
   the link count is non-zero, which could be the result of an earlier
   system crash.

   If a background fsck is run before the update of the parent directory's
   actual link count has been performed, or at least scheduled by
   putting the dirrem on the leaf directory's inodedep id_bufwait list,
   fsck will corrupt the file system by decrementing the parent
   directory's effective link count, which was previously correct
   because it already took the removal of the leaf directory into
   account, and setting the actual link count to the same value as the
   effective link count after the dangling, removed, leaf directory
   has been removed.  This happens because fsck acts based on the
   actual link count, which will be too high when fsck creates the
   file system snapshot that it references.

   This change has the fortunate side effect of more quickly cleaning
   up the large number dirrem structures that linger for an extended
   time after the removal of a large directory tree.  It also fixes a
   potential problem with the shutdown of the syncer thread timing out
   if the system is rebooted immediately after removing a large directory
   tree.

   Submitted by:   tegge
   MFC after:      3 days

   Revision  Changes    Path
   1.185     +2 -0      src/sys/ufs/ffs/ffs_softdep.c

Submitted by:	tegge
Approved by:	re (scottl)
2005-10-02 08:25:33 +00:00
csjp
0fcc9c347d MFC bpf.c v1.159
Make stats a bit more accurate by refreshing the PID after each
descriptor operation.

Approved by:	re (scottl)
2005-10-01 18:43:16 +00:00
phk
d1a2719799 MFC:
one character fix in mount option name.

Approved by:	re@ (scottl)
2005-10-01 17:39:50 +00:00
ume
33dceb90f2 MFC: add product ID for Linux Ethernet/RNDIS gadget on pxa210/25x/26x.
sys/dev/usb/if_cdce.c:	1.11
	sys/dev/usb/usbdevs:	1.234

Approved by:	re (scottl)
2005-10-01 16:26:25 +00:00
andre
1d50cd7eb9 MFC: IP_MINTTL socket option.
Approved by:	re (scottl)
2005-10-01 15:56:44 +00:00
delphij
15d6d1b68d MFC sys/fs/hpfs/hpfs_vfsops.c:1.54-1.56,
sys/fs/msdosfs/msdosfs_vfsops.c:1.145,
    sys/fs/ntfs/ntfs_vfsops.c:1.79-1.80,
    sys/fs/udf/udf_vfsops.c:1.34-1.35,
    sys/gnu/fs/ext2fs/ext2_vfsops.c:1.152-1.153,
    sys/gnu/fs/reiserfs/reiserfs_vfsops.c:1.2-1.3 (by ssouhlal):

*_mountfs() (if the filesystem mounts from a device) needs devvp to be
locked, so lock it.

Approved by:	re (scottl)
2005-09-30 06:26:42 +00:00
delphij
8eaf585962 MFC 1.293 (by ssouhlal):
ffs_mountfs() needs devvp to be locked, so lock it.

Approved by:	re (scottl)
2005-09-30 06:14:44 +00:00
delphij
4bdf4b1161 MFC 1.197 (by ssouhlal):
Don't unbusy the devfs mount in vfs_mountroot_try() as it gets accessed
and unbusied in devfs_fixup(), which assumes that the devfs mount is
still locked.

Approved by:	re (scottl)
2005-09-30 06:10:59 +00:00
csjp
a49552acda MFC privilege separation enhancements for bpf(4)
Introduce BIOCLOCK and BIOCSETWF

Revision(s)
    1.158     +81 -23    src/sys/net/bpf.c
    1.40      +2 -0      src/sys/net/bpf.h
    1.31      +4 -1      src/sys/net/bpfdesc.h

Approved by:	re (scottl)
2005-09-29 23:48:04 +00:00
rwatson
a15c06842e Merge if.c:1.247, in.c:1.88, in.h:1.92 from HEAD to RELENG_6:
Take a first cut at cleaning up ifnet removal and multicast socket
  panics, which occur when stale ifnet pointers are left in struct
  moptions hung off of inpcbs:

  - Add in_ifdetach(), which matches in6_ifdetach(), and allows the
    protocol to perform early tear-down on the interface early in
    if_detach().

  - Annotate that if_detach() needs careful consideration.

  - Remove calls to in_pcbpurgeif0() in the handling of SIOCDIFADDR --
    this is not the place to detect interface removal!  This also
    removes what is basically a nasty (and now unnecessary) hack.

  - Invoke in_pcbpurgeif0() from in_ifdetach(), in both raw and UDP
    IPv4 sockets.

  It is now possible to run the msocket_ifnet_remove regression test
  using HEAD without panicking.

  Reported by:	Gavin Atkinson <gavin dot atkinson at ury dot york dot ac dot uk>

Approved by:	re (scottl)
2005-09-29 20:57:07 +00:00
jhb
3f3d85126f MFC: Use correct VFS locking in kern_alternate_path().
Approved by:	re (scottl)
2005-09-29 18:53:10 +00:00
jhb
81459002f4 MFC various fixes to sis(4):
- Remove sis_unit and use device_printf() and if_printf() instead.
- Use callout_init_mtx() for the callout.
- Remove spls.
- Fix locking for ifmedia to happen in the ifmedia handlers rather than in
  sis_ioctl().

Approved by:	re (scottl)
2005-09-29 18:52:21 +00:00
jhb
9016005ea3 MFC: Add the spin lock used by the binary nvidia-driver to the static lock
order list.

Approved by:	re (scottl)
2005-09-29 18:47:31 +00:00
rwatson
5db6e492ee Merge subr_prof.c:1.119, 1.120, 1.121, nfs_socket.c:1.130,
rpcclnt.c:1.14 from HEAD to RELENG_6:

Acquire Giant in uprintf() and tprintf() due to the non-MPSAFEty of
the tty code invoked from these functions.  In two cases, during
timeout handling in NFS-related RPC client code, acquire Giant in
the caller before other mutexes the caller might hold, in order to
avoid lock order reversals with Giant (a recursive acquire is not
a reversal as it won't ever wait).

Correct age-old comments about uprintf()/tprintf() sleeping: they
will never sleep.

Much useful feedback from:	bde
Approved by:			re (scottl)
2005-09-29 18:40:36 +00:00
ru
25fd00f1d2 MFC: 1.57: Respect IFF_PROMISC.
Approved by:	re (scottl)
2005-09-28 16:46:17 +00:00
kensmith
f46dc59c05 MFC v1.43: Move hme_stop() BEFORE ether_ifdetach() and if_free() to
prevent a memory-referenced-after-free panic if the hme interface
fails to attach.

Patch obtained from:	marius
Suggested same thing:	brooks
Approved by:		re (scottl)
2005-09-28 14:10:00 +00:00
rwatson
14efd49e2f Merge fifo_vnops.c:1.129 from HEAD to RELENG_6:
Lock the read socket receive buffer when frobbing the sb_state flag on
  that socket during open, not the write socket receive buffer.

  Spotted by:	ups

Approved by:	re (scottl)
2005-09-28 06:55:02 +00:00
rwatson
20bc206faa Merge uipc_usrreq.c:1.156 from HEAD to RELENG_6:
Canonicalize the UNIX domain socket copyright layout: original holders
  before more recent holders.

Approved by:	re (scottl)
2005-09-28 06:52:10 +00:00
rwatson
442db0620a Merge fifo_vnops.c:1.128 from HEAD to RELENG_6:
For reasons of consistency (and necessity), assert an exclusive vnode
  lock on the fifo vnode in fifo_open(): we rely on the vnode lock to
  serialize access to v_fifoinfo.

Approved by:	re (scottl)
2005-09-28 06:47:32 +00:00
rwatson
bb13f5c766 Merge uipc_socket.c:1.249, socket.h:1.89 from HEAD to RELENG_6:
Add three new read-only socket options, which allow regression tests
  and other applications to query the state of the stack regarding the
  accept queue on a listen socket:

  SO_LISTENQLIMIT    Return the value of so_qlimit (socket backlog)
  SO_LISTENQLEN      Return the value of so_qlen (complete sockets)
  SO_LISTENINCQLEN   Return the value of so_incqlen (incomplete sockets)

  Minor white space tweaks to existing socket options to make them
  consistent.

  Discussed with: andre

Approved by:	re (scottl)
2005-09-27 21:14:10 +00:00
mlaier
8d659a8778 Document bridge(4) removal.
Approved by:	re (scottl)
2005-09-27 18:51:02 +00:00
imp
3d75a75160 MFC: CIS exported to userland, and a number of cosmetic fixups
Approved by: re@ (scottl)
2005-09-27 18:42:20 +00:00
delphij
2e3c58f846 MFC 1.64: Restore a historical ufs_inactive behavior that respect
the RDONLY option, so subsequent call of UFS_TRUNCATE (ffs_truncate)
would not panic the system.  This fixes a panic that can happen
when mounting a corrputed filesystem read-only, and reading data
from it.

Reviewed by:	mckusick
Approved by:	re (scottl)
2005-09-27 17:03:53 +00:00
davidxu
54f46820e2 MFC kern/sys_process.c revision 1.132
kern/kern_kse.c    revision 1.215

     > Fix a LOR between sched_lock and sleep queue lock.

Approved by: re(scottl)
2005-09-27 12:17:38 +00:00
davidxu
03359b164a MFC revisions 1.156 - 1.159, improve stability of ULE scheduler.
Approved by: re (scottl)
2005-09-27 12:00:31 +00:00
imp
7c9e67d3ae MFC: 1.297 and 1.298
Split the do_powerstaes knob into do_power_resume and do_power_nodriver.
Go ahead and enable power state management for suspend/resume, but leave
the nodriver powerdown off by default.  The MFC that changed do_power_state
default to 0 broke some resume on some laptops.

Approved by: re@ (scottl)
2005-09-27 05:57:47 +00:00
jhb
76e4abfa33 MFC: Stop using the '+' constraint modifier with memory operands in
inline assembly.  We still use it for register operands in various places.

Approved by:	re (kensmith)
2005-09-26 19:54:19 +00:00
jhb
ed90752feb MFC: Adjust comment to note that we now do handle the PMC LVT entry and
try to avoid recursively panicing.

Approved by:	re (kensmith)
2005-09-26 19:50:38 +00:00
jhb
74ef9d3c8a MFC: Use the new thread no sleeping facility to replace the g_xup, g_xdown,
and dont_sleep_in_callout mutexes.  Also, disallow sleeping in hardware
interrupt handlers.

Approved by:	re (kensmith)
2005-09-26 19:49:12 +00:00
jhb
de60f2213a MFC: Add a new simple facility for marking the current thread as being in a
state where sleeping on a sleep queue is not allowed.

Approved by:	re (kensmith)
2005-09-26 19:43:37 +00:00
jhb
0f21530145 MFC: Explicitly switch to the new TSS when adding one in i386_extend_pcb().
Approved by:	re (kensmith)
2005-09-26 19:38:12 +00:00
jhb
02ea2b090c MFC: Fixup locking and mark MPSAFE.
Approved by:	re (kensmith)
2005-09-26 19:36:38 +00:00
jhb
277d7bc3b0 MFC: Add a memory barrier for PREWRITE operations to ensure all writes by
the CPU have drained before further writes to kick off the DMA operation.

Approved by:	re (kensmith)
2005-09-26 19:35:33 +00:00
phk
8763ae81c0 MFC:
Fixes for various races in md.

Approved by:	re@ (scottl)
2005-09-26 18:14:38 +00:00
damien
0984404791 sync with HEAD.
o Brings WME and IBSS support.
o Fix association with APs hiding their SSIDs.

Approved by:	re (scottl)
2005-09-26 17:31:36 +00:00
damien
1851421db0 sync with HEAD.
Approved by:	re (scottl)
2005-09-26 17:21:15 +00:00
glebius
eea24f1858 MFC 1.113:
Several fixes to rt_setgate(), that fix problems with route changing:

  - Rearrange code so that in a case of failure the affected
    route is not changed. Otherwise, a bogus rtentry will be
    left and later rt_check() can recurse on its lock. [1]
  - Remove comment about protocol cloning.
  - Fix two places where rtentry mutex was recursed on, because
    accessed via two different pointers, that were actually pointing
    to the same rtentry in some cases. [1]
  - Return EADDRINUSE instead of bogus EDQUOT, in case when gateway
    uses the same route. [2]

  Reported & tested by:	ps, Andrej Zverev <az inec.ru> [1]
  PR:			kern/64090 [2]

Approved by:	re (scottl)
2005-09-26 14:59:12 +00:00
glebius
cd205d9454 MFC 1.71, 1.72:
Check IFF_DRV_RUNNING before calling em_start_locked().

Approved by:	re (scottl)
2005-09-26 14:46:10 +00:00
phk
6c1584f5fc MFC:
DEVFS fixes of many sorts.

Approved by:	re@ (scottl)
2005-09-26 14:36:54 +00:00
andre
3fe532433d MFC 1.160: Undo optimization which broke BIOCGSEESENT handling.
Approved by:	re (scottl)
2005-09-26 12:06:18 +00:00
andre
16ee6d8644 MFC 1.77: Do not ignore all other TCP options when TCP_MD5.
Approved by:	re (scottl)
2005-09-26 12:03:37 +00:00
thompsa
1d1e4f1a56 MFC: if_bridge.c, r1.22
> Fix an alignment panic my preserving the 2byte padding (ETHER_ALIGN) on our
> copied mbuf, which keeps the IP header 32-bit aligned. This copied mbuf is
> reinjected back into ether_input and off to the IP routines.
>
> Reported and tested by: Peter van Dijk

Approved by:	re (scottl), mlaier (mentor)
2005-09-25 20:36:02 +00:00
rwatson
6d0981051c Merge kern_acct.c:1.75 from HEAD to RELENG_6:
Pass 'curthread' into VFS_STATFS() from acctwatch(), rather than passing
  NULL.  The NFS client expects that a thread will always be present for a
  VOP so that it can check for signal conditions, and will dereference a
  NULL pointer if one isn't present.

Approved by:	re (scottl)
2005-09-25 18:54:28 +00:00
wilko
2b39ecac0b Try to avoid crashes during kernel startup by limiting the # of EISA
slots to probe.  Problems have been reported in this area, lets hope
this  bandaid helps.

	!! Owners of EISA-equipped Alpha machines are requested to at least
	!! boot-test a 6-BETA build and report back to the Alpha list. Thanks!

Approved by: re (scottl)
Suggested by: ticso
2005-09-25 18:34:18 +00:00
cognet
2e14014059 It seems I can't MFC something without forgetting half the files.
MFC rev 1.25
revision 1.25
date: 2005/09/18 19:23:35;  author: cognet;  state: Exp;  lines: +2 -4
Slightly change the API for the SNPSTTY ioctl so that the userland now
provides a file descriptor instead of a dev_t.

Approved by:	re
2005-09-24 13:19:20 +00:00
cognet
e52f9ba968 MFC rev 1.5:
revision 1.5
date: 2005/09/19 10:14:05;  author: mux;  state: Exp;  lines: +1 -1
Fix the module build for snp(4).

Approved by:	re
2005-09-23 23:23:54 +00:00