45845 Commits

Author SHA1 Message Date
pjd
b05f0288da We probably shouldn't allow users to mount file systems with MNT_SUIDDIR.
There should be not shell access when SUIDDIR is compiled in, but
better be sure.

Reviewed by:	rwatson
2004-03-26 21:12:14 +00:00
ume
11f479f519 Validate IPv6 socket options more carefully to avoid a panic.
PR:		kern/61513
Reviewed by:	cperciva, nectar
2004-03-26 19:52:18 +00:00
julian
714a4cc72b MFNetBSD Version 1.146
various probing and attaching tweeks.

Submitted by:	Rudolf Cejka <cejkar@fit.vutbr.cz>

Obtained from:	NetBSD
MFC after: 3 days
2004-03-26 18:56:58 +00:00
obrien
9c19d495cc Bring back jhb's two sector (1024 bytes) 'boot0' [rev 1.22] as 'boot0ext'. 2004-03-26 18:46:31 +00:00
imp
ea15b55852 Add support for a new variant of the prism3 that has appaered in the
wild.  This one is marketed by D-Link model DWL-650, but appears to be
a ISL3710P-10 under the hood.

Reported by: Brian O'Shea
2004-03-25 21:58:55 +00:00
imp
0bb017e235 Sync to pccarddevs 1.82 2004-03-25 21:56:43 +00:00
imp
988874931b Add a new Intersil card that DLINK is selling as the DWL-650.
Reported by: Brian O'Shea
2004-03-25 21:56:28 +00:00
rees
4bf96c35a5 only do nfs rpc callouts if there is work to do.
Submitted by:	kan
Approved by:	alfred
2004-03-25 21:48:09 +00:00
jhb
00ea003e16 Enable splitfs in the Alpha boot loaders. 2004-03-25 20:36:57 +00:00
vkashyap
20e39e00cb 1. Better handle a return value of EINPROGRESS from bus_dmamap_load.
2. Check for bad return value from twe_map_request in places where there
   was no checking.

Reviewed by: ps
2004-03-25 19:30:35 +00:00
wpaul
2c5e07e637 - In subr_ndis.c:ndis_init_event(), initialize events as notification
objects rather than synchronization objects. When a sync object is
  signaled, only the first thread waiting on it is woken up, and then
  it's automatically reset to the not-signaled state. When a
  notification object is signaled, all threads waiting on it will
  be woken up, and it remains in the signaled state until someone
  resets it manually. We want the latter behavior for NDIS events.

- In kern_ndis.c:ndis_convert_res(), we have to create a temporary
  copy of the list returned by BUS_GET_RESOURCE_LIST(). When the PCI
  bus code probes resources for a given device, it enters them into
  a singly linked list, head first. The result is that traversing
  this list gives you the resources in reverse order. This means when
  we create the Windows resource list, it will be in reverse order too.
  Unfortunately, this can hose drivers for devices with multiple I/O
  ranges of the same type, like, say, two memory mapped I/O regions (one
  for registers, one to map the NVRAM/bootrom/whatever). Some drivers
  test the range size to figure out which region is which, but others
  just assume that the resources will be listed in ascending order from
  lowest numbered BAR to highest. Reversing the order means such drivers
  will choose the wrong resource as their I/O register range.

  Since we can't traverse the resource SLIST backwards, we have to
  make a temporary copy of the list in the right order and then build
  the Windows resource list from that. I suppose we could just fix
  the PCI bus code to use a TAILQ instead, but then I'd have to track
  down all the consumers of the BUS_GET_RESOURCE_LIST() and fix them
  too.
2004-03-25 18:31:52 +00:00
rik
b7df483e14 Connect ctau driver (Cronyx-Tau/ISA) to modules build process.
Approved by:	imp (mentor)
2004-03-25 17:20:45 +00:00
pjd
89f5b6c374 Remove unused function.
It was used in FreeBSD 4.x, but now we're using cr_canseesocket().
2004-03-25 15:12:12 +00:00
des
2bb91b9636 This commit was generated by cvs2svn to compensate for changes in r127403,
which included commits to RCS files with non-trunk default branches.
2004-03-25 12:44:08 +00:00
des
7ac5364cb3 Import the original directly from NetBSD instead of via OpenBSD. 2004-03-25 12:44:08 +00:00
ru
869b51c6d0 Untangle IP multicast routing interaction with delayed payload checksums.
Compute the payload checksum for a locally originated IP multicast where
God intended, in ip_mloopback(), rather than doing it in ip_output() and
only when multicast router is active.  This is more correct as we do not
fool ip_input() that the packet has the correct payload checksum when in
fact it does not (when multicast router is inactive).  This is also more
efficient if we don't join the multicast group we send to, thus allowing
the hardware to checksum the payload.
2004-03-25 08:46:27 +00:00
wpaul
57efe0d11e - In kern_ndis.c, implement ndis_unsched(), the complement to ndis_sched(),
which pulls a job off a thread work queue (assuming it hasn't run yet).
  This is needed for KeRemoveQueueDpc().

- In subr_ntoskrnl.c, implement KeInsertQueueDpc() and KeRemoveQueueDpc(),
  to go with KeInitializeDpc() to round out the API. Also change the
  KeTimer implementation to use this API instead of the private
  timer callout scheduler. Functionality of the timer API remains
  unchanged, but we get a couple new Windows kernel API routines and
  more closely imitate the way thing works in Windows. (As of yet
  I haven't encountered any drivers that use KeInsertQueueDpc() or
  KeRemoveQueueDpc(), but it doesn't hurt to have them.)
2004-03-25 08:23:08 +00:00
peter
b920a97333 MFi386: correctly calculate the top-of-stack when a kthread is created
with a larger kernel stack.
2004-03-25 03:39:38 +00:00
peter
021cb09919 Run print_AMD_features() for both AuthenticAMD and GenuineIntel cpus.
Report the %ecx bits in cpuid function 1.  This is a hack.
When reporting AMD Features, only mask off the common bits.  Otherwise
the SEP bit masks off SYSCALL etc in the report.
2004-03-25 03:38:31 +00:00
obrien
596137082c Add NTFS since many may want to dual-boot MS-Win64 w/FreeBSD. 2004-03-25 03:19:28 +00:00
obrien
3841aea534 Lets give -O2 kernels a try on sparc64.
Reviewed by:	kensmith
2004-03-25 00:02:49 +00:00
alc
cab68d38d2 Use uiomove_fromphys() instead of pmap_qenter() and pmap_qremove() in
proc_rwmem().
2004-03-24 23:35:04 +00:00
ru
53ff6f54e2 Properly reprogram the hardware when IFF_ALLMULTI flag is set. 2004-03-24 17:43:45 +00:00
rik
f062ee581e sppp (4) to netgraph (4) node. As always: I'l connect it to the
system after extra check.

Approved by:	imp (mentor)
Approved by:	julian (in general)
2004-03-24 17:24:01 +00:00
imp
5d9dc609bb Conform to local file sytle and prefer (a && (b & flag)). 2004-03-24 16:49:37 +00:00
julian
faf5f3b681 Don't duplicate a packet, just to throw it away when we discover the
duplicat hook is not connected.
2004-03-24 08:53:45 +00:00
wpaul
029bb98d76 The ndis_wlan_bssid_ex structure we retrieve in ndis_get_assoc() is
variable length, so we should not be trying to copy it into a fixed
length buffer, especially one on the stack. malloc() a buffer of the
right size and return a pointer to that instead.

Fixes a crash I discovered when testing whe a Cisco AP in infrastructure
mode, which returns several information elements that make the
ndis_wlan_bssid_ex structure larger than expected.
2004-03-24 05:35:03 +00:00
simokawa
f101e77ea9 Fix a bug introduced in rev 1.33(mega API change).
Because xfer->send.payload is a pointer to the buffer, '&' shouldn't be there.

Submitted by: John Weisgerber <weisgerberj@gsilumonics.com>
PR: misc/64623
2004-03-24 01:29:08 +00:00
tmm
96972b1e95 Correct the boundary parameter to the bus_dma_tag_create() calls (it was
(1 << 24) - 2 instead of 1 << 24, which it was obviously intended to
be). This fixes SBus isp(4)s on sparc64 machines.

Report and testing:  Marius Strobl <marius@alchemy.franken.de>
2004-03-23 23:41:39 +00:00
tmm
7f1a3eaf9e Correct the termination condition of the DVMA pruning loop in
iommu_dvma_vallocseg(), which I botched in r1.32. This bug could
cause an endless loop when a map was loaded and DVMA was scarce,
or that map had a stringent alignment or boundary.

Report and additional testing:	Marius Strobl <marius@alchemy.franken.de>
2004-03-23 23:20:34 +00:00
tmm
f95d851c99 Intitialize the frame pointer and return pc of a new process created
in cpu_fork(). This prevents the stack tracer from running past the
end of the stack (only the pc is checked in that case), which became
fatal when db_print_backtrace() was introduced and called outside
of ddb.

Additional testing:	kris
2004-03-23 23:12:02 +00:00
jhb
c92c2d6926 Enable interrupt preemption on Alpha. Previously, flipping this switch on
caused hangs on SMP systems under load.  My theory was that an interrupted
thread was migrating and returning to PAL on a different CPU and that that
caused the hangs.  To prevent this, I used the recently added sched_pin()
API to pin the interrupted thread to the CPU that received the interrupt
across ithread_schedule() to prevent migration.  This seems to have fixed
the hangs based on tests by several folks on the alpha@ list.

Tested by:	wilko, tisco, several others on alpha@
2004-03-23 22:28:16 +00:00
wpaul
8237685662 Recently I realized that the ADMtek 8211 driver wasn't working correctly
(NIC would claim to establish a link with an ad-hoc net but it couldn't
send/receive packets). It turns out that every time the checkforhang
handler was called by ndis_ticktask(), the driver would generate a new
media connect event. The NDIS spec says the checkforhang handler is
called "approximately every 2 seconds" but using exactly 2 seconds seems
too fast. Using 3 seconds makes it happy again, so we'll go with that
for now.
2004-03-23 19:51:17 +00:00
alc
d67b54e11f Add an implementation of uiomove_fromphys() for PowerPC. This
implementation uses the direct virtual-to-physical mapping.

Discussed with:	grehan
2004-03-23 18:26:03 +00:00
tjr
1966edfcd2 Do not copy vm_exitingcnt to the new vmspace in vmspace_exec(). Copying
it led to impossibly high values in the new vmspace, causing it to never
drop to 0 and be freed.
2004-03-23 08:37:34 +00:00
obrien
e182cf9fee Change the !MPSAFE boot string to something that doesn't potentially
scare users that the kernel won't run on MP systems.
2004-03-23 01:58:09 +00:00
alfred
fbfae479f4 Emit a traceback when witness_trace is set and witness_warn() is
called and triggers (typically caused by sleeping with a non-sleepable
lock).

Reviewed by: jhb
2004-03-23 00:32:27 +00:00
wpaul
0cae7408dd Remove another case of grabbing Giant before doing a kthread_exit()
which is now no longer needed.
2004-03-22 22:46:22 +00:00
obrien
71b6e14bc8 Rather than display which interrupts are MPSAFE, display those that aren't.
This way we can take stock of the work to be done.  boot -v will note those
interrupts that are MPSAFE.
2004-03-22 22:36:11 +00:00
njl
c19241479b Use the correct length for appending an extended irq resource. This may
have broken APIC routing.  This bug has been present since rev 1.33.
2004-03-22 20:39:20 +00:00
njl
532a38d009 Shorten some printfs to fit better. No other functional changes. 2004-03-22 20:36:33 +00:00
njl
d23002657c Whitespace and comment changes. No MD5 change to the object file. 2004-03-22 20:32:27 +00:00
njl
9fc7ca0491 Revert 1.22. Go back to "FreeBSD" as our _OS value. Since we now support
_OSI, we can claim compatibility with MS products without claiming to BE
one.  :-)
2004-03-22 20:11:49 +00:00
njl
a83104d62c Bump FreeBSD version to indicate new bus_alloc_resource_any API. 2004-03-22 19:57:34 +00:00
wpaul
531ac9bc54 I'm a dumbass: the test in the MOD_SHUTDOWN case in ndis_modevent()
that checks to see if any devices are still in the devlist was reversed.
2004-03-22 18:34:37 +00:00
wpaul
8f50df08c8 if_ndis.c no longer depends on either pci or pccard. Also, add an
extra entry for if_ndis_pci.c that depends on cardbus, just to cover
all the bases. (I don't think you can have cardbus without PCI, but
just in case...)
2004-03-22 18:00:39 +00:00
rwatson
aaf338640e Lock down global variables in if_gre:
- Add gre_mtx to protect global softc list.
- Hold gre_mtx over various list operations (insert, delete).
- Centralize if_gre interface teardown in gre_destroy(), and call this
  from modevent unload and gre_clone_destroy().
- Export gre_mtx to ip_gre.c, which walks the gre list to look up gre
  interfaces during encapsulation.  Add a wonking comment on how we need
  some sort of drain/reference count mechanism to keep gre references
  alive while in use and simultaneous destroy.

This commit does not lockdown softc data, which follows in a future
commit.
2004-03-22 16:04:43 +00:00
obrien
2f3c5b96fb Use ' rather than ".
Submitted by:	ru
2004-03-22 15:45:17 +00:00
rwatson
3932567f6a Lock down global variables in if_gif:
- Add gif_mtx, which protects globals.
- Hold gif_mtx around manipulation of gif_softc_list.
- Abstract gif destruction code into gif_destroy(), which tears down
  a softc after it's been removed from the global list by either module
  unload or clone destroy.
- Lock gif_called, even though we know gif_called is broken with reentrant
  network processing.
- Document an event ordering problem in gif_set_tunnel() that will need
  to be fixed.

gif_softc fields not locked down in this commit.
2004-03-22 15:43:14 +00:00
rwatson
23a7b8ad4d Move "called", a static function variable used to detect recursive
processing with gif interfaces, to a global variable named "gif_called".
Add an annotation that this approach will not work with a reentrant
network stack, and that we should instead use packet tags to detect
excessive recursive processing.
2004-03-22 14:24:26 +00:00