/share/man/man9/vm_map_protect.9

https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 93 lines · 93 code · 0 blank · 0 comment · 0 complexity · 512b49124943b8f11c954b548e1880df MD5 · raw file

  1. .\"
  2. .\" Copyright (c) 2003 Bruce M Simpson <bms@spc.org>
  3. .\" All rights reserved.
  4. .\"
  5. .\" Redistribution and use in source and binary forms, with or without
  6. .\" modification, are permitted provided that the following conditions
  7. .\" are met:
  8. .\" 1. Redistributions of source code must retain the above copyright
  9. .\" notice, this list of conditions and the following disclaimer.
  10. .\" 2. Redistributions in binary form must reproduce the above copyright
  11. .\" notice, this list of conditions and the following disclaimer in the
  12. .\" documentation and/or other materials provided with the distribution.
  13. .\"
  14. .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  15. .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  16. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  17. .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  18. .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  19. .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  20. .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  21. .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  22. .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  23. .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  24. .\" SUCH DAMAGE.
  25. .\"
  26. .\" $FreeBSD$
  27. .\"
  28. .Dd July 19, 2003
  29. .Dt VM_MAP_PROTECT 9
  30. .Os
  31. .Sh NAME
  32. .Nm vm_map_protect
  33. .Nd apply protection bits to a virtual memory region
  34. .Sh SYNOPSIS
  35. .In sys/param.h
  36. .In vm/vm.h
  37. .In vm/vm_map.h
  38. .Ft int
  39. .Fo vm_map_protect
  40. .Fa "vm_map_t map" "vm_offset_t start" "vm_offset_t end" "vm_prot_t new_prot"
  41. .Fa "boolean_t set_max"
  42. .Fc
  43. .Sh DESCRIPTION
  44. The
  45. .Fn vm_map_protect
  46. function sets the protection bits of the address region bounded by
  47. .Fa start
  48. and
  49. .Fa end
  50. within the map
  51. .Fa map
  52. to
  53. .Fa new_prot .
  54. .Pp
  55. If
  56. .Fa set_max
  57. is TRUE,
  58. .Fa new_prot
  59. is treated as the new
  60. .Va max_protection
  61. setting for each underlying entry.
  62. Otherwise, only the
  63. .Va protection
  64. field is affected.
  65. .Pp
  66. The range MUST be contiguous, and MUST NOT contain sub-maps.
  67. .Sh IMPLEMENTATION NOTES
  68. The function acquires a lock on the
  69. .Fa map
  70. for the duration, by calling
  71. .Xr vm_map_lock 9 .
  72. .Sh RETURN VALUES
  73. The
  74. .Fn vm_map_protect
  75. function returns
  76. .Dv KERN_SUCCESS
  77. if the protection bits could be set successfully.
  78. .Pp
  79. If a sub-map entry was encountered in the range,
  80. .Dv KERN_INVALID_ARGUMENT
  81. is returned.
  82. If the value of
  83. .Fa new_prot
  84. would exceed
  85. .Va max_protection
  86. for an entry within the range,
  87. .Dv KERN_PROTECTION_FAILURE
  88. is returned.
  89. .Sh SEE ALSO
  90. .Xr vm_map 9
  91. .Sh AUTHORS
  92. This manual page was written by
  93. .An Bruce M Simpson Aq bms@spc.org .