115370 Commits

Author SHA1 Message Date
bmah
6e0ff8ec55 Revised release note: Corrected advisory name of SA-05:07.ldt. 2005-05-06 23:16:55 +00:00
anholt
15065e8185 Staticize some symbols that are each only used in one corresponding .c file.
PR:		kern/43610
Submitted by:	Matt Emmerton, matt at gsicomp dot on dot ca
2005-05-06 20:53:34 +00:00
anholt
b6be180393 Staticize a symbol used only in this file.
PR:		kern/43613
Submitted by:	Matt Emmerton, matt at gsicomp dot on dot ca
2005-05-06 20:47:09 +00:00
jhb
6a69a04d9c The current NTP servers for .nl do not work with ntpdate, so switch to
using the servers provided by nl.net instead.

PR:		bin/80659
Submitted by:	Jilles Tjoelker jilles at stack dot nl
MFC after:	3 days
2005-05-06 19:14:36 +00:00
harti
9e2faf2a2d Introduce a new pseudo-target .EXPORTVAR which allows to put a
make macro into the environment of programs executed by make. This
has approximately the same function as gmake's export directive.
The form of a pseudo target was deliberately choosen to minimize work
for POSIX compatibility (Makefiles are not allowed to use any targets
starting with a dot and consisting only of uppercase letters except those
specified in the standard when they want POSIX compatible behaviour, so
such a Makefile can never contain .EXPORTVAR.)
Change the handling of macros coming from the environment: instead
of asking the environment for each variable we could not find otherwise
put all the environment variables in a special variable environment just
at start up.

This has been tested on the ports cluster by kris.

Submitted by:	Max Okumoto <okumoto@ucsd.edu>
2005-05-06 18:30:06 +00:00
brian
491568ac84 The kernel doesn't need to include a tun device - the module will be loaded
on demand if required.
2005-05-06 16:13:32 +00:00
deischen
5d3cf26519 Prevent these functions from using stack outside of their frame.
Reported by:	Marc Olzheim <marcolz at stack dot nl>
OK'd by:	das
2005-05-06 15:44:20 +00:00
glebius
c1d1198668 Manual page for ng_nat node. 2005-05-06 15:33:12 +00:00
delphij
847a7e5295 Prevent usage of nested externs. 2005-05-06 15:28:54 +00:00
glebius
65b737b3b3 Bump __FreeBSD_version for libalias and ng_nat. 2005-05-06 15:04:18 +00:00
glebius
22e0c86c76 Attach ng_nat and libalias to build. 2005-05-06 14:47:54 +00:00
pjd
3700f7565b Document 'pentium-m' CPUTYPE. 2005-05-06 13:14:48 +00:00
glebius
62a51b2dbf Add a workaround for 64-bit archs: store unsigned long return value in
temporary variable, check it and then cast to in_addr_t.
2005-05-06 13:01:31 +00:00
simon
6cf7e8d0cc Document FreeBSD-SA-05:06.iir, FreeBSD-SA-05:07.ldt, and
FreeBSD-SA-05:08.kmem.
2005-05-06 11:46:31 +00:00
glebius
3eab4ba5cc s/DEBUG/LIBALIAS_DEBUG/, since DEBUG is defined in LINT and
not supported for kernel build.
2005-05-06 11:07:49 +00:00
davidxu
f305634ad3 Don't try to enable event reporting for core file, it is not writable. 2005-05-06 11:01:15 +00:00
davidxu
42ce29d66b Fix race by using atomic operation, with this change, both libpthread
and libthr now can run profiling on SMP.
2005-05-06 07:37:01 +00:00
cperciva
e513415af9 If we are going to
1. Copy a NULL-terminated string into a fixed-length buffer, and
2. copyout that buffer to userland,
we really ought to
0. Zero the entire buffer
first.

Security: FreeBSD-SA-05:08.kmem
2005-05-06 02:50:00 +00:00
cperciva
e4a28513e8 Correctly validate inputs to the i386_get_ldt syscall.
Security: FreeBSD-SA-05:07.ldt
2005-05-06 02:40:18 +00:00
cperciva
dd36aac93b Correct improper permissions on /dev/iir. The earlier permissions
of 0644 allowed for people to do Evil Things via ioctl(2).

Security: FreeBSD-SA-05:06.iir
2005-05-06 02:33:46 +00:00
robert
38711d8dea The printf(9) `%p' conversion specifier puts an "0x" in
front of the pointer value.  Therefore, remove the "0x"
from the format string.
2005-05-06 00:15:57 +00:00
robert
46abb4815c Fix our NTFS readdir function.
To check a directory's in-use bitmap bit by bit, we use
a pointer to an 8 bit wide unsigned value.

The index used to dereference this pointer is calculated
by shifting the bit index right 3 bits.  Then we do a
logical AND with the bit# represented by the lower 3
bits of the bit index.

This is an idiomatic way of iterating through a bit map
with simple bitwise operations.

This commit fixes the bug that we only checked bits
3:0 of each 8 bit chunk, because we only used bits 1:0
of the bit index for the bit# in the current 8 bit value.
This resulted in files not being returned by getdirentries(2).

Change the type of the bit map pointer from `char *' to
`u_int8_t *'.
2005-05-06 00:06:06 +00:00
glebius
8ff6ea60ca ng_nat - a netgraph(4) node, which does NAT 2005-05-05 23:41:21 +00:00
glebius
d26bb46060 libalias is now buildable as kernel module 2005-05-05 22:43:04 +00:00
wpaul
d2ae5c8a71 Cast 64 bit quantity to uintmax_t to print it with %jx. This is
technically a no-op since uintmax_t is uint64_t on all currently
supported architectures, but we should use an explicit cast instead
of depending on this obscure coincidence.
2005-05-05 22:33:06 +00:00
glebius
225ea2fb02 More bits for kernel version:
- copy inet_aton() from libc
- disable getservbyname() lookup and accept only numeric port
2005-05-05 22:00:32 +00:00
glebius
32b37f4983 Always include alias.h before alias_local.h 2005-05-05 21:55:17 +00:00
glebius
98fced80c8 When used in kernel define NO_FW_PUNCH, NO_LOGGING, NO_USE_SOCKETS. 2005-05-05 21:53:17 +00:00
glebius
fa23219cf2 Fix argument order for bcopy() in last commit.
Noticed by:	njl
Pointy hat to:	glebius
2005-05-05 21:40:49 +00:00
glebius
dfbc79ffbf Use bcopy() instead of memmove(). 2005-05-05 21:10:51 +00:00
glebius
e31c062e0b Hide fflush(3) under ifdef DEBUG. 2005-05-05 21:07:34 +00:00
glebius
d1dba4a851 Things required to build libalias as kernel module:
- kernel module declarations and handler.
- macros to map malloc(3) calls to malloc(9) ones.
- malloc(9) declarations.
- call finishoff() from module handler MOD_UNLOAD case
  instead of atexit(3).
- use panic(9) instead of abort(3)
- take time from time_second instead of gettimeofday(2)
- define INADDR_NONE
2005-05-05 21:05:38 +00:00
glebius
81aed9a0a8 Add NO_USE_SOCKETS knob, which cuts off functionality socket binding. 2005-05-05 20:25:12 +00:00
glebius
497e6391d0 Add NO_LOGGING knob, which cuts off functionality of debug logging to a file. 2005-05-05 20:22:09 +00:00
glebius
89e40708a1 Play with includes so that libalias can be compiled both as userland
library and kernel module.
2005-05-05 19:27:32 +00:00
dwhite
83360b1ca4 Add quirk for TEAC USB floppy drives. 2005-05-05 18:48:41 +00:00
peter
90109f2712 Move the pcb variable initialization earlier. This is cosmetic here, but
in as-yet uncommitted code for 32 bit binary compatability on 64 bit
kernels, some of the 32 bit registers come from the pcb.  Moving the
initialization here means fill_regs32() etc are laid out the same.
2005-05-05 18:26:45 +00:00
peter
42d340e870 Remove unused (besides being initialized) variable. 2005-05-05 18:19:53 +00:00
murray
cdeeff2e1d Use smart quote entities instead of double ``ticks'' to create more
aesthetically pleasing HTML output.

Tested with:		mozilla, opera, lynx, links
Problematic with:	w3m
Reviewed by:		remko, keramida
2005-05-05 17:10:37 +00:00
wpaul
819bac8d1e Use %jx instead of %qx to silence compiler warning on amd64. 2005-05-05 15:56:41 +00:00
avatar
5264ecc9eb Catching up with the latest crypto API changes in net80211.
Reviewed by:	sam
2005-05-05 13:16:30 +00:00
wilko
06c6095d7e ICH5 is also supported by ichsmb 2005-05-05 12:03:36 +00:00
ume
9f4066d658 add simple test script. 2005-05-05 11:26:47 +00:00
takawata
68a4e0f83e Fix breakage on alpha.
Pointed out by: hrs via IRC
2005-05-05 07:02:51 +00:00
davidxu
af64c19b3b Only check signal event, single threading event shouldn't be reported. 2005-05-05 06:42:02 +00:00
wpaul
077b71e0fa Avoid sleeping with mutex held in kern_ndis.c.
Remove unused fields from ndis_miniport_block.

Fix a bug in KeFlushQueuedDpcs() (we weren't calculating the kq pointer
correctly).

In if_ndis.c, clear the IFF_RUNNING flag before calling ndis_halt_nic().

Add some guards in kern_ndis.c to avoid letting anyone invoke ndis_get_info()
or ndis_set_info() if the NIC isn't fully initialized. Apparently, mdnsd
will sometimes try to invoke the ndis_ioctl() routine at exactly the
wrong moment (to futz with its multicast filters) when the interface
comes up, and can trigger a crash unless we guard against it.
2005-05-05 06:14:59 +00:00
wpaul
bb2b136388 Remove extranaous free() of ASCII filename from NdisOpenFile().
Oh, one additional change I forgot to mention in the last commit:
NdisOpenFile() was broken in the case for firmware files that were
pre-loaded as modules. When searching for the module in NdisOpenFile(),
we would match against a symbol name, which would contain the string
we were looking for, then save a pointer to the linker file handle.
Later, in NdisMapFile(), we would refer to the filename hung off
this handle when trying to find the starting address symbol. Only
problem is, this filename is different from the embedded symbol
name we're searching for, so the mapping would fail. I found this
problem while testing the AirGo driver, which requires a small
firmware file.
2005-05-05 04:16:13 +00:00
wpaul
e9bace5ba1 This commit makes a bunch of changes, some big, some not so big.
- Remove the old task threads from kern_ndis.c and reimplement them in
  subr_ntoskrnl.c, in order to more properly emulate the Windows DPC
  API. Each CPU gets its own DPC queue/thread, and each queue can
  have low, medium and high importance DPCs. New APIs implemented:
  KeSetTargetProcessorDpc(), KeSetImportanceDpc() and KeFlushQueuedDpcs().
  (This is the biggest change.)

- Fix a bug in NdisMInitializeTimer(): the k_dpc pointer in the
  nmt_timer embedded in the ndis_miniport_timer struct must be set
  to point to the DPC, also embedded in the struct. Failing to do
  this breaks dequeueing of DPCs submitted via timers, and in turn
  breaks cancelling timers.

- Fix a bug in KeCancelTimer(): if the timer is interted in the timer
  queue (i.e. the timeout callback is still pending), we have to both
  untimeout() the timer _and_ call KeRemoveQueueDpc() to nuke the DPC
  that might be pending. Failing to do this breaks cancellation of
  periodic timers, which always appear to be inserted in the timer queue.

- Make use of the nmt_nexttimer field in ndis_miniport_timer: keep a
  queue of pending timers and cancel them all in ndis_halt_nic(), prior
  to calling MiniportHalt(). Also call KeFlushQueuedDpcs() to make sure
  any DPCs queued by the timers have expired.

- Modify NdisMAllocateSharedMemory() and NdisMFreeSharedMemory() to keep
  track of both the virtual and physical addresses of the shared memory
  buffers that get handed out. The AirGo MIMO driver appears to have a bug
  in it: for one of the segments is allocates, it returns the wrong
  virtual address. This would confuse NdisMFreeSharedMemory() and cause
  a crash. Why it doesn't crash Windows too I have no idea (from reading
  the documentation for NdisMFreeSharedMemory(), it appears to be a violation
  of the API).

- Implement strstr(), strchr() and MmIsAddressValid().

- Implement IoAllocateWorkItem(), IoFreeWorkItem(), IoQueueWorkItem() and
  ExQueueWorkItem(). (This is the second biggest change.)

- Make NdisScheduleWorkItem() call ExQueueWorkItem(). (Note that the
  ExQueueWorkItem() API is deprecated by Microsoft, but NDIS still uses
  it, since NdisScheduleWorkItem() is incompatible with the IoXXXWorkItem()
  API.)

- Change if_ndis.c to use the NdisScheduleWorkItem() interface for scheduling
  tasks.

With all these changes and fixes, the AirGo MIMO driver for the Belkin
F5D8010 Pre-N card now works. Special thanks to Paul Robinson
(paul dawt robinson at pwermedia dawt net) for the loan of a card
for testing.
2005-05-05 03:56:09 +00:00
dwhite
e5184a989d Backout part of rev 1.71, which breaks the interfaces on IBM/Intel blade
servers.

PR:		kern/68445
MFC after:	7 days
2005-05-05 03:37:27 +00:00
davidxu
2c20740b4e Turn on PCB_FULLCTX in set_regs to fully restore context
set by debugger.
2005-05-04 22:26:40 +00:00