Commit Graph

153237 Commits

Author SHA1 Message Date
joerg
e8a733de1a Bump pkg_install version to 20061103 for plist processing fix and
more verbosity in pkg_delete.
2006-11-03 09:20:45 +00:00
joerg
bab4eecdd4 When processing symlinks in pkg_delete and the call to readlink failed,
it often helps to know why, so use warn instead of warnx.
2006-11-03 09:19:15 +00:00
joerg
5409c36039 If a plist contains @owner or @group entries and first rename failed,
pushout was called with NULL argument. This has the semantic of using a
working directory of "/", even though already read plist entries are
relative to prefix. The calls to chown and chgrp therefore end up with
the wrong arguments for the current directory. To compensate for this,
don't pushout the first time. As plists are not supposed to have
multiple @cwd entries anymore, this could most likely be simplified, but
that is outside the scope of this commit.

Reviewed by agc@
2006-11-03 09:17:24 +00:00
jld
f566d2017b "static volatile", not "volatile static". 2006-11-03 09:16:13 +00:00
tsutsui
690e60f366 Pull several fixes which improve TX error handling
from FreeBSD's if_vr.c rev 1.52:
- check more error status in TX descriptor and restart TX module
  appropriately in vr_txeof()
- check more error interrupt status in vr_intr()

I can't confirm whether these changes actually fix TX stalls because
I can't reproduce the problem I had about seven years ago (I guess
it might be caused by excessive collisions on a dumb hub), but at least
they don't seem to have bad side effects on normal operations on my macppc.
2006-11-03 08:41:05 +00:00
tsutsui
57a0051fe5 - no need to scan zsc units in zshard(), just use passed one
- call zsc_intr_soft() directly on softintr and remove zssoft()
  (no need spltty() since it should be done in each MD handler)
2006-11-03 03:04:53 +00:00
jld
2d61afc3e7 Recycle old buffers into new rx requests when their number reaches half of
those not tied up in active mbufs, rather than half of the total number.

(Or, to more literally translate the C, when there are at least as
many buffers waiting to be reused as outstanding rx requests.)

This prevents us from dropping off the network for a while when more
than 128 of the 256 buffers are in use by mbufs, which might not be
freed for an arbitrarily long time; the remaining buffers would stack up
on the free list but not be reclaimed until enough mbufs were eventually
freed, leaving the interface unable to receive packets until then.
2006-11-03 03:03:32 +00:00
christos
de3426b487 update brace comments to reflect current reality. 2006-11-02 22:44:41 +00:00
pavel
7eae6400e1 mention the default shell change. 2006-11-02 21:46:41 +00:00
pavel
e98941caa4 Change the default shell to /bin/sh. It has most of the usability
advantages of our ksh (emacs line editing). There were objections against
using ksh, because our (pd)ksh is not the real ksh. See also the
discussion on tech-userlevel.

Motivation for changing the default from csh is better interactive
usability and desire to use a standard shell, which is already used for
all the system shell scripts.

Approved by core.
2006-11-02 21:42:08 +00:00
tsutsui
23c5e05646 Remove a function declaration of zssoft() which was
inside #ifndef __HAVE_GENERIC_SOFT_INTERRUPTS.
2006-11-02 20:43:30 +00:00
christos
1083e07a50 - verify that the log file is usable, otherwise re-open it.
- if the file is re-opened, clear the connected flag.
- don't check that the file is opened before connecting, because the
  file will be opened then.
2006-11-02 20:36:29 +00:00
tsutsui
ce97c50f55 Pass zsc_softc to zshard() directly rather than searching it in zshard().
Checking all zsc units in zshard() is efficient only on ports
which share one interrupt among all zsc units, like sparc or sun3.
On such ports, zshard() is established as a handler only once.

XXX1: more other MD zs drivers should be fixed similarly.
XXX2: zsc on macppc has independent interrupts for channel A and B,
      but MI z8530sc can't handle such configuration.
2006-11-02 20:05:04 +00:00
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