Commit Graph

143 Commits

Author SHA1 Message Date
christos
4fb8bf7262 PR/4098: Alan Barrett: Fix diagnostic printf formatting. 1997-09-10 13:44:20 +00:00
thorpej
a79a3ca472 Fix a reversed argument which caused procfs_checkioperm() to always return
"OK".  Add a few comments to avoid further confusion.
1997-08-27 08:52:51 +00:00
explorer
945beb8d63 Move procfs_checkioperm() from procvs_subr.c to procfs_mem.c, since _subr is
not included in a kernel without procfs, and it seems wrong to pull
all of procfs_subr.c in for just that one function.  Perhaps this
should go into a new file instead?
1997-08-13 04:01:22 +00:00
thorpej
f9777e4a1c Fix the procfs hole described on current-users, similar to a fix for
FreeBSD by Sean Eric Fagan, but a bit different.  This makes the checks
in the same places as sef's FreeBSD patch, but does not hardcode the
"kmem" group into the kernel, and also does a check identical to the
(3) and (4) checks in the NetBSD ptrace(2):

	(1) it's not owned by you, or is set-id on exec (unless
	    you're root), or

	(2) it's init, which controls the security level of the
	    entire system, and the system was not compiled with
	    permanently insecure mode turned on.
1997-08-12 22:47:18 +00:00
mycroft
2ee8bc2b79 Don't allow writes to init's memory or registers while in secure mode. 1997-06-25 11:32:15 +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
4d213ec5e7 Need stat.h. 1997-05-05 07:34:09 +00:00
mycroft
1e3c14a909 Eliminate bogus uses of V{READ,WRITE,EXEC}. Use S_I[RWX]{USR,GRP,OTH} where
appropriate.
1997-05-05 07:13:57 +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
8a33a13c65 Minor code cleanup. 1997-04-28 03:49:57 +00:00
mycroft
217c4e14ea Fix several deficiencies, as compared to ptrace(2):
* Did not check for P_SUGID on ATTACH.
* Did not check for tracing of init on ATTACH.
* Did not turn off single-step mode on RUN or DETACH.
* Might have screwed up reparenting in some cases.
* Allowed anyone to detach the process.
1997-04-28 02:28:39 +00:00
cgd
90688fce27 Change the second and third args to struct vfsops' (*vfs_mount)() to
'const char *', and 'void *', respectively.  The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions.  The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:10:12 +00:00
cgd
a67c0b16b8 define path name string variables that we should not (and, thankfully, do
not) modify as 'const char *' rather 'char *'.
1996-10-25 21:57:58 +00:00
cgd
eaa37ec87a remove bogus cast of second arg to bcmp(). (nm_name is a const char*,
and was being unnecessarily cast to 'char *'; -Wcast-qual.)
1996-10-25 21:52:02 +00:00
christos
92a808f167 backout previous kprintf changes 1996-10-13 02:21:25 +00:00
christos
60d201973e printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:46:11 +00:00
mycroft
2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft
c52352c819 Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.
1996-09-01 23:47:48 +00:00
mycroft
95f26583aa Add a missing PHOLD()/PRELE() pair. 1996-06-11 01:49:38 +00:00
christos
da749d6e09 Fix printf format follies. 1996-03-16 23:52:42 +00:00
mycroft
183aec8fa8 GC *_nullop(). Minor nits. 1996-02-13 13:12:48 +00:00
christos
19dc07be15 close PR/2063: procfs_rw prototyped twice with different prototypes 1996-02-12 15:01:41 +00:00
christos
631ccba638 miscfs prototype changes 1996-02-09 22:39:56 +00:00
mycroft
fce3e0874f Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.
1996-02-09 18:47:48 +00:00
mycroft
53fccab940 Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.
1996-02-09 14:45:36 +00:00
mycroft
d60bb4a465 Use the index number as the cookie, rather than multiplying by UIO_MX. 1995-10-09 14:03:32 +00:00
mycroft
bcaf2bca34 Add support for cookies, mostly from Greg Hudson. 1995-10-09 11:18:51 +00:00
mycroft
36a94a031a Lock the process in core before operating on it. 1995-08-13 09:05:51 +00:00
cgd
8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
jtc
95ded74f58 Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
cgd
13f5026553 fix timeval vs. timespec warnings 1995-04-15 01:56:43 +00:00
briggs
6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
mycroft
2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
mycroft
597bdad3df Return EROFS rather than ENOENT in many cases. Also some cosmetic cleanup. 1995-02-03 16:18:46 +00:00
mycroft
e9017fd132 Clean up the code to frob mnt_stat a (tiny) bit. 1995-01-18 09:34:24 +00:00
chopps
ce22a1a443 initialize variable as pointed out by David Jones <dej@qpoint.torfree.net>
this should fix pr #699
1995-01-05 07:10:54 +00:00
mycroft
609063ce2b Format police. 1994-12-27 19:05:12 +00:00
ws
2f0fb8ee09 Implement and use a common access checking routine 1994-12-24 16:44:12 +00:00
mycroft
814ba0fc30 Call foo_statfs() from a common place when mounting. 1994-12-15 20:00:14 +00:00
mycroft
7276c4ed44 Remove a_fp. 1994-12-14 18:45:21 +00:00
christos
a1dbf4aaa5 fixed struct comment 1994-11-14 06:08:21 +00:00
cgd
6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd
be8c7b9d80 light clean; make sure headers are properly included, types are OK, etc. 1994-10-29 07:58:24 +00:00
cgd
6b86130410 update for new syscall args description mechanism 1994-10-20 04:22:35 +00:00
mycroft
76e0a7d0f4 Fix typo. 1994-09-15 03:47:19 +00:00
mycroft
cab4d25c24 stat the file system at mount time, for `df -n', et al. 1994-09-15 03:42:37 +00:00
mycroft
2f710a54ee Convert process, file, and namei lists and hash tables to use queue.h. 1994-08-30 03:04:28 +00:00
cgd
cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
mycroft
18157b489f Remove an unneeded test. 1994-06-16 06:01:19 +00:00
mycroft
117527f322 Minor update from JSP after merging my changes. 1994-06-15 22:54:38 +00:00
mycroft
76fe13be8e Fix a bug pointed out by JSP. 1994-06-15 14:40:32 +00:00
mycroft
cde1d47595 Update to 4.4-Lite fs code, with local changes. 1994-06-08 11:33:09 +00:00
cgd
d9f8c89a76 setrun rename 1994-05-07 01:15:38 +00:00
cgd
a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
cgd
17f30a5d0b kill obvious bug; glad to know this was tested! 1994-05-04 05:41:55 +00:00
cgd
4bbabd8e7a Rename a lot of process flags. 1994-05-04 03:41:12 +00:00
cgd
d071d1cf05 some prototype cleanup, eliminate/replace bogus types (e.g. quad and
u_quad) -> use better types (e.g. quad_t & u_quad_t in inodes),
some cleanup.
1994-04-25 03:49:27 +00:00
cgd
4917d8beec make fs types consistent over new kernels. also, some proto foo. 1994-04-23 07:54:38 +00:00
cgd
3dda0064a5 Convert mount, vnode, and buf structs to use <sys/queue.h>. Also,
some knf and structure frobbing to do along with it.
1994-04-21 07:47:31 +00:00
cgd
914b690745 forgot these... 1994-04-15 20:49:27 +00:00
cgd
93159ea799 fs types are names now. 1994-04-14 04:05:45 +00:00
cgd
656b05ccf6 be a bit smarter about determining if files shouldn't be seen by the user.
Also, DON'T allow a lookup to succeed on a file that's not visible!
1994-04-12 02:55:51 +00:00
briggs
bf860bb2b2 PG_COW -> PG_COPYONWRITE to match earlier changes in vm_page.h. 1994-03-17 04:10:32 +00:00
mycroft
349d681690 Undo last change; executables is file', not a.out'. 1994-02-15 13:32:39 +00:00
ws
0cb2a819b2 Rename file -> a.out 1994-02-14 19:08:36 +00:00
ws
4eab6179ba Don't try to show a file for a process if there is none 1994-02-14 19:07:27 +00:00
ws
2df8c5f528 If you add files, be sure to have enough bits to encode an inode number! 1994-02-06 14:01:16 +00:00
cgd
89a86e618e make a fpregs file. 1994-01-28 07:03:16 +00:00
ws
2cee3e073f Make procfs really work for debugging.
Implement not & notepg files in procfs.
1994-01-20 21:22:47 +00:00
ws
5f7ef81c6f Fix ugliness left over from my last mod 1994-01-11 18:02:06 +00:00
ws
a24f445d60 Fix sign extension bug 1994-01-10 20:47:39 +00:00
mycroft
c4f31d72f8 Add a missing break so my machine doesn't panic. 1994-01-10 04:58:14 +00:00
cgd
64aaba1a4e fix some of my more recent botches, and clean up slightly. 1994-01-09 23:57:56 +00:00
cgd
5c3b96cd71 oops. fix that last 1994-01-09 20:17:06 +00:00
cgd
9f5ed8f1ef minor cleanup; kill a few assignments 1994-01-09 20:10:51 +00:00
ws
6202bab2db Bug fixes and enhancements:
Make NFS serving work (BUT DON'T USE "attach" TO /proc/*/ctl FOR NOW!!!)
Make `curproc' a symbolic link
Add `.' and `..' entries to the directories.
Return better guesses on the size of the files.
1994-01-09 19:44:03 +00:00
cgd
e2efe41199 reorganization of ptrace/procfs code 1994-01-08 10:47:02 +00:00
cgd
eda5beab5a return size of 'reg' from getattr() 1994-01-05 21:56:02 +00:00
cgd
9d1babb688 fix UFS vs 'real' fs type mixups 1994-01-05 11:07:31 +00:00
cgd
3ff83b3549 make it compile (cleanly) for us 1994-01-05 08:00:05 +00:00
mycroft
3bd8a96c64 Clean up deleted files. 1994-01-05 07:51:37 +00:00
cgd
699e3be9e9 add new procfs code, from Jan-Simon Pendry, jsp@sequent.com.
This is pretty-much "virgin", so that diffs can be done later.
1994-01-05 07:51:08 +00:00
mycroft
0560892d34 Canonicalize all #includes. 1993-12-18 03:48:27 +00:00
cgd
4f10c7ead8 kill volatile warning. 1993-09-16 22:08:30 +00:00
ws
053f138dae Changes to VFS readdir semantics
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers
1993-09-07 15:40:14 +00:00
pk
dd119ec84b Implement setattr: mode for process entries; mode + uid/gid for the
PROCFS root directory.
Fixed omission in pfs_root() which came to light as a result of the above:
hold on to vnode for root dir.
1993-08-26 19:01:00 +00:00
mycroft
ac815031d0 Um, last change was wrong. Instead, add 3 to the number of inodes (forget
about the root directory, too).
1993-08-25 14:41:19 +00:00
mycroft
b3f22bcdcc Subtract to from the free count for .' and ..', to maintain the fiction that
this is a real file system.
1993-08-25 14:35:20 +00:00
pk
1e37ac6db4 Fixed improperly initialized nfsnode in pfs_lookup() 1993-08-25 09:28:39 +00:00
pk
8dc35fb5d6 Fill inode fields in procfs_statfs(), in stead of block fields 1993-08-24 17:49:16 +00:00
pk
834a44f21f copyright update. 1993-08-24 16:47:23 +00:00
pk
0cbe77737a Rcs Id added. 1993-08-24 16:25:07 +00:00
pk
498189f379 Initial version of a proc filesystem. 1993-08-24 12:59:09 +00:00