Commit Graph

30963 Commits

Author SHA1 Message Date
sommerfeld 140b1ee075 Housecleaning time:
Fix and document naming convention for vnode variables (always use
lvp/lvpp and uvp/uvpp instead of a hash of cvp, vpp, dvpp, pvp, pvpp).

Delete old stale #if 0'ed code at the end.

Change error path code in getcwd_getcache() slightly (merge common
cleanup code; shouldn't affect behavior any).
1999-07-04 20:16:57 +00:00
sommerfeld c1ecf66965 kern/5591: Fix race in the NFS socket code during umount -f and system
shutdown:

During an unmount, wake up all the processes which are waiting to lock
the socket for receive, and wait for them (and the process blocked in
soreceive, if any) to go away before blowing away the socket and the
mount structure.
1999-07-04 19:56:00 +00:00
sommerfeld e303e2ee8b Fix kern/7906: race between unmount and getnewvnode()
mp->mnt_flags & MNT_MWAIT is replaced by mp->mnt_wcnt, and a new mount
flag MNT_GONE is created (reusing the same bit).

In insmntque(), add DIAGNOSTIC check to fail if the filesystem vnode
is being moved to is in the process of being unmounted.

getnewvnode() now protects the list of vnodes active on mp with
vfs_busy()/vfs_unbusy().

To avoid generating spurious errors during a doomed unmount, change
the "wait for unmount to finish" protocol between dounmount() and
vfs_busy().  In vfs_busy(), instead of only sleeping once, sleep until
either MNT_UNMOUNT is clear or MNT_GONE is set; also, maintain a count
of waiters in mp->mnt_wcnt so that dounmount() knows when it's safe to
free mp.

tested by running a "while :; do mount /d1; umount -f /d1; done" loop
against multiple find(1) processes.
1999-07-04 16:20:12 +00:00
chs eb770c7b7c add "trace/t <pid>". 1999-07-04 06:45:26 +00:00
sommerfeld 6f57fc7820 fix typo in previous 1999-07-04 06:17:52 +00:00
sommerfeld c7e5c39191 Don't permanently lose the async bit on an failed unmount 1999-07-04 06:16:29 +00:00
minoura 15a60b5359 Enable mboot. 1999-07-04 04:39:12 +00:00
minoura 208ba460f2 SCSI primary boot program and its installer. 1999-07-04 04:38:54 +00:00
itojun 9b74747370 s/splnet/splsoftnet/ in IPv6/IPsec part.
hope I made no mistake (the kernel works fine but I need a regress test)

Suggested by: thorpej
1999-07-04 02:01:15 +00:00
thorpej cd3a345ea0 RCS ID police. 1999-07-03 21:24:45 +00:00
kleink 1821bd1d5d Bump f_flag to a full int in order to provide sufficient space to hold all
currently defined flag bits; thanks go to Bill Studenmund for noticing this.
1999-07-03 20:04:10 +00:00
thorpej c7855f5009 Nuke unneeded include file. 1999-07-03 18:40:32 +00:00
kleink dd24133620 Take a stab at namespace protection. For now, only the obvious problems are
addressed, the culprit being the lack of a namespace definition for an IPv6-
extended <netinet/in.h> in XNS5.2 D2.0; I'll try to work something out and
submit it to the review WG.
1999-07-03 14:04:57 +00:00
kleink 92bd36d9a9 Add namespace protection, using XNS5.2 D2.0 as a reference (which effectively
boils down to not making anything but the if_nameindex(3) interfaces available
to _XOPEN_SOURCE).
1999-07-03 13:52:29 +00:00
kleink b9c8b2a151 Modify the previous change to:
* not declare struct sockaddr_storage in pre-XNS5.2 D2.0 environments, and
* not use __{BEGIN,END}_DECLS in a _KERNEL environment, which is not necessary.
1999-07-03 13:37:34 +00:00
tron d2b6a2c28b Optical cleanup in WSCONS configuration section. 1999-07-03 12:09:52 +00:00
dbj fdba65aa8c renamed splscc to splserial to match spl(9) man page
changed most of the spl* to use _splraise to match current usage
this fixes an observed bug where zstty_attach was calling splzs causing
interrupts to be turned on prematurely.
1999-07-03 08:22:53 +00:00
cgd 636e8f4688 'Dolphin' -> 'Dolphin Peripherals' where appropriate 1999-07-03 05:55:23 +00:00
cgd 111e8a47c4 Add support for 36 more SIIG PCI serial/parallel cards (for a total of 37).
This means that all SIIG PCI serial/parallel cards (described on their
web site as "I/O boards" as of July 2, 1999) should now be supported.
1999-07-03 05:38:05 +00:00
lukem bd99d900df spell Association correctly 1999-07-03 04:45:53 +00:00
thorpej 3c83723113 Bring in additional uvmexp members from chs-ubc2, so that VM stats can
be read no matter which kernel you're running.
1999-07-02 23:20:58 +00:00
fvdl e3fa5cc725 Fix for -Wunitialized warnings broke compiles without INET6, refix. 1999-07-02 21:02:05 +00:00
tv 80c284f9bb -Wuninitialized is not used in the NetBSD tree, explicitly. 1999-07-02 20:55:19 +00:00
itojun 144233e2d4 align a bit better. 1999-07-02 19:59:09 +00:00
itojun e208c5c64a enable IPSEC_ESP build (still needs manual symlink).
commit to cryptosrc-intl will follow.
1999-07-02 19:58:27 +00:00
itojun af58d5709d try to get a non-conflicting port # when bind(2) to port number 0
is called.
1999-07-02 19:57:05 +00:00
sakamoto 0ef2d3f6e2 MD defines for the MI loadfile. 1999-07-02 15:36:51 +00:00
sakamoto f789d4809c Fix arg of delay. int -> unsigned int 1999-07-02 15:33:36 +00:00
itojun 4b961b81e3 avoid "variable not initialized" warnings on some of the platforms. 1999-07-02 12:45:32 +00:00
itojun 243585320c expand insque/remque (quick hack). fundamental fix should be done
while clarifying relationship between inpcb and in6pcb.

PR: 7891
1999-07-02 12:43:42 +00:00
itojun f8346292af move ipsec sysctl index to IPPROTO_AH (instead of IPPROTO_ESP),
so that you can perform sysctl operation when ESP is not compiled in.
1999-07-02 08:46:47 +00:00
itojun 932ab72aee remove TIME_WAIT issue, it was false. 1999-07-02 07:36:33 +00:00
itojun 8ebf9f7039 add tcp6 port # oddity.
add splnet/splsoftnet issue.
1999-07-02 07:16:29 +00:00
thorpej 8328f07bda Fix printf format on LP64. 1999-07-01 22:47:56 +00:00
thorpej 14a2fa8169 Fix IPv6 software interrupt vector label. 1999-07-01 22:03:38 +00:00
thorpej 30f651d5b0 Const poison local printf prototype. 1999-07-01 20:46:42 +00:00
is 136b788b3d Better align memory segment table. 1999-07-01 20:14:42 +00:00
thorpej 43e7ebad4c Const poison local printf() prototype. 1999-07-01 20:11:39 +00:00
itojun afb0d8e6e1 less warning on userland compilation. 1999-07-01 20:10:27 +00:00
itojun 1f731b1e07 avoid void * arithmetic (msg_control is now void *). 1999-07-01 20:09:57 +00:00
thorpej 11c67d01a5 Fix a corner case locking error, which could lead to map corruption in
SMP environments.  See comments in <vm/vm_map.h> for details.
1999-07-01 20:07:05 +00:00
wrstuden b101a0685c Make fhopen use FILE_UNUSE, and don't leak file descriptors.
Patch from Jason Thorpe. Also should close PR 7889 from
Assar Westerlund <assar@sics.se> describing this problem.
1999-07-01 18:58:16 +00:00
thorpej c859e43fbb Fix tyop. From Bill Studenmund. 1999-07-01 18:40:39 +00:00
itojun c74aeb8363 document issues in libc extensions. 1999-07-01 18:28:55 +00:00
drochner f3a6841709 make it compile if WSDISPLAY_COMPAT_RAWKBD is defined, but NWSDISPLAY not,
reported by Kazushi Marukawa <jam@pobox.com>
1999-07-01 11:18:20 +00:00
itojun 118d2b1d4f IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628.
(Sorry for a big commit, I can't separate this into several pieces...)
Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.

- sys/kern: do not assume single mbuf, accept chained mbuf on passing
  data from userland to kernel (or other way round).
- "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ
  package (ftp://ftp.csl.sony.co.jp/pub/kjc/).
- sys/netinet/tcp*: IPv4/v6 dual stack tcp support.
- sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those
  file to be there so we patch it up.
- sys/netinet: IPsec additions are here and there.
- sys/netinet6/*: most of IPv6 code sits here.
- sys/netkey: IPsec key management code
- dev/pci/pcidevs: regen

In my understanding no code here is subject to export control so it
should be safe.
1999-07-01 08:12:45 +00:00
itojun 9765602d90 add PR_LISTEN for UNIX domain socket, SOCK_STREAM case. 1999-07-01 07:59:57 +00:00
itojun 5effafcaa6 kernel configuration for IPv6/IPsec. should be in GENERIC in the future.
(source code will be committed soon)
1999-07-01 07:00:12 +00:00
darrenr 4607be6533 define PR_LISTEN to indicate listen(2)/accept(2) support 1999-07-01 05:56:53 +00:00
darrenr cd92b615fa fix sys_accept() to return EOPNOTSUPP for protocols which don't support
listen/accept (PR_LISTEN flag in protosw) and detect obvious faults in
parameters passed.  It is still possible for the address used for copying
the socket information to become invalid between that check and the copyout
so close the connection's allocated fd if the copyout fails so that we can
return EFAULT without allocating an fd and the application not knowing about
it.  Ideally we'd be able to queue the connection back up so a later accept
could retrieve it but unfortunately that's not possible.
1999-07-01 05:56:32 +00:00