mrg
6b11eea5b2
reject attempts to map an immutable or append-only file, shared with
...
write protection. this stops data corruption where it was possible
to change the in-memory copy of an append-only file (but not the on-disk
copy). this is documented in NetBSD security advisory 1998-003. thanks
to darrenr, lukem, cgd, mycroft and mrg for this.
1998-05-10 12:35:58 +00:00
kleink
6618749e5a
Per XPG, if the file descriptor argument to mmap() refers to a file whose
...
type is not supported (neither VREG nor VCHR, or not a vnode at all), fail
with ENODEV instead of EINVAL.
1998-03-28 16:58:04 +00:00
mycroft
112daacfa3
As in UVM, automatically convert MAP_PRIVATE device mappings to MAP_SHARED.
1998-03-03 14:35:26 +00:00
fvdl
e5bc90f40c
Merge with Lite2 + local changes
1998-03-01 02:20:01 +00:00
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
christos
b82d33e84c
PR/4269: Chris Demetriou: msync is missing the MS_* flags.
...
Also change caddr_t syscall arguments to void *
1997-10-16 23:29:26 +00:00
chuck
1821ecc346
import sys_minherit() from openbsd.
1997-09-08 18:19:45 +00:00
drochner
8c0a9bab00
Don't cast 64bit (off_t) file sizes to vm_offset_t (32bit on many
...
architectures), truncate them intelligently instead.
The truncation is done centralized in vnode_pager.c.
This prevents from wrap-over effects when parts of large (>2^32 byte) files
are mmapped.
Don't allow to mmap above the numerical range of vm_offset_t.
This is considered a temporary solution until the vm system handles the
object sizes/offsets more cleanly.
1997-07-04 20:22:09 +00:00
christos
3dc7953eec
back out previous kprintf changes
1996-10-12 21:50:05 +00:00
christos
de1b2b437e
printf -> kprintf, sprintf -> ksprintf
1996-10-10 17:16:17 +00:00
christos
3cc52443b5
Fix vm_offset_t (unsigned long) and vm_size_t (unsigned long) printf arguments
...
to %lx and %ld instead of %x and %d.
1996-03-16 23:15:18 +00:00
gwr
f6925cfbf3
Replace vm_object_prefer with PMAP_PREFER.
1996-02-28 22:39:13 +00:00
christos
03b1ad4cb4
One more cleanup pass to change %x to %p for pointers
1996-02-10 00:07:59 +00:00
christos
bcabcefdcd
VM prototype changes
1996-02-05 01:53:47 +00:00
pk
801712f01a
Extend use of vm_object_prefer() to vm_allocate_with_pager().
...
Make vm_object_prefer() call MD aligner for "pageless" objects too,
so we can have more control over the virtual address to be used.
Implementation could be simpler if we by-pass the object to mapped, but
we'd loose the ability to adapt alignment to objects that were previously
mmap'ed with MAP_FIXED on.
1995-12-05 22:54:36 +00:00
mycroft
2dd293d3c3
Add hooks for COMPAT_FREEBSD, from Noriyuki Soda.
1995-10-10 01:26:36 +00:00
mycroft
245f292fed
Prefix names of system call implementation functions with `sys_'.
1995-10-07 06:25:19 +00:00
thorpej
7160dfc805
Make system calls conform to a standard prototype and bring those
...
prototypes into scope.
1995-09-19 21:57:36 +00:00
mycroft
57e6889435
Make memory map syscalls consistently use size_t.
1995-03-09 17:28:28 +00:00
cgd
94d77171f9
need compat_43_getpagesize on COMPAT_OSF1
1995-03-08 01:46:53 +00:00
mycroft
3d869b0608
Fix two off-by-one errors.
1995-01-09 17:36:48 +00:00
pk
3e4bf211c6
Use vm_object_prefer() to find a good range of virtual addresses to
...
map a memory object to.
1994-12-10 11:48:12 +00:00
gwr
1a7920257d
Make sure vm_mmap creates mappings with page-aligned file offsets.
...
Handle non-aligned file offsets in the mmap/munmap system calls.
1994-12-01 00:23:11 +00:00
cgd
aa151f86b3
change some strategic casts to (*long) from (*int).
1994-10-29 07:35:04 +00:00
cgd
6b86130410
update for new syscall args description mechanism
1994-10-20 04:22:35 +00:00
mycroft
d5fdf729f2
All of the users of munmapfd() expect to pass it
...
two args. Make it work correctly.
1994-09-16 01:57:57 +00:00
cgd
fccfa11af5
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
1994-06-29 06:39:25 +00:00
cgd
9608c5b657
clean up slightly; change RCS ID's to be minimally intrusive
1994-06-27 04:55:46 +00:00
cgd
bf43549e44
fix a thinko that kept msync from working if no size specified.
1994-06-20 00:17:28 +00:00
cgd
3495827959
new VM code, from 4.4-Lite
1994-05-23 03:11:20 +00:00
mycroft
72edd4b918
For MAP_ANON, force the file offset to 0. I can't think of any any bad side
...
effects of this, and it fixes an interesting bug.
1994-05-19 18:03:04 +00:00
cgd
ca14e4af10
stubs
1994-05-07 00:39:58 +00:00
cgd
f8dd4f370d
expand the rlimit struct, kill last vestiges of off_t bogosity.
1994-05-04 01:38:25 +00:00
cgd
f50f031448
kill syscall name aliases. no user-visible changes
1994-04-29 04:41:02 +00:00
cgd
551e92c16a
start to phase out temp. off_t syscalls
1994-04-16 23:19:06 +00:00
cgd
e937bc9bfd
convert vm system to use new queues. I'll never write code w/queues again.
1994-04-15 07:04:03 +00:00
cgd
ed740c7de8
frob arguments a little bit
1994-04-02 08:39:20 +00:00
cgd
b7e76677c6
expand uid_t/gid_t/off_t
1994-03-27 09:09:57 +00:00
chopps
b8f74df1a5
default type is MAP_FILE if none given.
1994-03-23 01:54:02 +00:00
mycroft
e879c04f57
#include vm_user.h.
1994-01-08 04:22:36 +00:00
mycroft
d66944976a
Some minor rearrangement and cleanup.
1994-01-08 03:24:19 +00:00
mycroft
4181f14213
Add some explicit return types, and make a bunch of things static.
1994-01-07 23:36:15 +00:00
cgd
c26286a5c1
bring changes down from magnum
1993-12-20 12:39:55 +00:00
mycroft
b4d3382694
Canonicalize all #includes.
1993-12-17 07:56:32 +00:00
cgd
76dbc1192b
new specfs.h and fifo.h locations
1993-11-12 05:54:12 +00:00
cgd
95e5868ee2
allow an offset to *really* be passed in for mmap's on devices.
...
From Julian Elischer.
1993-10-02 00:00:21 +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
mycroft
97cae397ee
Finish moving struct definitions outside of function declarations.
1993-07-17 15:24:33 +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
b99e3b6666
get rid of bogus protections chacking which conflicts w/guido's
...
patch...
1993-07-07 11:25:32 +00:00