Commit Graph

57 Commits

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