Commit Graph

54779 Commits

Author SHA1 Message Date
cvs2svn
ec43e58941 This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-07-29 10:06:58 +00:00
jkoshy
d8ee659609 MFC r1.9:
Fix breakage introduced in rev 1.7.

Approved by:	re (kensmith)
2005-07-29 03:01:40 +00:00
jkoshy
478aec733a MFC r1.12:
Use LK_CANRECURSE since when a PMC-owning process performs an exec(),
  the new text vnode is already locked by itself.

Approved by:	re (kensmith)
2005-07-29 02:58:34 +00:00
nyan
533eeeea47 MFi386: revision 1.616.2.1
> Use an interrupt gate for the NMI handler and prevent too-early
> enabling of interrupts inside of trap().

Approved by:	re (kensmith)
2005-07-28 17:22:39 +00:00
rwatson
b90366a3fc Merge uma.h:1.27, uma_core.c:1.129 from HEAD to RELENG_6:
Rename UMA_MAX_NAME to UTH_MAX_NAME, since it's a maximum in the
  monitoring API, which might or might not be the same as the internal
  maximum (currently none).

  Export flag information on UMA zones -- in particular, whether or
  not this is a secondary zone, and so the keg free count should be
  considered in that light.

Approved by:	re (kensmith)
2005-07-28 12:10:19 +00:00
jkoshy
0775c0fa95 MFC { exception.s:r1.114, machdep.c:r1.617, trap.c:r1.278 }
Use an interrupt gate for the NMI handler and prevent too-early
enabling of interrupts inside of trap().

Revert rev 1.113 of "sys/i386/i386/exception.s" as it is no longer
needed.

Approved by:	re (kensmith)
2005-07-28 03:30:53 +00:00
cperciva
bc436e7a70 Correct a buffer overflow which can occur when decompressing a
carefully crafted deflated data stream. [1]

Correct problems in the AES-XCBC-MAC IPsec authentication algorithm. [2]

Submitted by:   suz [2]
Security:       FreeBSD-SA-05:18.zlib [1], FreeBSD-SA-05:19.ipsec [2]
Approved by:	re (kensmith)
2005-07-27 08:41:44 +00:00
thompsa
6171107e4e MFC: if_bridge.c, r1.13
>   Clear the PROMISC flag from the vlan interface when we remove a member. We
>   checked for IFT_L2VLAN in bridge_ioctl_add() but not bridge_delete_member().
>
>   Approved by:    mlaier (mentor)
>
>   Revision  Changes    Path
>   1.13      +1 -0      src/sys/net/if_bridge.c

Approved by:	re (kensmith), mlaier (mentor)
2005-07-25 18:55:11 +00:00
emax
d1df494821 MFC to RELENG_6 ng_ubt.c v1.25
Add support for AVM BlueFRITZ! USB Bluetooth Adapter v2.0. It appears that
there are at least two versions of the adapter. Version 1 (product ID 0x2200)
of the adapter does not work with ng_ubt(4) and require special driver and
firmware. Version 2 (product ID 0x3800) seems to work just fine, except it
does not have bDeviceClass, bDeviceSubClass and bDeviceProtocol set to required
(by specification) values. This change forces ng_ubt(4) to attach to the
version 2 adapter.

Ignore AVM BlueFRITZ! USB Bluetooth Adapter v1.0 (product ID 0x2200).
It does not work with ng_ubt(4) and require special driver and firmware.

Submitted by:	Rainer Goellner < rainer at jabbe dot de >
Approved by:	re (kensmith)
Obtained from:	Marcel Holtmann < marcel at holtmann dot org >
2005-07-25 16:22:38 +00:00
emax
15d63eb12f MFC to RELENG_6
Fix kernel panic with vkbd(4). Initialize mutex properly (set name), or else
WITNESS gets upset.

Approved by:	re (kensmith)
2005-07-25 16:16:52 +00:00
kensmith
6c9b3447cc New __FreeBSD_version to mark the shared library version bump.
Approved by:	re (hrs)
2005-07-25 13:30:18 +00:00
rwatson
04d3fc6f5f Merge mac_stub.c:1.54 from HEAD to RELENG_6:
Remove duplicate initialization of mpo_create_stub pointer.

  PR:             83779
  Submitted by:   Wojciech A. Koszek <dunstan at freebsd dot czest dot pl>

Approved by:	re (kensmith)
2005-07-25 09:45:24 +00:00
rwatson
5067032558 Merge kern_mbuf.c:1.10, uipc_mbuf.c:1.32, mbuf.h:1.171 from HEAD to
RELENG_6:

  Define four constants, MBUF_{,MEM,CLUSTER,PACKET,TAG}_MEM_NAME, which
  are string names for their respective UMA zones and malloc types, and
  are passed into uma_zcreate() and MALLOC_DEFINE().  Export them
  outside of _KERNEL in mbuf.h so that netstat can reference them.

  Change the names to improve consistency, with each zone/type
  associated with the mbuf allocator being prefixed mbuf_.

Approved by:	re (kensmith)
2005-07-25 00:08:12 +00:00
rwatson
db6e7961b9 Merge kern_malloc.c:1.143,1.144 malloc.h:1.81 from HEAD to RELENG_6:
Introduce a new sysctl, kern.malloc_stats, which exports kernel malloc
  statistics via a binary structure stream:

  - Add structure 'malloc_type_stream_header', which defines a stream
    version, definition of MAXCPUS used in the stream, and a number of
    malloc_type records in the stream.

  - Add structure 'malloc_type_header', which defines the name of the
    malloc type being reported on.

  - When the sysctl is queried, return a stream header, followed by a
    series of type descriptions, each consisting of a type header
    followed by a series of MAXCPUS malloc_type_stats structures holding
    per-CPU allocation information.  Typical values of MAXCPUS will be 1
    (UP compiled kernel) and 16 (SMP compiled kernel).

  This query mechanism allows user space monitoring tools to extract
  memory allocation statistics in a machine-readable form, and to do so
  at a per-CPU granularity, allowing monitoring of allocation patterns
  across CPUs in order to better understand the distribution of work and
  memory flow over multiple CPUs.

  While here:

  - Bump statistics width to uint64_t, and hard code using fixed-width
    type in order to be more sure about structure layout in the stream.
    We allocate and free a lot of memory.

  - Add kmemcount, a counter of the number of registered malloc types,
    in order to avoid excessive manual counting of types.  Export via a
    new sysctl to allow user-space code to better size buffers.

  - De-XXX comment on no longer maintaining the high watermark in old
    sysctl monitoring code.

  A follow-up commit of libmemstat(3), a library to monitor kernel memory
  allocation, will occur in the next few days.  Likewise, similar changes
  to UMA.

kern_malloc.c:1.144:

  Correct build on 64-bit: cast u_int64_t to (unsigned long long) before
  printfing as (unsigned long long).  32-bit build on i386 didn't notice
  this.  Whoops.

  Reported by:    arved
  Tested by:      sledge

Approved by:	re (kensmith)
2005-07-23 17:11:33 +00:00
mlaier
e678c5edd8 MFC: if_pfsync.c, 1.20 in_proto.c, 1.78
Export pfsyncstats via sysctl "net.inet.pfsync" in order to print them
  with netstat (seperate commit).

  Requested by:   glebius

Approved by:	re (kensmith)
2005-07-23 17:02:10 +00:00
imura
99200c85ff MFC 1.45: Fix looking up files having invalid short name.
PR:		77074
Approved by:	re (kensmith)
2005-07-23 17:02:04 +00:00
mlaier
54b3d10896 MFC: if.c, 1.236
Move eventhandler for 'ifnet_departure_event' at the end of the progress.
  Some of the (IPv6) cleanup functions send packets to inform peers of the
  departure.  These packets confused users of ifnet_departure_event (pf at
  the moment).

  PR:             kern/80627
  Tested by:      Divacky Roman

Approved by:	re (kensmith)
2005-07-23 17:00:07 +00:00
rwatson
45ebd5c0a6 Merge uma_core.c:1.128 from HEAD to RELENG_6:
Further UMA statistics related changes:

    - Add a new uma_zfree_internal() flag, ZFREE_STATFREE, which causes it to
      to update the zone's uz_frees statistic.  Previously, the statistic was
      updated unconditionally.

    - Use the flag in situations where a "real" free occurs: i.e., one where
      the caller is freeing an allocated item, to be differentiated from
      situations where uma_zfree_internal() is used to tear down the item
      during slab teardown in order to invoke its fini() method.  Also use
      the flag when UMA is freeing its internal objects.

    - When exchanging a bucket with the zone from the per-CPU cache when
      freeing an item, flush cache statistics back to the zone (since the
      zone lock and critical section are both held) to match the allocation
      case.

Approved by:	re (kensmith)
2005-07-23 15:11:13 +00:00
rwatson
5562de6958 Merge uma_core.c:1.127 from HEAD to RELENG_6:
Use mp_maxid in preference to MAXCPU when creating exports of UMA
  per-CPU cache statistics.  UMA sizes the cache array based on the
  number of CPUs at boot (mp_maxid + 1), and iterating based on MAXCPU
  could read off the end of the array (into the next zone).

  Reported by:    yongari

Approved by:	re (kensmith)
2005-07-23 15:10:29 +00:00
rwatson
3fddaeea0e Merge uma.h:1.26, uma_int.h:1.36, uma_core.c:1.126 from HEAD to
RELENG_6:

  Improve canonicalization of copyrights.  Order copyrights by order of
  assertion (jeff, bmilekic, rwatson).

  Suggested ages ago by:  bde

Approved by:	re (kensmith)
2005-07-23 15:10:00 +00:00
rwatson
834f5ace40 Merge uma_core.c:1.125 from HEAD to RELENG_5:
Move the unlocking of the zone mutex in sysctl_vm_zone_stats() so that
  it covers the following of the uc_alloc/freebucket cache pointers.
  Originally, I felt that the race wasn't helped by holding the mutex,
  hence a comment in the code and not holding it across the cache access.
  However, it does improve consistency, as while it doesn't prevent
  bucket exchange, it does prevent bucket pointer invalidation.  So a
  race in gathering cache free space statistics still can occur, but not
  one that follows an invalid bucket pointer, if the mutex is held.

  Submitted by:   yongari

Approved by:	re (kensmith)
2005-07-23 15:08:53 +00:00
rwatson
5123f5ca4b Merge uma.h:1.25, uma_int.h:1.35, uma_core.c:1.124 from HEAD to
RELENG_6:

  Increase the flags field for kegs from a 16 to a 32 bit value;
  we have exhausted all 16 flags.

Approved by:	re (kensmith)
2005-07-23 15:08:12 +00:00
rwatson
383e61944d Merge uma.h:1.24, uma_int.h:1.34, uma_core.c:1.123 from HEAD to
RELENG_6:

  Track UMA(9) allocation failures by zone, and export via sysctl.

  Requested by:   victor cruceru <victor dot cruceru at gmail dot com>

Approved by:	re (kensmith)
2005-07-23 15:06:54 +00:00
rwatson
adabb7b041 Merge uma.h:1.23, uma_int.h:1.33, uma_core.c:1.122 from HEAD to
RELENG_6:

  Introduce a new sysctl, vm.zone_stats, which exports UMA(9) allocator
  statistics via a binary structure stream:

  - Add structure 'uma_stream_header', which defines a stream version,
    definition of MAXCPUs used in the stream, and the number of zone
    records in the stream.

  - Add structure 'uma_type_header', which defines the name, alignment,
    size, resource allocation limits, current pages allocated, preferred
    bucket size, and central zone + keg statistics.

  - Add structure 'uma_percpu_stat', which, for each per-CPU cache,
    includes the number of allocations and frees, as well as the number
    of free items in the cache.

  - When the sysctl is queried, return a stream header, followed by a
    series of type descriptions, each consisting of a type header
    followed by a series of MAXCPUs uma_percpu_stat structures holding
    per-CPU allocation information.  Typical values of MAXCPU will be
    1 (UP compiled kernel) and 16 (SMP compiled kernel).

  This query mechanism allows user space monitoring tools to extract
  memory allocation statistics in a machine-readable form, and to do so
  at a per-CPU granularity, allowing monitoring of allocation patterns
  across CPUs in order to better understand the distribution of work and
  memory flow over multiple CPUs.

  While here, also export the number of UMA zones as a sysctl
  vm.uma_count, in order to assist in sizing user swpace buffers to
  receive the stream.

  A follow-up commit of libmemstat(3), a library to monitor kernel memory
  allocation, will occur in the next few days.  This change directly
  supports converting netstat(1)'s "-mb" mode to using UMA-sourced stats
  rather than separately maintained mbuf allocator statistics.

Approved by:	re (kensmith)
2005-07-23 15:05:24 +00:00
rwatson
0788375698 Merge uma_int.h:1.32, uma_core.c:1.121 from HEAD to RELENG_6:
In addition to tracking allocs in the zone, also track frees.  Add
  a zone free counter, as well as a cache free counter.

Approved by:	re (kensmith)
2005-07-23 15:03:49 +00:00
rwatson
8093747980 Merge uma_core.c:1.20 from HEAD to RELENG_6:
In an earlier world order, UMA would flush per-CPU statistics to the
  zone whenever it was moving buckets between the zone and the cache,
  or when coalescing statistics across the CPU.  Remove flushing of
  statistics to the zone when coalescing statistics as part of sysctl,
  as we won't be running on the right CPU to write to the cache
  statistics.

  Add a missed gathering of statistics: when uma_zalloc_internal()
  does a special case allocation of a single item, make sure to update
  the zone statistics to represent this.  Previously this case wasn't
  accounted for in user-visible statistics.

Approved by:	re (kensmith)
2005-07-23 15:01:48 +00:00
scottl
7ecd401320 MFC rev 1.55: Check the correct IDs for the Dell PERC3/S/Di filter driver.
Approved by: re
2005-07-22 16:29:51 +00:00
emax
4704967d22 MFC to RELENG_6
kbdmux(4) keyboard multiplexer integration

o Hook up kbdmux(4) to the build.

Approved by:	re (kensmith)
2005-07-21 17:47:27 +00:00
ps
21b8a6b2f6 MFC: rev 1.127
Fix for a NFS soft mounts bug where if the number of retries exceeds
the max rexmits, the request was not being bounced back with a
ETIMEDOUT error.

Approved by:	re
2005-07-21 16:19:02 +00:00
cvs2svn
b63ff29afc This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-07-20 21:10:58 +00:00
emax
339c3c8a5d MFC to RELENG_6
kbdmux(4) keyboard multiplexer integration

o Add two new ioctl's KBADDKBD and KBRELKBD. These are used to add and remove
  keyboard to (and from) kbdmux(4) keyboard multiplexer;

o Introduce new kbd_find_keyboard2() function. It does exactly the same job
  as kbd_find_keyboard() function except it allows to specify starting index.
  This function can be used to iterate over keyboards array;

o Re-implement kbd_find_keyboard() as call to kbd_find_keyboard2() with starting
  index of zero;

o Make sure syscons(4) passed KBADDKBD and KBRELKBD ioctl's onto currently
  active keyboard.

These changes should not have any visible effect.

Approved by:	re (kensmith)
2005-07-20 18:56:21 +00:00
jhb
0bceb288b2 Regenerate.
Approved by:	re (kensmith) (implicit)
2005-07-20 17:43:53 +00:00
jhb
b4aa604964 MFC: Sync up the MP safe flags of the compat ABIs with the master list and
mark known-safe ABI syscall wrappers as MP safe.

Approved by:	re (kensmith)
2005-07-20 17:42:15 +00:00
simon
777ee0c901 MFC rev 1.116 of src/sys/fs/devfs/devfs_vnops.c:
Correct devfs ruleset bypass.

Submitted by:	csjp
Reviewed by:	phk
Security:	FreeBSD-SA-05:17.devfs
Approved by:	re (scottl)
2005-07-20 13:35:07 +00:00
pjd
07c78f2e9f MFC: g_concat.c 1.25
g_stripe.c	1.26

Before calling g_orphan_provider(), add G_PF_WITHER flag, so GEOM will know
to destroy it.

PR:		kern/81758
Submitted by:	trasz <trasz@buziaczek.pl>
Approved by:	re (kensmith)
2005-07-20 13:12:20 +00:00
rwatson
3495e52d0b Merge ip_input.c:1.302 from HEAD to RELENG_6:
Remove spl() calls from ip_slowtimo(), as IP fragment queue locking was
  merged several years ago.

Approved by:	re (kensmith)
2005-07-20 12:03:38 +00:00
rwatson
d558a17887 Merge if_sbsh.c:1.13 from HEAD to RELENG_6:
Mark if_sbsh as IFF_NEEDSGIANT, because it does.

Approved by:	re (kensmith)
2005-07-20 09:41:52 +00:00
rwatson
a1a683e30e Merge if_cnw.c:1.19 from HEAD to RELENG_6:
Mark if_cnw as IFF_NEEDSGIANT, because it does.

Approved by:	re (kensmith)
2005-07-20 09:41:08 +00:00
thompsa
3ff75fd38d MFC: Allow interfaces with MTU != 1500 to be bridged
> 1.6       +3 -0      src/share/man/man4/if_bridge.4
> 1.12      +6 -1      src/sys/net/if_bridge.c

Approved by:	re (kensmith), mlaier (mentor)
2005-07-19 23:25:39 +00:00
jhb
8d4a9d75bf MFC: Add 'sysent' target.
Approved by:	re (kensmith)
2005-07-18 19:54:49 +00:00
jhb
288ca48d6c MFC: Fix instant panics when booting with debug.mpsafevm=0 by fixing up
an old test.

Approved by:	re (kensmith)
2005-07-18 19:53:21 +00:00
jhb
94b28a8c46 MFC: Set timer0_max_count to a correct value in the lapic timer case and
fix i8254_restore() so that it actually works in the non-lapic timer case
thus unbreaking suspend/resume for several people.

Approved by:	re (kensmith)
2005-07-18 19:52:05 +00:00
jhb
ecaea625bd MFC: Wrap freebsd32_mmap_partial() with Giant.
Approved by:	re (kensmith)
2005-07-18 19:49:48 +00:00
jhb
2241d53b9e Regenerate after IPC syscall addition.
Approved by:	re (kensmith) (implicit)
2005-07-18 19:48:44 +00:00
jhb
2266f8e080 MFC: Stop hardcoding #define's and hook up the IPC syscalls.
Approved by:	re (kensmith)
2005-07-18 19:48:13 +00:00
jhb
654d629916 MFC: Don't provide an acpi attachment for the non-pnp mss(4) driver.
Approved by:	re (kensmith)
MFC after:	1 week
2005-07-18 19:46:38 +00:00
jhb
04c5a7e3eb MFC: Ignore BIOS IRQs > 15.
Approved by:	re (kensmith)
MFC after:	1 week
2005-07-18 19:45:21 +00:00
jhb
030929c001 MFC: Don't probe PnP ISA devices.
Approved by:	re (kensmith)
MFC after:	1 week
2005-07-18 19:43:45 +00:00
kensmith
b347cb6eac MFC addition of the COMPAT_FREEBSD5 option. Specific versions
being MFCed:

> Path                          Revision
> src/sys/alpha/conf/GENERIC    1.187
> src/sys/amd64/conf/GENERIC    1.440
> src/sys/i386/conf/GENERIC     1.430
> src/sys/ia64/conf/GENERIC     1.73
> src/sys/pc98/conf/GENERIC     1.270
> src/sys/powerpc/conf/GENERIC  1.49
> src/sys/sparc64/conf/GENERIC  1.97

Approved by:    re (scottl)
2005-07-18 12:23:42 +00:00
kensmith
e7c5c6f894 Sync name with current BETA builds.
Approved by:	re (implicit)
2005-07-15 11:40:36 +00:00