Commit Graph

1562 Commits

Author SHA1 Message Date
thorpej 14cd99880c Fix the shared library versioning snafu caused by the recent changes
to the stat(2) family and msync(2).  This uses a primitive function
versioning scheme.

This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.

From Frank van der Linden <fvdl@NetBSD.ORG>.
1997-10-20 22:05:06 +00:00
is c7a9bfc5b5 Allow more than 4 (up to 16 now) virtual filesystems to be loaded.
Patch from Matthias Scheler, pr4299.
1997-10-20 17:40:07 +00:00
mycroft b8267c1737 Count characters even when !OPOST and FLUSHO.
Don't output the \r for ONLCR if FLUSHO.
1997-10-19 20:35:21 +00:00
mycroft 9341cad610 After conversion of the file flags, if neither FREAD nor FWRITE is set,
return EINVAL.
1997-10-19 17:18:10 +00:00
mycroft 11c9f28f0e Update comment. 1997-10-19 03:29:20 +00:00
mycroft e704745a3c Regen. 1997-10-19 03:26:22 +00:00
mycroft 606346112c umask(2) accepts and returns a mode_t. 1997-10-19 03:25:55 +00:00
mycroft 04daee4f9c Add const where appropriate. 1997-10-19 02:00:19 +00:00
mycroft 16519602c5 Minor change; remove unnecessary casts. 1997-10-19 01:50:33 +00:00
christos 0f4b4471a8 Regen. 1997-10-18 16:36:49 +00:00
christos 3130feba6d Fixed missed const char * in lstat (thanks enami) and changed caddr_t -> void *
in the mman family.
1997-10-18 16:35:25 +00:00
christos 3c07a14a75 Separate assigments of tv_sec and tv_nsec since tv_sec is a time_t (int on
the alpha) and tv_nsec is a long.
1997-10-18 16:34:17 +00:00
enami acd4cefee0 In the function vattr_null(), assign each member individually
to prevent unintended conversion due to different sign and size.
1997-10-18 11:51:32 +00:00
jonathan e12d00b5e4 Add #include <sys/sysctl.h>, which in turn needs #include <vm/vm.h>. 1997-10-17 22:37:38 +00:00
thorpej 73b56bd5b0 Display The NetBSD Foundation, Inc.'s copyright notice at boot time. 1997-10-17 21:40:00 +00:00
christos 3f60774556 PR/4280: Chris Jones: Sending more than one fd over AF_UNIX sockets causes
panic. Bug in the fd -> struct file * conversion...
1997-10-17 17:35:08 +00:00
christos bf5e4c3957 Regen 1997-10-16 23:42:20 +00:00
christos 9b763cbe70 change char *path to const char *path
change int to mode_t's and to dev_t's as appropriate
add new new stat syscem calls and make the old ones compatibility.
1997-10-16 23:41:31 +00:00
mycroft d0a1101d26 Disable an effectively no-op reference to u_kproc, with an explanation of what
should be done with it eventually.
1997-10-16 02:45:39 +00:00
mycroft 91395f0f4f Regen. 1997-10-15 17:28:40 +00:00
mycroft 5570f69778 Adjust u_int arguments of some system calls to int, to match user-level
prototypes.
1997-10-15 17:27:46 +00:00
mycroft 3a2dfc05e9 Regen. 1997-10-15 17:07:35 +00:00
mycroft 2587de6af9 Adjust u_int arguments of some system calls to int, to match user-level
prototypes.
1997-10-15 17:03:52 +00:00
explorer 80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
enami 8092be0770 Check exec bit of symbolic link when traversing path and do it in vfs layer.
Suggested by der Mouse.  Ok'ed by Jason R. Thorpe.
1997-10-11 00:08:08 +00:00
enami db7f1ad2ad Check read permission of symbolic link in vfs layer, when doing readlink(2).
Suggested by der Mouse.  Ok'ed by Jason R. Thorpe.
1997-10-11 00:05:15 +00:00
mycroft 61a9f1c6a6 GC pageproc and bclnlist. 1997-10-10 08:19:41 +00:00
fvdl 541b204984 Add vn_readdir function for use in both the old getdirentries and
the new getdents(). Add getdents().
1997-10-10 02:09:30 +00:00
fvdl b691680ac4 Regen. 1997-10-10 02:07:55 +00:00
fvdl ab03b9752b Make last argument to VOP_READDIR off_t. 1997-10-10 02:07:00 +00:00
fvdl 5bfc60c1e5 Regen. 1997-10-10 02:05:21 +00:00
fvdl da29e54dfb Add getdents(). Rename getdirentries to compat_12_getdirentries. 1997-10-10 02:03:47 +00:00
explorer dac3eb2c9b make /dev/random standard, per message from Jason 1997-10-09 23:53:01 +00:00
explorer d8e4695634 add hooks to initialize the random driver 1997-10-09 23:17:37 +00:00
mycroft 57f5a4a68d Add another bit of const poisoning. 1997-10-09 13:05:59 +00:00
mycroft 8579e3480d Make memname[] const (but only shallow, since the array may be modified). 1997-10-09 13:02:18 +00:00
mycroft 64d080efe0 Make various standard wmesg strings const. 1997-10-09 12:59:50 +00:00
mycroft 7f35228e7e Make wmesg arguments to various functions const. 1997-10-09 12:49:44 +00:00
drochner 593f9e43c2 Fix error handling - call wakeup() in error case too. 1997-10-09 08:35:13 +00:00
jtc 324ce8d6cb Fix tipo inherited from old version of TNF copyright template. 1997-10-09 07:37:50 +00:00
enami d0c58d6217 Cosmetic changes;
- indent continuation line by four columns.
- delete whitespace after cast.
1997-10-09 01:07:46 +00:00
enami 9ad3575d65 - round up requested soft stack limit by vm page size.
- don't round up size and truncate addr.
1997-10-09 01:04:13 +00:00
thorpej b4b543bc6f In sys_mount(), use vfs_getopsbyname() rather than using an explicit
reference to vfssw[].
1997-10-09 00:39:19 +00:00
drochner fa79dfb77e Use a swap pager backed VM object for sysV shm instead of kernel VM.
Mostly from FreeBSD.
1997-10-07 10:02:03 +00:00
thorpej c28cf8c168 A few simple changes to make this closer to something that can be generated
by config(8):
- Make the vfs ops and vnodeop_opv symbols match the name of the
  file-system option used to configure the file system into the kernel.
- Now that sys_mount() has mountcompatnames[], remove the holes previously
  used to preserve ordering for COMPAT_09 and COMPAT_43 mount system calls.
Also, add a comment that describes how I feel about the existence of this
file.
1997-10-06 09:25:00 +00:00
thorpej c08ce9b419 If COMPAT_09 or COMPAT_43 are defined, include a table of "mount compatnames",
which maps the old file system index numbers to the new (well, since after
NetBSD 0.9) string-based method of finding a file system ops vector.  Use
this table rather than assuming the ordering of the vfssw[] array when
emulating the old mount system call.
1997-10-06 09:19:11 +00:00
thorpej 176a81b2c5 Copyright assigned to The NetBSD Foundation. 1997-10-05 18:37:01 +00:00
veego 43e67d00a1 Regen with the correct NetBSD RCS ID from syscalls.master. 1997-10-04 17:43:31 +00:00
gwr 0554a69f18 more comments 1997-10-04 16:56:49 +00:00
enami 45a77d9452 Regen. 1997-10-03 15:07:24 +00:00
enami 9ccb5d2e4d Add system call lchmod (#274), lchown (#275) and lutimes (#276). 1997-10-03 15:06:18 +00:00
enami 83d3cd0ec7 New function sys_lchmod(), sys_lchown() and sys_lutimes() to manipulate
symbolic links.
1997-10-03 14:44:26 +00:00
enami ea531316f0 - New function change_mode() to set mode given a vnode.
- New function change_utimes() to set access and modification times
  given a vnode.
- In the function sys_chmod() and sys_fchmod(), call change_mode().
- In the function sys_utimes() and sys_futimes(), call
  change_utimes().
1997-10-03 14:14:36 +00:00
enami a117f2d89b Reorder some piece of code;
In the function sys_utimes, do NDINIT() and namei() first.
In the function sys_futimes, do getvnode() first.
1997-10-03 13:46:02 +00:00
enami dec1d15959 In the function sys_chmod and sys_utimes, use VOP_UNLOCK(vp) and vrele(vp)
instead of vput(vp).
1997-10-03 13:37:33 +00:00
enami ba054536f8 Fold lone line to fit column < 80. 1997-10-03 13:32:06 +00:00
enami 9f882ea0ee Cosmetic change;
(error = ...) -> (error = ...) != 0, like other place.
1997-10-03 13:29:20 +00:00
thorpej a2721a0f1b In vfs_shutdown(), do the "sync and wait for it to finish" _before_
unmounting all of the file systems.  If we encounter a condition where
all of the dirty buffers could not flush, then don't unmount file systems,
since it might be likely to wedge.
1997-09-24 21:40:55 +00:00
pk 3aa9abb4d8 Use the copied-in string to pass to cpu_reboot(), not a pointer into user space. 1997-09-20 19:32:15 +00:00
drochner 7de20a5b45 Call device_register() on i386 too. 1997-09-20 14:16:43 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
thorpej 27e54e6dc3 Prevent an extra newline from being printed if the root device is a network
interface.
1997-09-13 07:38:25 +00:00
mycroft 16a8787248 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-11 23:01:44 +00:00
pk ae6bc354b9 Use the macro PC_ADVANCE(), if defined, to skip over a breakpoint. 1997-09-10 19:37:31 +00:00
gwr b1fe1c2452 Generalize somewhat (now works for alpha too). 1997-09-10 16:25:07 +00:00
veego b79dba1b36 syscalls.master changed; regen. 1997-09-09 08:07:00 +00:00
veego 33a2f6fd68 Ups. 1997-09-09 08:05:35 +00:00
veego b6cefe68ad Move sys_minherit from 250 to 273 and add a comment why 240-269 are
reserved.
1997-09-09 08:04:11 +00:00
chuck 5ef067d288 syscalls.master changed; regen. 1997-09-08 18:12:29 +00:00
chuck bca26d18f9 add sys_minherit (from openbsd) 1997-09-08 18:03:32 +00:00
thorpej fc8c3e00e0 Bring changes from marc-pcmcia branch down to the trunk. 1997-08-29 00:47:18 +00:00
mycroft f31ed493f7 Fix a mbuf leak in sosend() when we have a negative residual count. 1997-08-27 07:10:01 +00:00
kleink 66105c37fc Lseek(2) usage cleanup: the use of L_SET/L_INCR/L_XTND is deprecated,
use SEEK_SET/SEEK_CUR/SEEK_END instead.
1997-08-25 19:31:43 +00:00
mikel ed1e33aac5 replace gawk-specific C-style comments with generic AWK comments; from
Yasufumi ITOH in PR kern/4011
1997-08-20 06:58:10 +00:00
drochner c6567d9100 eliminate unused variable warnings
closes PR kern/3946 by Erik Bertelsen
1997-08-06 16:57:33 +00:00
leo d37dfbd5c2 Allow for more than one md-device. 1997-08-03 20:36:03 +00:00
mrg e44b1e6182 add a patchable `lkmdebug' variable and only print debug messages
when certain bits are set.
1997-07-21 05:43:36 +00:00
fvdl 4ad51c2811 Allow multiple export requests for a filesystem, host pair if the flags and
anon cred are the same. Should probably be handled better in the mountd,
but this will do for now. Fixes PR 469, submitted Sept 1994 by
a certain "Jason R. Thorpe".. ;-)
1997-07-20 23:31:32 +00:00
phil b1bfdee5fe In sys_flock, change EBADF to EINVAL because error was generated by
a bad argument, not a bad file descriptor. (Found in response to
PR 2602.)
1997-07-17 17:54:40 +00:00
pk 37d77087e8 Check `b_dev' field in bdwrite() before using it as an index into bdevsw[].
`b_dev' value of NODEV happens and is normal if the buffer is on its way
to the underlying device strategy function for the first time.

Also, MFS sillily uses a major device number (255) which cannot be used
to index bdevsw[]. Check marked with XXXs.
1997-07-08 22:03:30 +00:00
pk b7b1073fd0 In bread() and breadn(): if getblk() returns a DELWRI buffer, don't
call biowait() but return `success' immediately. We can return `success'
because buffers with recorded errors are not returned by getblk().
(Takes care of PR#3694).
1997-07-08 21:42:59 +00:00
christos 2b0c0d95ab Make this work for SETUIDSCRIPTS:
- include <sys/stat.h> for S_ISUID, S_ISGID
- fix bug where shortcut to fail would use uninitialized variables.
- elide other warnings.
1997-07-08 02:32:02 +00:00
cgd c96fac46ea update for new vnode_if.sh 1997-07-07 20:19:54 +00:00
cgd 6542ece8e1 mark prototypes for static inline functions in the generated files as
possibly unused (with __attribute__ ((unused))), to avoid generating
warnings when compiling without optimization but with most ports' default
warning flags.
1997-07-07 20:17:36 +00:00
fvdl 6eecd789e6 There appear to be spinlock bugs in the VM code. They are not a problem
now, as we're always one on CPU (they will be later, though). With DEBUG,
they cause a lot of output, so DEBUG -> LOCKDEBUG for now.
1997-07-06 22:51:59 +00:00
fvdl 8f8988628d Add NetBSD RCS Id, and a few minor changes to make it compile. 1997-07-06 12:35:33 +00:00
fvdl f93a04da47 Import Lite2 locking code 1997-07-06 12:19:53 +00:00
thorpej 8dd0293cd3 Use UCHAR_MAX rather than "255" when sanity-checking the length of a
sockaddr in sockargs().
1997-06-26 06:13:36 +00:00
thorpej 1351e629b3 Several small changes to eliminate kludginess in dealing with unix domain
socket names:
- In unp_setsockaddr() and unp_setpeeraddr(), if the socket name can't
  fit into a single mbuf, allocate enough external storage space to
  hold it.
- In unp_bind() and unp_connect(), perform a similar operation, but allocate
  one extra byte, and ensure that the pathname is nul-terminated.
Many thanks to enami tsugutomo <enami@cv.sony.co.jp> for the sanity
checking.
1997-06-26 06:06:40 +00:00
thorpej e1fb68eb29 In sockargs():
- Add a comment describing my feelings about this interface, in general.
- Remove the COMPAT_OLDSOCK length hack.  Instead, if the socket argument
  is too long to fit in an mbuf, allocate enough external storage to
  hold it.
- If the socket argument is a sockaddr, don't allow the length to be
  greater than 255, as that would overflow sa_len.
Many thanks to enami tsugutomo <enami@cv.sony.co.jp> for his sanity checking.
1997-06-26 06:01:59 +00:00
thorpej 01cbda9800 In sbappendaddr(), if the sockaddr length is larger than will fit in
an mbuf, allocate enough external storage to hold the sockaddr.  Thanks
to enami tsugutomo <enami@cv.sony.co.jp> for providing sanity-checks.
1997-06-26 05:56:38 +00:00
thorpej 6043eb7d80 Avoid running off the end of the format string if the caller botched
the format modifer.  Reported by and suggested fix from Daniel G. Pouzzner
in PR #2633.  Final fix is slightly different now that we support the %q
modifier.  This fix also includes the equivalent fix for sprintf().
1997-06-26 05:17:45 +00:00
thorpej e14025e742 If KGDB is defined, pull in <sys/kgdb.h> for prototypes. 1997-06-26 00:43:10 +00:00
thorpej 319920c23a Add "struct", "member", and "export" keywords, per PR #3555, from
Ty Sarna <tsarna@endicor.com>.
1997-06-25 03:09:06 +00:00
fvdl b5e26aee04 Invalidate publicly exported FS info when unmounting it locally. 1997-06-24 23:44:57 +00:00
fvdl 4702f17abc Add functions to set/reset the info about the publicly exported
(WebNFS) filesystem. At first glance this should go into the
NFS code, but all the other export code is here as well.
1997-06-24 23:43:33 +00:00
thorpej cd730bdd50 In sosetopt():
- Disallow < 1 values for SO_SNDBUF, SO_RCVBUF, SO_SNDLOWAT, and
  SO_RCVLOWAT; return EINVAL if the user attempts to set <= 0.
  Inspired by PR #3770, from Havard Eidnes <he@vader.runit.sintef.no>.
- For SO_SNDLOWAT and SO_RCVLOWAT, don't let the low-water mark get
  set above the high-water mark.  Behavior is now consistent with
  BSD/OS: If such an attempt is made, silently truncate to the high-water
  value.
1997-06-24 20:04:45 +00:00
thorpej a149ed59e4 Eliminate use of dtom() in the handing of UNIX domain sockets. Add an
"unp_addrlen" member to the unpcb, and use it when copying the socket
name.  This eliminates that last uses of dtom() in the system.
1997-06-24 19:12:53 +00:00
kleink df14b3b830 Add some robustness to ttymodem(), e.g. do not SIGHUP when there hasn't been
an actual carrier transition; from Charles M. Hannum.
1997-06-20 10:50:11 +00:00
pk 98ce8ab879 Remove __FORK_BRAINDAMAGEd code; it's no longer needed. 1997-06-19 20:54:15 +00:00
kleink a0696b91ad When a background process attempts to TIOC[CS]BRK (a.k.a. tcsendbreak()) or
TIOCSTART (a.k.a tcflow()), send its process group a SIGTTOU.
1997-06-18 15:32:33 +00:00
kleink 93da19a2f1 Rewrote break/parity/framing error handling from spec. 1997-06-17 20:41:59 +00:00
drochner a52a25467d Implement quad_t (%qx, %qd, %qo) printf formats.
Closes pr kern/3747.
1997-06-16 15:02:27 +00:00
thorpej 3fc5bf341d Fix a slight botch in dumpdev configuration logic in the RB_ASKNAME
case if a network interface is selected as the root device.
1997-06-16 00:25:05 +00:00
thorpej e94c4d3f1c Call cpu_dumpconf() after cpu_rootconf(). 1997-06-14 04:18:34 +00:00
thorpej 91f7efbaf9 Fix crash dump device selection after the recent swap changes:
- If RB_ASKNAME, prompt for the dump device, defaulting to
  partition 'b' of the root device, if the root device is a disk.
- Else, if dumpspec is set to "none", do not configure a dump device.
- Else, if dumpspec is set by config(8), attempt to use that device.
- Else, dumpspec is wildcarded or unspecified; if the root device is
  a disk, select partition b.  (which was the previous default dump
  partition)

Note, dumps to a local disk now work even if root is on nfs.
1997-06-14 04:17:32 +00:00
mrg 5321ad5c6f regenerate. 1997-06-12 22:07:47 +00:00
mrg 9cee42ea7c swapon back to compat_12 syscall.. 1997-06-12 22:05:37 +00:00
mrg 32d6beee19 regenerate. 1997-06-12 21:47:09 +00:00
mrg abe622f20b for now, leave swapon(8) in place. 1997-06-12 21:41:56 +00:00
mrg 295af85e9e remove swap configuration. 1997-06-12 17:12:17 +00:00
mrg 8986bdf82d regenerate. 1997-06-12 14:49:11 +00:00
mrg c59ed4fd4d add sys_swapctl(), and deprecate, with COMPAT_12, sys_swapon 1997-06-12 14:23:46 +00:00
bouyer 276676cfbb Support ext2fs. 1997-06-11 10:40:16 +00:00
kleink 372bfc7c08 Calculate returned timeval correctly when using SO_SNDTIMEO/SO_RCVTIME;
from Koji Imada <koji@math.human.nagoya-u.ac.jp> in PR/3682.
1997-06-11 10:04:09 +00:00
cgd 21bbd49bf2 in vfs_shutdown(), print "syncing disks... " before dropping to spl0(),
so that if the drop to spl0() causes another panic (e.g. because there's
still some fatal hardware interrupt that's pending) we'll know that we
dropped IPL to sync the disks.
1997-06-07 17:27:57 +00:00
veego 118a503048 Add HW_MACHINE_ARCH for the new sysctl hw.machine_arch which contains the
cpu class of a machine.
1997-06-06 23:14:36 +00:00
pk f910dab2bd Get `canwait' argument to kmem_malloc() right. 1997-06-06 10:51:49 +00:00
thorpej f160cf5490 Prototype lkmdispatch() in <sys/lkm.h>; all LKMs use it. 1997-05-28 02:44:55 +00:00
thorpej cf30e3e3c9 Prototype lkmexists() in <sys/lkm.h> as some LKMs might need to use it. 1997-05-28 02:41:41 +00:00
thorpej 5b2dc97efd Move the test for "no rootspec and no bootdv" to after we've had a chance
to set rootspec in the case of "root on ? type nfs" and no bootdv was
found.  From maximum entropy <entropy@tanstaafl.bernstein.com>, PR #3669.
1997-05-25 19:20:30 +00:00
kleink b7ba6138b6 If the pgrp_id argument of TIOCSPGRP (a.k.a. tcsetpgrp()) does not specify
an existing process group, return EINVAL.
1997-05-22 17:35:42 +00:00
gwr 5e15995438 Moved db_kill_proc() and db_show_all_procs() to ddb/db_xxx.c 1997-05-21 19:56:50 +00:00
gwr 55f621803a Moved db_show_callout() to ddb/db_xxx.c 1997-05-21 19:55:45 +00:00
kleink 91830a9500 When a background process attempts to TIOCDRAIN (a.k.a. tcdrain()), send
its process group a SIGTTOU signal.
1997-05-20 13:11:33 +00:00
pk 153ccc307b Use PHOLD() and PRELE(), rather than manipulating p_holdcnt directly. 1997-05-19 10:43:28 +00:00
kleink 2509589972 Add posix_rename() syscall: regen. 1997-05-18 20:07:27 +00:00
kleink d3aadd8976 Add posix_rename() syscall. 1997-05-18 19:56:48 +00:00
thorpej 92c113aebb Fix printf format botch. 1997-05-17 00:19:02 +00:00
gwr 09da7e273e Eliminate vmspace.vm_pmap and all references to it unless
__VM_PMAP_HACK is defined (for temporary compatibility).
The __VM_PMAP_HACK code should be removed after all the
ports that define it have removed all vm_pmap references.
1997-05-16 21:39:50 +00:00
kleink 9827bd6dc6 When fstat(2)ing a file descriptor of a local communications domain socket,
fill the socket's creation time into the stat structure's st_[acm]time fields:
POSIX requires this behavior for pipe(2). N.B.: updating the st_[am]time fields
when reading/writing the pipe is neither required nor implemented, though.
1997-05-15 17:01:04 +00:00
thorpej e98c5a9b1c Fix two boundary/overflow errors in extent_alloc_subregion():
(1): "substart == ex->ex_end" and "subend == ex->ex_start"
     are completely legal parameters for extent_alloc_subregion()
(2): "(subend - substart) + 1" can cause an overflow if the whole
    numeric range is covered by the extent.
Submitted by Matthias Drochner <drochner@zelz26.zel.kfa-juelich.de>
in PR #3119.
1997-05-12 23:36:32 +00:00
kleink e7b98401d4 Pull in the declarations of db_expression() and db_error(), used by
db_kill_proc().
1997-05-08 17:22:05 +00:00
mycroft 8e39ee9dad Don't use vaccess() here. 1997-05-08 17:16:15 +00:00
mycroft ae5d73b594 Update for vaccess() change. 1997-05-08 17:08:31 +00:00
mycroft 06fb68217b Oops; fix reversed test for VDIR. 1997-05-08 16:34:54 +00:00
mycroft e3f99a9397 Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft 07ba5e5ac3 Snapshot of namei() cleanup:
1) Eliminate all of the null component name special cases; handle runs of
slashes and leading and trailing slashes completely differently.
2) Return ENOENT when doing a lookup through an empty symlink.
3) Enforce that we're doing a lookup through a directory in in chdir() and
lookup() rather than in foo_lookup().

Not yet finished.
1997-05-08 14:55:22 +00:00
mycroft 4d2eb6bb39 GC some code. 1997-05-08 12:17:47 +00:00
mycroft 837a72363d VEXEC -> VLOOKUP, as appropriate. 1997-05-08 10:57:17 +00:00
mycroft 8f5978a181 GC VS[UG]ID and VSVTX, and add a new VLOOKUP, since the semantics are now
different from VEXEC.
1997-05-08 10:21:35 +00:00
mycroft d7f33c5e60 va_mode contains stat bits. Use S_IS[UG]ID rather than VS[UG]ID. 1997-05-08 10:19:10 +00:00
gwr 9fa3dabef7 Moved db_show_all_procs() to kern_proc.c 1997-05-07 18:49:10 +00:00
gwr 48c524e63a Add db_kill_proc() for DDB (and move db_show_all_procs here so
all the "proc" debugging stuff is here in one place).
1997-05-07 18:48:15 +00:00
tls 02697a5d47 add case for 512Hz in NTP code 1997-05-05 19:25:26 +00:00
mjacob f67d760363 Ancient...needed a slight amount of fixing. 1997-05-04 01:54:24 +00:00
kleink 29c5707479 * Make chown()/fchown() use a piece of common code to set ownership.
* Setting the ownership of a file now implies clearing its set-{group,user}-id
  bits.
1997-04-30 19:29:43 +00:00
mycroft 103c7d360d Oops; forgot to GC the last mbuf allocated when out of clusters. 1997-04-28 17:03:58 +00:00
mycroft 2b65c6c346 Delay turning off P_TRACED until the process is actually waited on. It can't
have any signals delivered while exiting, so this should be okay.  Change the
test for a traced process in wait4() to exclude a process that was started by
the debugger; in this case, only one SIGCHLD should be delivered.
1997-04-28 13:17:05 +00:00
mycroft 701f15db33 Reinstate P_FSTRACE, with different semantics:
* Never send a SIGCHLD to the parent if P_FSTRACE is set.
* Do not permit mixing ptrace(2) and procfs; only permit using the one that
  was attached.
1997-04-28 04:49:27 +00:00
mycroft 43a0dc8b74 Remove remnants of P_FSTRACE, which is no longer used. 1997-04-28 02:51:41 +00:00
mycroft ead5e1a6f7 When stopping a process being traced through procfs, wake up the *parent* (in
case it happens to be doing a WAIT.
1997-04-28 02:36:05 +00:00
mycroft e725c03060 When checking for init, compare against initproc, rather than comparing the
PID.  No functional difference.
1997-04-28 02:29:52 +00:00
tls 3a98883bd3 Don't allow the time to be set backwards if in highly secure mode, since this would allow inode change times to be manipulated. 1997-04-26 21:22:57 +00:00
mycroft c32418bf82 Fix error in vfs_hang_addrlist() that caused file systems to be exported
to more subnets than expected when using netmasks.  From Mike Hibler.
1997-04-25 02:43:10 +00:00
mycroft 9da4efe896 If we fail to allocate a cluster to hold a large packet, simply
drop it rather than using a chain of tiny mbufs.
1997-04-24 08:14:04 +00:00
mycroft 5e62a0725b Change previous test slightly. 1997-04-23 20:19:45 +00:00
mycroft b34794e10f Do not return success when checking for execute permission by super-user and no
execute bits are set.  Also, this test is no longer needed in execve(2).
1997-04-23 20:18:16 +00:00
mycroft 1cf91041df Nuke the old COMPAT_09 truncation of UIDs, GIDs, process and process group IDs. 1997-04-23 18:59:53 +00:00
jtc 2114c082ae In nanosleep, use local error variable when storing rqtp in so that
an error from a failed tsleep will still be returned to the caller.
1997-04-21 16:56:54 +00:00
thorpej 5ca650f210 XXX Kludge for PowerPC; needs a kernel vfprintf(). 1997-04-17 00:06:28 +00:00
jtc c9b0c57620 Add POSIX.1b nanosleep(). 1997-04-16 14:41:28 +00:00
kleink e490ffb5cc Addendum to last commit: "simplify" usage of a vnode pointer. 1997-04-11 22:08:28 +00:00
kleink 589549e022 Use VOP_SEEK() in lseek(2). 1997-04-11 22:03:58 +00:00
jtk a817214f5f make it compile with -DLOCKF_DEBUG 1997-04-10 23:46:18 +00:00
kleink cb9c71d716 Back out last change: just return EACCESS for any non-VREG file.
Fixes PR/3472 from Matthias Pfaller.
1997-04-10 19:45:40 +00:00
cgd 319b64a8f7 Internalize and externalize file descriptors being passed via local domain
socket control messages correctly, without assuming that sizeof(int) ==
sizeof(pointer).  Fixes PR#3183.
1997-04-10 01:51:21 +00:00
kleink 116d655640 Back out POSIX.1 conformance change to lseek(2); this will be attended to
in a different way.
1997-04-09 23:26:06 +00:00
mycroft 6911ff7d13 Fix two performance issues:
* When a delayed write buffer falls off the LRU queue, arrange for it to go on
  the AGE queue after being flushed out to disk.
* When a delayed write buffer is synced, leave it in its relative position in
  the LRU queue.
1997-04-09 21:12:10 +00:00
kleink 513465cc2c Added a sanity check to the force-directory routine, as the CREATE and
RENAME namei() operations may succeed without returning a vnode.
1997-04-08 16:11:48 +00:00
kleink 43bd8d5456 POSIX.1 changes to namei():
(1) "" no longer refers to the current working directory;
	    looking this up will now result in ENOENT.

	(2) by stripping off trailing slashes and setting a `forcedir'
	    flag, make code such as {  mkdir("dir", m); rmdir("dir/"); }
	    actually work.
1997-04-08 10:11:55 +00:00
kleink a0dca5145e Fix a CRNL/NLCR botch I made after looking this up in the X/Open spec.
Fixes PR 3453; from John Kohl and Enami Tsugutomo.
1997-04-07 16:09:28 +00:00
kleink 9300dedf8e Back out last change to rename(2) until a sane solution for the coexistence
of both BSD and POSIX semantics is available.
1997-04-07 00:04:16 +00:00
kleink 4256cf1898 Add some clarification about the TTBREAKC macro's purpose; suggested by
Chris G. Demetriou.
1997-04-06 14:44:44 +00:00
cgd c65f7b2d9a fix missing parenthesis in TTBREAKC() 1997-04-06 08:15:17 +00:00
kleink dbf70fddf5 If TOSTOP is set, and the process group of the writing process is orphaned,
and the writing process is not ignoring or blocking SIGTTOU, do not signal
the process but return EIO.
1997-04-05 21:40:34 +00:00
kleink c028733220 Recognize EOL2 as a delimiter/"break" character only if IEXTEN is set. 1997-04-05 19:50:18 +00:00
mycroft c4cd861045 Remove unintended piece of last change. 1997-04-04 21:05:00 +00:00
mycroft 00f128b69f Fix several bugs related to MDMBUF. Also, remove the partial handling from
ttymodem(); it's not complete, it's better done in the driver, and only the
com driver ever supported it anyway.
1997-04-04 21:02:28 +00:00
kleink 4d65b07afa As specified in POSIX.1 (and termios(4)!), when cc[VMIN]==0 a read() shall
be satisfied by any amount of data actually read.
1997-04-04 15:10:34 +00:00
christos 8810289c14 Add netatalk domain. 1997-04-04 14:22:21 +00:00
kleink 9d8538dd8b Changed lseek(2): return EINVAL upon attempt to seek to negative offset. 1997-04-04 13:57:06 +00:00
kleink 50ccaeca39 Converted rename(2) to proper POSIX.1 behavior: if "from" and "to"
are links to the same file, do nothing. This also eliminates the
previous (and incorrect) check, which was far more complicated.
1997-04-04 13:32:48 +00:00
kleink 5ec0772a62 In checkalias(), initialize the speclockf structure member invented
with the specfs advisory locking support; this could cause a panic.
1997-04-03 23:15:52 +00:00
kleink c9c13ef470 Changed killpg1() to 'succeed' even if a process group consists of
SZOMB processes only; the POSIX.1 definition of a background process
group implies that kill(2)ing such a process group must succeed.
1997-04-03 21:08:27 +00:00
kleink 080aeda54f WERASE, REPRINT, STATUS and DSUSP are extensions to the POSIX.1 GTI
set of special characters: recognize them only if IEXTEN is set.
1997-04-03 14:24:45 +00:00
kleink b27b6da672 It's STRIPDISC, not STRIPIPDISC. 1997-04-03 00:54:19 +00:00
kleink 64f12ae12a Moved the `unlocking a lock-free inode' shortcut behind
the l_whence and starting offset sanity checks.
1997-04-02 18:42:46 +00:00
kleink 5610f6e774 Like in F_SETLK, check if F_GETLK is actually called with a
valid lock type.
1997-04-02 18:22:32 +00:00
kleink 2da2c50987 KNF glitch in last commit, pointed out by Chris G. Demetriou. 1997-04-02 03:23:01 +00:00
kleink 6b58679ffa Implement OCRNL "\r" -> "\n" tty output translation.
Fixes PR standards/3434.
1997-04-02 03:10:51 +00:00
christos ee29ff37a9 PR/3396: Klaus Klein: If CREAD is not set drop incoming data. 1997-03-29 23:26:27 +00:00
thorpej 2a4b742e6a Update and enhancement to the mbuf code, to support use of non-cluster
external storage.  Highlights:

	- additional "void *" argument to (*ext_free)(), an opaque
	  cookie for use by the free function.
	- MCLALLOC() and MCLFREE() calls are gone.  They are replaced
	  by MEXTADD() (add external storage to mbuf), MEXTMALLOC()
	  (malloc() external storage and attach to mbuf), and
	  MEXTREMOVE() (remove external storage from mbuf).
	- completely new external storage reference counting
	  mechanism; mclrefcnt[] is gone.

These changes will eventually be used to pass driver DMA buffers up
the network stack, and reduce/eliminate copies in certain code paths
(e.g. NFS writes).

From Matt Thomas <matt@3am-software.com> and myself <thorpej@nas.nasa.gov>,
with some input from Chris Demetriou <cgd@cs.cmu.edu> and review by
Charles Hannum <mycroft@mit.edu>.
1997-03-27 20:33:07 +00:00
mikel 4ab6dc7d2e allow examination of SIGKILL and SIGSTOP signal handlers (but still
disallow changes); from Klaus Klein in PR standards/3398.
1997-03-27 07:52:25 +00:00
mikel 19fd4b60de make setpgid(pid, pgrp) return EINVAL if pgrp < 0 as required by POSIX.1;
from Klaus Klein in PR standards/3395.
1997-03-27 06:14:03 +00:00
gwr 37b247edde Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/ 1997-03-26 22:42:13 +00:00
gwr 71e43d14ab Move findroot/setroot stuff from configure() to cpu_rootconf(). 1997-03-26 22:38:40 +00:00
mycroft 13ca4f0381 Do not return generation counts to the user. 1997-03-24 21:44:53 +00:00
mikel e19a744a21 kern.osrevision now returns value of NetBSD symbol (from <sys/param.h>),
not BSD symbol.  fixes PR kern/2016.
1997-03-21 06:50:48 +00:00
mycroft ef083dd857 fill_eproc(): Fill in e_login. From PR 3351, by Geoff Wing. 1997-03-19 04:55:07 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
mycroft e01c3bbe05 Return EISDIR for directories, not EACCES. 1997-03-14 06:12:11 +00:00
gwr 84e2004691 Look for $AWK in environment 1997-03-13 22:47:20 +00:00
fvdl 9599f78147 Add missing part of MNT_NOATIME commit: add it to the flags that can
be set by the mount system call.
1997-03-13 20:20:39 +00:00
hpeyerl f385ef3e0f Probe linux emul before svr4 emul. From Christos. 1997-03-13 02:55:25 +00:00
mycroft 85b2440284 Use splclock() to block time updates, not splhigh(). 1997-02-28 04:45:35 +00:00
thorpej 61deb88642 Remove prepending "#" and "$" characters from constants so this can
be used for m68k and i386 targets.
1997-02-26 23:44:24 +00:00
leo 3052dff85d Only make the memory-disk device the default root device when
MEMORY_DISK_IS_ROOT is defined.
1997-02-24 12:20:47 +00:00
mrg 3a0a1d42da in pollscan, cast incoming fd to unsigned int. from mycroft. 1997-02-23 02:23:07 +00:00
fvdl 501f1a3eb9 Do previous change properly (pasto; should have been inside the loop). 1997-02-23 00:07:18 +00:00
fvdl 0538233e2c Implement changes to make fix for NQNFS and MFS unmounting (race conditions)
work. Not quite as good as with the Lite2 merges, but it'll do until then.

* dounmount() expects to be called with the mountpoint marked busy
* all callers of dounmount() thus make the call themselves
* if a filesystem was being unmounted, and we're woken up in vfs_busy(),
  don't reference the mountpoint struct pointer, as it has very probably
  been freed.
1997-02-22 03:22:32 +00:00
mikel b0e7d3c13b sync filesystems in reverse order. suggested originally by Jim Rees
<rees@citi.umich.edu>, with some updating by Greg Hudson <ghudson@mit.edu>.
1997-02-20 04:52:44 +00:00
gwr 3c10fb1e47 Put back in the code to deal with advancing the PC on first entry,
and a long comment explaining why (needed on the pc532).
Remove PUTESC(c) macro which is no longer used.
1997-02-18 16:45:10 +00:00
mrg d1b433e462 check that fd being poll()ed is valid. from mycroft. 1997-02-18 04:20:54 +00:00
mrg 6fd38fc5f9 pass P_SUGID to child. from freebsd. 1997-02-18 01:30:37 +00:00
tls 4b1213d27c sync needs to clean VM objects backed by vnode pagers 1997-02-13 02:54:06 +00:00
ragge b2d40fd746 Fix bug that caused crash when root device was specified as 'ra0*'. 1997-02-12 19:27:08 +00:00
gwr 06e961d04e Reincarnation of the old hp300/kgdb_stub.c, worked over by
Matthias Pfaller and Gordon Ross
1997-02-12 00:51:47 +00:00
fvdl c745cba077 If the target for a rename() call exists, it will be removed. So, don't
leave any pages around (i,e, insert a vnode_pager_uncache()).
1997-02-10 12:41:19 +00:00
mikel e707982f35 check options argument to wait{3,4,pid}(); from Klaus Klein in PR 3182. 1997-02-07 05:33:07 +00:00
pk 5851e327c5 Inline functions and place variable assigment after the program.
This enables other versions of AWK (eg. `nawk') to grok the script.
1997-02-06 22:16:12 +00:00
gwr d372229de2 This little awk program translates the initialized data table found
in the assembly file genassym.s into the usual assym.h file.  The
assym.h file generated this way is identical to the output generated
if I simply compile and run the genassym.s file.  "Heh, Kewl!"
Thanks to Matthias Pfaller for the "translate the .s file" idea!
1997-02-03 21:31:17 +00:00
thorpej 7b30910b48 KMEMSTATS is a header option; pull in "opt_kmemstats.h". 1997-02-02 21:22:16 +00:00
thorpej 6dc3c24a7c Add missing \n in printf format for "cannot mount root" error message.
Pointed out by cgd@netbsd.org
1997-02-02 02:55:06 +00:00
cgd 3d3f4afbea use cnpollc() appropriately in getstr() 1997-02-01 02:28:48 +00:00
cgd 1a0b411d75 list 'a'+MAXPARTITONS-1, rather than just 'a'+MAXPARTITIONS, as last partition 1997-02-01 00:39:14 +00:00
pk 1cdfe6e18c Simplify a bit by using `next' statements, eliminating the `matched' variable.
Also, ignore lines with just whitespace, instead of reporting a syntax error.
1997-01-31 21:56:28 +00:00
pk d4e0e6e7a3 - remove two debugging (apparently) lines.
- generate a `return(0)' at the end of the generated `int main()'.
- append a newline when printing the rest of a `^quote[ ]+' line.
1997-01-31 21:38:16 +00:00
thorpej 2ca27c5550 Garbage-collect "argdev". 1997-01-31 19:10:27 +00:00
cgd 6384f7c322 fix check_console() changes:
* prototype it before it is used (several ports compile with
  -Wstrict-prototypes -Wmissing-prototypes), so this is _necessary_.
* conform to C syntax (yes, that's right, it wouldn't parse).
* make error check less error-prone, + style fixups.
1997-01-31 05:25:24 +00:00
thorpej 68de7ca719 - Implement vfs_mountroot(). This function is called my main() to
mount the root file system.  If the operator specified the root
  file system type in the kernel configuration file, attempt to
  mount that file system type on the root device.  If the root
  file system type was wildcarded (or unspecified), try all of
  the file systems statically built into the kernel until one
  succeeds.  If no file systems succeed, return an error.  The
  system will recover from this condition.
- Implement vfs_getopsbyname().  This function returns the file
  system ops vector given a file system name.
1997-01-31 02:50:36 +00:00
thorpej e101942fa0 NFSCLIENT -> NFS 1997-01-31 02:36:24 +00:00
thorpej 1005d16030 Syscalls.master changed, regen. (NFSCLIENT -> NFS) 1997-01-31 02:35:52 +00:00
thorpej 55ee7ceeb8 NFSCLIENT -> NFS 1997-01-31 02:34:23 +00:00
thorpej ec15ba06cb Add a sysctl node "kern.root_device", which contains the external
name of the device that root was mounted on (e.g. "sd0").
1997-01-31 02:33:59 +00:00
thorpej 0408b501ce - Implement a new machine-independent setroot() function, mostly derived
from the version used by NetBSD/alpha, with several changes by me.
  Support for asking for root device and root file system type on any
  kernel, obsoleting "options GENERIC".
- Make my mountroothook implementation used by the sparc and x68k
  ports machine-independent, and use it here.  Mountroothooks allow
  devices to execute special functions before being mounted as the
  root device (such as ejecting the floppy and prompting for a new
  floppy disk).
- Make swapconf() machine-independent.  It was identical on all ports.
1997-01-31 02:31:33 +00:00
thorpej 883ccf99b6 - NFSCLIENT -> NFS
- Run mountroot hooks before we attempt to mount the root device, and
  destroy mountroot hooks after the root file system has been sucessfully
  mounted.
- Don't panic if we can't mount root.  Instead, set RB_ASKNAME and
  call setroot(), which will prompt the operator for the root device
  and file system type.
1997-01-31 02:25:47 +00:00
mouse b5657b655d Oops, forgot the #include. 1997-01-31 00:50:38 +00:00
mouse f2e82f1145 Apply the interim fix from PR 2236, reformatted and a comment added.
Not a real fix, but it should help until we get a real fix done.
1997-01-31 00:47:12 +00:00
tls af543e23ae remove ability to mangle namei cache 1997-01-30 10:29:24 +00:00
matthias 1370131ffd Add scripts and documentation for a new method to create assym.h files.
With the kern/genassym.sh script HOSTED_CC is no longer used to create
assym.h files. This should make crosscompilation easier.
1997-01-30 09:37:20 +00:00
tls e9a5b29d40 add #ifdef KMEMSTATS around variable otherwise unused; now compiles with KMEMSTATS turned off. 1997-01-30 06:50:46 +00:00
mikel d59edbdc1c regen 1997-01-22 06:54:31 +00:00
mikel bd71be635d add multiple inclusion protection to generated header 1997-01-22 06:51:59 +00:00
cgd 008f5aedf9 apply patch from PR 2788 (from Dennis Ferguson <dennis@jnx.com>) to
more smoothly apply "tickfix"es microsecond deltas (when compensating
for clocks running at > 1000Hz).
1997-01-15 04:59:39 +00:00
cgd 99fb250b5c fix from PR 2787 (from Dennis Ferguson <dennis@jnx.com>): when adjtime
is running (and NTP is not enabled), the adjtime()-handling code clobbers
any tickfix that may be necessary for systems with clocks with frequency
greater than 1000Hz.
1997-01-15 04:27:35 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
thorpej f1c90f5e13 Implement sbcreatecontrol(), a generic function to create a "control"
mbuf for presentation on a socket buffer.
1997-01-11 05:16:46 +00:00
thorpej 62dcdcfb89 Implement SO_TIMESTAMP socket option: receive a timeval timestamp
as a control message with a datagram.
1997-01-11 05:15:01 +00:00
thorpej 1dc6efd7e6 Only call Debugger() on panic if "db_onpanic" is set. 1997-01-09 05:38:22 +00:00