Module Name: src Committed By: riastradh Date: Tue May 20 15:23:12 UTC 2014
Modified Files: src/share/man/man9: uvm_map.9 Log Message: Split large paragraph about uobj/uoffset into a bulleted list. Mention that uvm_map doesn't add a reference to uobj. Evidently this information is important, since I just wasted countless hours over the past months investigating kernel memory corruption arising from a failure to notice this fact. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/share/man/man9/uvm_map.9 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/man/man9/uvm_map.9 diff -u src/share/man/man9/uvm_map.9:1.2 src/share/man/man9/uvm_map.9:1.3 --- src/share/man/man9/uvm_map.9:1.2 Fri Jun 3 18:43:38 2011 +++ src/share/man/man9/uvm_map.9 Tue May 20 15:23:12 2014 @@ -1,4 +1,4 @@ -.\" $NetBSD: uvm_map.9,v 1.2 2011/06/03 18:43:38 rmind Exp $ +.\" $NetBSD: uvm_map.9,v 1.3 2014/05/20 15:23:12 riastradh Exp $ .\" .\" Copyright (c) 1998 Matthew R. Green .\" All rights reserved. @@ -81,11 +81,14 @@ The new mapping has size .Fa size , which must be a multiple of .Dv PAGE_SIZE . +.Pp The .Fa uobj and .Fa uoffset -arguments can have four meanings. +arguments can have four meanings: +.Bl -bullet -offset indent -compact +.It When .Fa uobj is @@ -98,10 +101,16 @@ is does not use the machine-dependent .Dv PMAP_PREFER function. -If +.It +When +.Fa uobj +is +.Dv NULL +and .Fa uoffset is any other value, it is used as the hint to .Dv PMAP_PREFER . +.It When .Fa uobj is not @@ -113,11 +122,22 @@ is .Fn uvm_map finds the offset based upon the virtual address, passed as .Fa startp . -If +.It +When +.Fa uobj +is not +.Dv NULL +and .Fa uoffset is any other value, then a regular mapping is performed at this offset. The start address of the map will be returned in .Fa startp . +.El +Note that +.Fn uvm_map +does not add a reference to +.Fa uobj ; +it is the caller's responsibility to do so. .Pp .Fa align specifies alignment of mapping unless