45550 Commits

Author SHA1 Message Date
rwatson
fea945fb73 Lock down IP-layer encapsulation library:
- Add encapmtx to protect ip_encap.c global variables (encapsulation
   list).
 - Unifdef #ifdef 0 pieces of encap_init() which was (and now really
   is) basically a no-op.
 - Lock encapmtx when walking encaptab, modifying it, comparing
   entries, etc.
 - Remove spl's.

Note that currently there's no facilite to make sure outstanding
use of encapsulation methods on a table entry have drained bfore
we allow a table entry to be removed.  As such, it's currently the
caller's responsibility to make sure that draining takes place.

Reviewed by:	mlaier
2004-03-10 02:48:50 +00:00
rwatson
7866f6e355 Scrub unused variable zeroin_addr. 2004-03-10 01:01:04 +00:00
jmg
cf1b8bdb72 make sure we had the filedesc lock when calling fdinit when RFCFDG is set
on call to rfork.

Submitted by:	Brian Buchanan
Semi-Reviewed by: rwatson
2004-03-10 00:27:36 +00:00
rwatson
b6f84aeea9 Const-poison ethernet and FDDI broadcast address constants, as they
are accessed read-only.
2004-03-09 23:55:59 +00:00
jb
dc5da5f8f7 Remove duplicate code.
Requested by: bde
2004-03-09 20:53:01 +00:00
wpaul
9d87e57eb4 Trim unneeded includes from if_ndis_pccard.c and if_ndis_pci.c. Also removed
unused variables from if_ndis_pccard.c
2004-03-09 20:29:21 +00:00
rwatson
19c49ad2c7 Introduce stf_mtx to protect global softc list in if_stf. Add
stf_destroy() to handle the common softc destruction path for the
two destruction sources: interface cloning destroy, and module
unload.

NOTE: sc_ro, the cached route for stf conversion, is not synchronized
against concurrent access in this change, that will follow in a future
change.

Reviewed by:	pjd
2004-03-09 20:29:19 +00:00
rwatson
63f793ca24 Introduce faith_mtx to protect the if_faith global softc list.
Push if_faith softc destruction logic into faith_destroy() so that
it can be called after softc list removal in both the clone destroy
and module unload paths.
2004-03-09 19:23:06 +00:00
wpaul
696d0d4e7f If the resource listing obtained from BUS_GET_RESOURCE_LIST() in
ndis_probe_pci() doesn't contain an entry for an IRQ resource, try to
force one to be routed to us anyway by adding an extra call to
bus_alloc_resource(). If this fails, then we have to abort the attach.

Patch provided by jhb, tweaked by me.
2004-03-09 18:39:40 +00:00
rwatson
c02494f647 Introduce lo_mtx to protect the global loopback softc list. I'm not
really sure why we have a softc list for if_loop, given that it
can't be unloaded, but that's an issue to revisit in the future as
corrupting the softc list would still cause panics.

Reviewed by:	benno
2004-03-09 17:27:48 +00:00
rwatson
2895d8d1ea Introduce disc_mtx to protect the global softc list in if_disc.
Since there are two destroy paths for if_disc interfaces --
module unload and cloan interface destroy, create a new utility
function disc_destroy(), which is callded on a softc after it
has been removed from the global softc list; the cloaner and
module unload entry paths will both remove it before calling
disc_destroy().

Reviewed by:	pjd
2004-03-09 16:31:19 +00:00
le
9705141020 Fix an integer overflow when dealing with very large volumes. This bug
prevented newfs to work on volumes that are larger than 1TB.

PR:             63577
Submitted by:   Masaki Takakashi <mtakahashi@se.gtd.cosmo.co.jp>
Approved by:    grog (mentor), bde
2004-03-09 12:45:43 +00:00
pjd
e213a22583 - Don't take sectorsize from first disk. Calculate it by finding
least common multiple of all disks sector sizes.
  This will allow to safely concatenate disks with different sector sizes.
- Mark unused function arguments.
- Other minor cleanups.
2004-03-09 11:18:53 +00:00
pjd
635aabbaa2 Print a space character between string given as a macro argument and
bio description.
2004-03-09 11:00:24 +00:00
le
268956cf00 Since vinum doesn't fake disklabels anymore, remove get_volume_label().
Also, remove stale write_volume_label() declaration; the write_volume_label()
function was deleted 8 months ago.

Approved by:    grog (mentor)
2004-03-09 09:50:15 +00:00
njl
ed981b0de3 Simplify some logic in converting a buffer to an integer. 2004-03-09 05:44:47 +00:00
njl
8cbce9a150 Use an unsigned int instead of an int for the Get/Set Integer interface.
Pointed out by:	le
2004-03-09 05:41:28 +00:00
marcel
4c2f4222e3 Reset the text attributes when initializing the console. The EFI
loader typically doesn't do this so that we end up booting the
with whatever the EFI loader has set it to last.
2004-03-09 04:00:33 +00:00
njl
89565a7301 Hook CPUs up to newbus. CPUs will ultimately be a bus driver so that
multiple CPU-specific drivers can attach.  This is a work in progress
so children aren't supported yet.

Help from:	jhb
2004-03-09 03:37:21 +00:00
jb
ee32fc5596 Add #ifdef CPU_SOEKRIS in the missing places around the led_* code
that is specific to those boards.

This allows this file to compile again with CPU_ELAN enabled, but not
CPU_SOEKRIS, for a Compulab board.
2004-03-09 02:51:21 +00:00
jb
1fdc6e57d5 AMD's ELAN documentation says that you write to the SYS_RST register
in the Memory Mapped Configuration Region (MMCR) to reset the CPU.
If CPU_ELAN is set, try this first to reset the CPU before the
traditional way.

Without this change, my Compulab board powers down on 'reset' instead
of rebooting.
2004-03-09 02:49:24 +00:00
mlaier
916d9c5688 Bump __FreeBSD_version for the pf install and write comments to UPDATING.
Approved by:	bms(mentor)
2004-03-08 22:26:46 +00:00
mlaier
6be47b725d Link pf to the build and install:
This adds the former ports registered groups: proxy and authpf as well as
the proxy user. Make sure to run mergemaster -p in oder to complete make
installworld without errors.

This also provides the passive OS fingerprints from OpenBSD (pf.os) and an
example pf.conf.

For those who want to go without pf; it provides a NO_PF knob to make.conf.

__FreeBSD_version will be bumped soon to reflect this and to be able to
change ports accordingly.

Approved by:	bms(mentor)
2004-03-08 22:03:29 +00:00
rwatson
8ff4e76430 Mark loadaverage callout as CALLOUT_MPSAFE.
Reviewed by:	jhb
2004-03-08 22:01:19 +00:00
pjd
b2d1dcd936 Add two new sysctls:
- security.bsd.hardlink_check_uid, when set, means, that unprivileged
		users are not permitted to create hard links to files not
		owned by them,
	- security.bsd.hardlink_check_gid, when set, means, that unprivileged
		users are not permitted to create hard links to files owned
		by group they don't belong to.

OK'ed by:	rwatson
2004-03-08 20:37:25 +00:00
benno
b817fe9eca Add a netgraph node to handle ATM LLC encapsulation. This currently handles
ethernet (tested) and FDDI (not tested).  The main use for this is on ADSL (or
other ATM) connections where bridged ethernet is used, PPPoE being a prime
example.

There is no manual page as yet, I will write one shortly.

Reviewed by:	harti
2004-03-08 10:54:35 +00:00
hsu
01e90a548b To comply with the spec, do not copy the TOS from the outer IP
header to the inner IP header of the PIM Register if this is a PIM
Null-Register message.

Submitted by:	Pavlin Radoslavov <pavlin@icir.org>
2004-03-08 07:47:27 +00:00
hsu
ef9b350961 Include <sys/types.h> for autoconf/automake detection.
Submitted by:	Pavlin Radoslavov <pavlin@icir.org>
2004-03-08 07:45:32 +00:00
alc
81dacfa43e Implement a work around for the deadlock avoidance case in
vm_object_deallocate() so that it doesn't spin forever either.

Submitted by:	bde
2004-03-08 03:54:36 +00:00
peter
fc9a6b748e Add back Giant locks around kmem_free() call from user_ldt cleanup path
during exit.  Apparently it isn't safe after all.  See uma_large_free().

Pointed out by:  alc
2004-03-08 01:55:34 +00:00
peter
836666b0d7 Move a vref call outside of proc locks and Giant. By virtue of the fact
that we (p1) are currently running, we hold a reference on p_textvp which
means the vnode cannot go away.  p2 cannot run yet (and hence cannot exit)
so this should be safe to do at this point.  As a bonus, it removes a
block of under-Giant code that was there to support the vref.
2004-03-08 00:32:34 +00:00
peter
8da7b98c54 Other parts of the tree do not protect calls to kmem_free() with Giant,
so remove it from here.  The most notable examples include vm_mmap().
This removes one more Giant event from exit(2).
2004-03-08 00:27:33 +00:00
peter
abf40a2dfe Stop depending on #include pollution from cpufunc.h 2004-03-08 00:25:03 +00:00
peter
d2aca56c04 MFi386: re-sort non-gcc function prototypes, trim includes 2004-03-08 00:24:15 +00:00
peter
2ea7cd2603 MFi386: curpcb is no longer null anymore, so do not test for it. 2004-03-08 00:17:27 +00:00
peter
692fcef36a MFi386: set initial curpcb pcpu variable at startup time rather than
waiting for a context switch
2004-03-08 00:16:52 +00:00
peter
8726a719b8 MFi386: wait for local apic to become free before using it 2004-03-08 00:15:29 +00:00
ru
bf23ea37e6 Implemented the "getifindex" control message.
PR:		kern/63864
Submitted by:	Gleb Smirnoff
2004-03-07 23:00:44 +00:00
alc
f13324f65b Retire pmap_pinit2(). Alpha was the last platform that used it. However,
ever since alpha/alpha/pmap.c revision 1.81 introduced the list allpmaps,
there has been no reason for having this function on Alpha.  Briefly,
when pmap_growkernel() relied upon the list of all processes to find and
update the various pmaps to reflect a growth in the kernel's valid
address space, pmap_init2() served to avoid a race between pmap
initialization and pmap_growkernel().  Specifically, pmap_pinit2() was
responsible for initializing the kernel portions of the pmap and
pmap_pinit2() was called after the process structure contained a pointer
to the new pmap for use by pmap_growkernel().  Thus, an update to the
kernel's address space might be applied to the new pmap unnecessarily,
but an update would never be lost.
2004-03-07 21:06:48 +00:00
phk
4b105bbf3a Don't panic on providers already withered when we wither a geom. 2004-03-07 17:33:15 +00:00
cognet
8687e8494b Use one bus_dma_tag_t for all pSRB instead of creating one for each.
Free what is allocated for pSRBs at unload time or if something bad happens,
thanks to scottl for spotting this out.
2004-03-07 17:23:39 +00:00
kan
c279ab4ad6 Convert from timeout to callout API.
Submitted by: rwatson
2004-03-07 16:28:31 +00:00
kan
edfb020c30 Convert from timeout to callout API. 2004-03-07 16:23:03 +00:00
nyan
d8c0e1b9ca Restore CDIOCREADAUDIO ioctl.
Pointed out by:	KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>
2004-03-07 14:16:42 +00:00
alc
3f80ac14a2 Integrate the code from pmap_pinit2() into pmap_pinit(), leaving
pmap_pinit2() empty.

Approved by:	marcel
2004-03-07 07:43:13 +00:00
alc
d1279ddf19 Remove unused declarations. (Some time ago, these variables became fields
of vm/vm.h's struct kva_md_info.)
2004-03-07 07:13:15 +00:00
rwatson
fa59040dad Mark uma_callout as CALLOUT_MPSAFE, as uma_timeout can run MPSAFE.
Reviewed by:	jeff
2004-03-07 07:00:46 +00:00
nyan
4d5eb6b80f Remove '#include <machine/bus_pio.h>'. This is meaningless. 2004-03-07 05:39:38 +00:00
nyan
da48bd6815 Remove unneeded devices. 2004-03-07 05:38:20 +00:00
sanpei
023ccc15a9 Sync to 1.166 of usbdevs 2004-03-07 05:34:36 +00:00