Commit Graph

201 Commits

Author SHA1 Message Date
andrew
22dff5862a Removed the user area protection gunk I painstakingly removed in revision
1.9.  It has not been necessary since then due to a segment fixup made to
machdep.c that prevents access to anything above MAX_VMUSER_ADDRESS.
1993-08-13 03:50:02 +00:00
cgd
acf8d8b584 deal with ddb bogosities 1993-08-07 06:03:02 +00:00
cgd
26817f18ab fix prettyprinting changes that caused the kernel to not link if you
defined DIAGNOSTIC but not DDB...
1993-08-07 05:08:11 +00:00
mycroft
a0aed26669 Remove a spurious `#' added two revisions ago. 1993-08-03 01:56:52 +00:00
mycroft
4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
jtc
3643c134f1 Change "#endif FOO" to "#endif /* FOO */", to keep gcc -Wall, lint, etc.
from complaining about a trivial issue.
1993-07-29 21:42:19 +00:00
cgd
7b2afa7fe6 incorporate changes from 0-9-base to 0-9-ALPHA 1993-07-28 02:20:34 +00:00
pk
36a6e635b3 Committing in src/sys/vm
Modified Files:
	vm_object.c

call vm_object_remove() to remove an object from the hashtable when
vm_object_collapse() starts fiddling with pagers.
1993-07-28 00:00:01 +00:00
brezak
9d7e246a03 Cleanup pretty printers for maps and objects. 1993-07-22 13:03:36 +00:00
cgd
24e3cbad44 according to andrew, the bit with the comment:
>       /* protect from the user area from user accesses. :-)
>          addr -> addr + UPAGES*NBPG don't seem to be protected without
>          this; the rest seems to be OK, and doesn't like being protected
>          - andrew@werple.apana.org.au */
*is* necessary, so put it back in...  it's in an #ifdef i386 part anyway.
1993-07-19 13:47:09 +00:00
andrew
aa381d0e73 vm_protect() of the user area is no longer required for i386 machines; the
protection is implemented by adjusting the bounds of the user segment
descriptors.
1993-07-18 08:19:34 +00:00
mycroft
ad087b06a0 Finish moving struct definitions outside of function declarations. 1993-07-17 15:56:59 +00:00
mycroft
97cae397ee Finish moving struct definitions outside of function declarations. 1993-07-17 15:24:33 +00:00
cgd
fd3c8fa35a fix a whole slew of off-by-one errors 1993-07-15 15:42:17 +00:00
cgd
4b90229cd2 do the "right thing" with mmap protections, once and for all.
in particular, if an object is mapped private, DO NOT grant
VM_PROT_ALL protections to it; it could be sensitive data.
1993-07-15 14:48:37 +00:00
cgd
b8b3b4471d get rid of any support for vm_fault_wire() returning a result.
if it's going to be ifdef'd out until it's tested, it shouldn't
be put in to begin with.
also, minor ansifications and cleanups (mostly so tags would be happier).
1993-07-15 14:25:18 +00:00
cgd
999eb6ce5b get rid of extraneous thread_wakeup()s, added at sef's prompting,
which would never be called anyway.  leave his vm_page_activate()
change in though, as it is correct.
1993-07-15 14:07:51 +00:00
cgd
5287574e0a get rid of bogus retrymalloc code (and it was bogus)... 1993-07-15 13:33:23 +00:00
cgd
b99e3b6666 get rid of bogus protections chacking which conflicts w/guido's
patch...
1993-07-07 11:25:32 +00:00
cgd
09844fbcfe make the rlist code all go away. replace it with resource map code,
as written by Wolfgang Solfrank.
1993-07-07 06:04:12 +00:00
cgd
8ebc845441 got rid of (obviously) bogus assignment which followed free(). 1993-07-02 10:26:49 +00:00
andrew
7a0e26cd13 Paul Kranenburg's VM deadlock patches (from patchkit 00147, parts 3 & 4).
Prevent dirty objects from being cached, and prevent vm_page_alloc() from
allocating too much memory to non-kernel objects.
1993-06-30 03:48:25 +00:00
mycroft
5f8b3f4ff4 Oops. Get rid of the `#ifndef MYCROFT_IS_A_DORK'. B-) 1993-06-29 19:38:50 +00:00
mycroft
d94e5eecbb Fix some off-by-one errors. 1993-06-29 13:47:05 +00:00
andrew
5705dde7e9 Disallow access to the user pages, where the kernel stack is stored. This
is effected in useracc(), and also by a vm_protect() in vm_fork() for i386
CPUs.  Without the latter a write to the user area, say USRSTACK+1000,
would hang a 386-based system.
1993-06-29 07:16:31 +00:00
andrew
918a434644 ANSIfications. Added support for vm_fault_wire() returning a result; code
to actually fail is currently disabled, as this would enable some new code
in vm_map_pageable() (disabled in this commit) that hasn't been used to
date.  I'm fairly confident it is all OK, but shall test it some more once
the rest of the kernel is more stable, before enabling it.
1993-06-27 06:38:48 +00:00
andrew
51ac6a0997 ANSIfications. 1993-06-27 06:27:29 +00:00
cgd
0e761b8d7e fix behavior when VM_MAXUSER_ADDRESS == (-UPAGES * NBPG) 1993-06-21 10:18:20 +00:00
brezak
800afb6fec Remove annonying printf when adding swap. 1993-06-17 16:34:25 +00:00
cgd
1b44fd4c31 fix syntax errors caused by *not* having any one of the pagers... 1993-05-29 17:03:06 +00:00
deraadt
ada4945e6b patches to make kernel malloc() retryable. from <MDICKSON@CSI.compuserve.com> 1993-05-27 14:34:29 +00:00
cgd
cc5e8e00d5 add rcs ids and clean up headers 1993-05-20 03:59:08 +00:00
cgd
3cec79bb72 add counters for vmstat 1993-05-07 07:12:43 +00:00
cgd
db3da84702 add bruce evans's useracc fixes, from patchkit patch 137. 1993-05-07 07:03:50 +00:00
cgd
b235aec4f6 fix free page count determination 1993-05-07 06:59:45 +00:00
cgd
fd7c50fd61 patch from Pete Chown <pc123@cus.cam.ac.uk> to fix mmap
modes vs. read/write permissions problem.
1993-05-07 01:58:11 +00:00
cgd
645b67012b make it panic, like i thought it did, for mb_map too small. 1993-04-29 08:57:02 +00:00
mycroft
0b48d59355 Fix utter inanity I committed last night. 1993-04-29 00:46:21 +00:00
mycroft
a203e5704b Implement previous change more cleanly. 1993-04-28 04:00:49 +00:00
mycroft
87dc98f60b Introduce a new panic() condition in case I missed something. 1993-04-28 03:04:57 +00:00
mycroft
95090f0a13 Don't use first block of swap area. 1993-04-28 03:04:25 +00:00
mycroft
235bd1db44 Add consistent multiple-inclusion protection. 1993-04-19 03:45:34 +00:00
glass
33d009a09c Prevents you from creating double faults and such mmaping stuff on top
of the kernel, etc. Tested.  Derived from BSDI public patches
1993-04-10 15:06:01 +00:00
cgd
4493ba8058 fixed stupid typo (missing comma) in hand-applied diff 1993-04-09 17:19:02 +00:00
cgd
a128c34f9c From: Guido van Rooij <guido@gvr.win.tue.nl>
when mmapping a file, permissions are checked as it should be. When
mprotect()-ing the address range afterwards, no protection was checked
regarding the protection of the file originally opened. So
when you open /usr/bin/su RDONLY and SHARED you could afterwards change
the mmapped region to READ|WRITE. This gave the possibility to obtain
root privs obviously.
1993-04-09 17:16:30 +00:00
cgd
202313150e changes, running on sef's machine to good effect, likely contributed
by torek.  (sef told me to get them, and their origin...)
1993-04-09 17:13:17 +00:00
cgd
827c75471f From: andrew@werple.apana.org.au (Andrew Herbert)
Here are some fixes I derived from the mach 3.0 VM system a couple of months
ago.  At the time, I was giving the memory object routines a good looking
at, trying to fix the long-standing problem where vm_object_collapse()
sometimes fails to collapse objects left over from the exit of a forked
child.  As bde has noted, the problem seems to occur when portions of the
parent are paged out.  These "lost" memory objects, which can eat up a huge
amount of swap space, are reclaimed when the parent responsible for the
fork()s is killed.
1993-04-09 16:53:46 +00:00
cgd
3cac22992d from sean eric fagan:
it seems to keep the vm system from deadlocking the system when it runs
out of swap + physical memory.
prevents the system from giving the last page(s) to anything but the
referenced "processes" (especially important is the pager process,
which should never have to wait for a free page).
1993-04-09 15:54:56 +00:00
cgd
64354bb7c6 broke out panics for *_map too small, and tried to coalesce the maps more
often.
1993-03-31 21:53:56 +00:00
cgd
e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00