Commit Graph

1232 Commits

Author SHA1 Message Date
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