Commit Graph

153224 Commits

Author SHA1 Message Date
tsutsui
5e4ac42c65 macppc always defines __HAVE_GENERIC_SOFT_INTERRUPTS,
so remove #ifdef/#ifndefs against it.
2006-11-02 19:41:34 +00:00
jmmv
e0fd5659c6 Bring in fix from FreeBSD by tjr, 3 years and 9 months ago: Store a
reference to the parent directory's vnode instead of its smbnode to
avoid a use-after-free bug causing a panic when a smbfs mount is
forcefully unmounted.

Keep trying to flush the vnode list for the mount while some are still
busy and we are making progress towards making them not busy.  This
stops attempts to unmount idle smbfs mounts failing with EBUSY.

The easiest way to reproduce the above problem, from what I have seen is:
1) Assume /s is a smbfs mount point.
2) mount /s
3) stat /s/foo/1
4) umount /s
   Returns error because the file system is busy.
5) Shutdown the machine: panic in smbfs_reclaim because vrele
   accesses already-released memory.
2006-11-02 17:34:21 +00:00
tsutsui
c2d79bf895 Don't touch the VR_STICKHW register on VT3043.
The commit log in FreeBSD's if_vr.c rev 1.43 says
"This is really only for the VT6102, but it doesn't hurt the older chips,"
but at least it hurts my VT86C100A (which returns a product ID of VT3043)
on macppc and causes kernel MCHK trap while the same board on i386
and VT6102 on macppc have no problem with it.
2006-11-02 17:32:11 +00:00
yamt
4d91d6d252 ltsleep: fix a race with wakeup(). 2006-11-02 16:26:25 +00:00
jmmv
51634dfd25 Make tmpfs_getpages behave as genfs_getpages by ignoring the input pages
array's contents and returning all the requested pages.  Otherwise there
are problems (accessing invalid memory) when the a_m vector is passed
uninitialized as the NFS server code does.  Fixes PR kern/34959.

Note that this is not a "real" fix.  While this makes tmpfs's getpages
operation consistent with the behavior of other file systems, it does
not resolve the different semantics between uvn_get and uao_get as
described in PR kern/32166.  I'm adding a comment in the code mentioning
exactly this so that it can be reviewed when this last problem is
addressed.
2006-11-02 15:35:25 +00:00
garbled
8e03013027 Comment out the debug options to siop, and change the undef to define.
This way they will be compiled by the i386 DEBUG kernel and tested.
2006-11-02 15:08:30 +00:00
garbled
a68eec4cf9 Make these compile when SIOP_DEBUG is enabled, by nuking the reference to
t_offset, which no longer seems to exist.
2006-11-02 14:55:04 +00:00
christos
9f4a7c8c31 PR/34965: Nicolas Joly: sysctl(1) small memory leak 2006-11-02 14:54:21 +00:00
christos
4055c640a2 put back p_ename, lost in the previous commit. 2006-11-02 13:28:25 +00:00
elad
7e8b842ffa Redo Veriexec raw disk/memory access policies so they hold only if the
request is for write access.
2006-11-02 12:48:35 +00:00
tsutsui
7f2c078b18 Pull some RX fixes from FreeBSD's if_vr.c rev 1.59:
- in vr_rxeoc() (i.e. on RX error interrupts), disable RX before
  calling vr_rxeof() and check it actually stopped
- no recovery is needed for VR_ISR_DROPPED, so just account ierrors
- also account ierrors in vr_rxeoc()
2006-11-02 11:02:58 +00:00
ghen
b936f8422b Add configuration files for the 3.0.2 release ISO's. 2006-11-02 10:46:30 +00:00
tsutsui
06503d5611 - make DMA descriptor members volatile
- set VR_RXSTAT_OWN after all other descriptor data is set

With these changes, vr_init() seems to initialize
the vr chip stuck on RX properly.
2006-11-02 10:44:30 +00:00
sjg
e1e6c59ee6 Use of libutil to provide emalloc et al, should be predicated on
a native NetBSD build using TOOLDIR etc.
Otherwise use the local versions.

Reviewed by: christos
2006-11-01 23:48:20 +00:00
elad
d6bdd9bb62 printf() -> log(). 2006-11-01 22:45:14 +00:00
martin
0a67366540 Make the syscall "code" variable unsigned - we don't test for negative
values when range checking.
2006-11-01 22:37:35 +00:00
christos
3f78162b5c implement kern.arandom properly, instead of lying about it and only filling
the first 4 bytes of the array with random data.
2006-11-01 22:27:43 +00:00
christos
09012c9606 prefix name in kern.drivers 2006-11-01 22:26:36 +00:00
tls
bd4d319d4b Change GENERIC, GENERIC.MP, GENERIC.MPACPI, GENERIC_LAPTOP, INSTALL,
INSTALL.MP, INSTALL_LAPTOP, and DISKLESS kernels so that they are
smaller and faster by removing support for actual i386 CPUs (which
lack write protection in supervisor mode, which requires a costly
workaround) and math coprocessor emulation.  Coprocessor emulation
is retained in the LAPTOP kernels, but not in the others.  Where
it is known that a configuration cannot be run with particular CPUs
(i486 in *MP kernels) remove that support as well.  Compile all
kernels with appropriate architecture and tuning flags (reduces
size, makes things faster).  Those requiring support for machines
with i386 CPU or lacking coprocessor can use the *SMALL or *TINY
kernels.
2006-11-01 19:33:41 +00:00
tsutsui
c04f54e8f4 Fix another botch in rev 1.14:
vge_encap() should bail out if there is not enough free
TX descriptor _OR_ TX descriptor is still owned by the chip.

Anyway, we already check if the TX descriptor already has an mbuf
to be sent in vge_start() so no need to bother to check sc_tx_free
and VGE_TDSTS_OWN in the descriptor in normal case, then make it use
KASSERT(9) or wrap with #ifdef DIAGNOSTIC.

XXX1: I don't know why original FreeBSD driver checks
      if a number of free TX descriptors is more than two, not zero.
XXX2: Is it better to check a number of free descriptors in vge_start()
      like other our drivers rather than mbuf chain for each descriptor?
2006-11-01 18:11:18 +00:00
tls
f510d78c24 Sigh. Screwed up previous change, can't commit. Revert while pending. 2006-11-01 17:46:57 +00:00
tls
ab105a6d6a Change GENERIC, GENERIC.MP, GENERIC.MPACPI, GENERIC_LAPTOP, INSTALL,
INSTALL.MP, INSTALL_LAPTOP, and DISKLESS kernels so that they are
smaller and faster by removing support for actual i386 CPUs (which
lack write protection in supervisor mode, which requires a costly
workaround) and math coprocessor emulation.  Coprocessor emulation
is retained in the LAPTOP kernels, but not in the others.  Where
it is known that a configuration cannot be run with particular CPUs
(i486 in *MP kernels) remove that support as well.  Compile all
kernels with appropriate architecture and tuning flags (reduces
size, makes things faster).  Those requiring support for machines
with i386 CPU or lacking coprocessor can use the *SMALL or *TINY
kernels.
2006-11-01 17:43:49 +00:00
apb
67c362294a Revert the recent addition of /rescue/gkermit. There's some concern
that linking GPL code into /rescue is not a good idea.
2006-11-01 17:36:13 +00:00
apb
7de1273d3e Fix some compiler warnings by including some headers and
not defining our own prototype for getenv.
2006-11-01 17:25:30 +00:00
tsutsui
2b93194cee Remove a debug statement which was slipped in rev 1.21. 2006-11-01 17:13:37 +00:00
skrll
1d68e44fcf Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine. 2006-11-01 17:10:36 +00:00
hubertf
7e8c91d132 Install CDs need rockridge extensions, else the sets can't be found.
This fixes building of src/distrib/{i386,amd64/cdroms/installcd
(or .../cdroms/bootcd* with CDRELEASE set, which is about the same)
2006-11-01 16:47:17 +00:00
christos
3bf60b1367 From Anon Ymous:
The problem is that mime_decode_close() closes all files registered
after mip->mi_pipe_end and this is getting set in mime_sendmessage()
after a fflush().

When you print a large number of messages fflush() blocks and prevents
mip->mi_pipe_end from getting set before the SIGPIPE comes in and
jumps to the close block that calls mime_decode_close().  As a result,
mime_decode_close() was closing all the registered files including
obuf (mi_pipe_end was NULL).
2006-11-01 16:42:27 +00:00
tsutsui
ced98add61 Also copy csum_flags and csum_data in vge_m_defrag().
Fix checksum error problem on sending fragmented large packets,
which was introduced in rev 1.14.

BTW, should we have m_defrag() in MI for other drivers?
2006-11-01 16:26:27 +00:00
apb
b841d741bd Mention gkermit 2006-11-01 13:40:40 +00:00
apb
3d7d705c6f Add /rescue/gkermit. Discussed in tech-userlevel. 2006-11-01 13:22:32 +00:00
apb
6eaf76c0ba Add list entries for gkermit files. 2006-11-01 13:19:43 +00:00
apb
649ed3876d SUBDIR += gkermit 2006-11-01 13:18:03 +00:00
apb
184243bdcc Add reachover build for gkermit. 2006-11-01 13:17:38 +00:00
apb
5169559a87 Import gkermit-1.00, from
<ftp://kermit.columbia.edu/kermit/archives/gku100.tar.gz>.

This is a small GPL-licenced version of kermit.

From the "ANNOUNCE" file:

G-Kermit is command-line only (no interactive commands or scripting) and
remote-mode only (no making connections).  It has an extremely simple user
interface, and implements a large subset of the Kermit protocol in a small
amount of highly portable code.
2006-11-01 13:03:53 +00:00
martin
567f8e3fe9 Do not truncate the last char from a remote error message 2006-11-01 12:10:06 +00:00
cbiere
7aa8c7d98c Pointing one element past an array is fine, pointing before it isn't. 2006-11-01 11:37:59 +00:00
he
80b96f1aa4 Add include of <sys/param.h>, to allow vax kernels to build again.
For vax, this causes <machine/macros.h> to be included and the
redefine of memset() to take effect.
2006-11-01 11:29:08 +00:00
xtraeme
a9c18abc6e Fix rum(4) entry. 2006-11-01 10:32:35 +00:00
joerg
efd2841ab2 Note addition of rum(4). 2006-11-01 10:21:34 +00:00
yamt
1a7bc55dcc remove some __unused from function parameters. 2006-11-01 10:17:58 +00:00
cbiere
293f5e50a2 Set oldpblksize and oldrblksize early enough so that zero-initialisation
isn't necessary. The GCC warning was not a false-positive, AFAICS.
2006-11-01 10:13:37 +00:00
yamt
caa14e011b kill signal "dolock" hacks.
related to PR/32962 and PR/34895.  reviewed by matthew green.
2006-11-01 09:46:14 +00:00
elad
45f88cbee1 Only use blkdev/bvp for the Veriexec case. While here, fix up IPS mode
restrictions on kernel memory.

okay yamt@
2006-11-01 09:37:28 +00:00
xtraeme
5975efbaee Initialize old[pr]blksize to 0 to avoid gcc warnings. 2006-11-01 09:36:52 +00:00
yamt
86a24f7e0c - remove an unnecessary #include.
- make some variables static.
2006-11-01 09:36:28 +00:00
yamt
60392d9383 kill sched_psignal.
related to PR/32962 and PR/34895.  reviewed by matthew green.
2006-11-01 09:33:45 +00:00
yamt
dd706203e4 mi_switch: move rlimit and autonice handling out of sched_lock in order to
simplify locking.
related to PR/32962 and PR/34895.  reviewed by matthew green.
2006-11-01 09:32:52 +00:00
xtraeme
fae505266c Use __arraycount from <sys/cdefs.h>. 2006-11-01 08:49:50 +00:00
xtraeme
c671ada84e Missing __KERNEL_RCSID() 2006-11-01 08:39:25 +00:00