MPROTECT(2) | FreeBSD System Calls Manual | MPROTECT(2) |
名称
mprotect — ページの保護を制御するライブラリ
Standard C Library (libc, -lc)解説
mprotect() システムコールは、保護 prot を持つように指定されたページを変更します。すべての実装は、ページ単位で保護を保証するとは限りません。保護の変更の細かさは、すべてのリージョンと同じくらいの大きさかもしれません。リージョンは、 struct vm_map_entry の始まりと終りのアドレスによって定義される仮想アドレス空間です。現在、これらの保護ビットは、次のものをともに論理和 (OR) して組み合わせることができることが知られています:
- PROT_NONE
- すべてのパーミッションがありません。
- PROT_READ
- ページを読み込むことができます。
- PROT_WRITE
- ページを書き込むことができます。
- PROT_EXEC
- ページを実行することができます。
戻り値
The mprotect() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.エラー
mprotect() システムコールは、次の場合に失敗します:- [ EINVAL]
- addr と len 引数によって指定された仮想アドレス範囲が有効ではありません。
- [ EACCES]
- 呼び出しているプロセスが prot 引数によって指定された値に保護を変更することを許可されていませんでした。
歴史
mprotect() システムコールは、 4.4BSD ではじめて登場しました。June 9, 1993 | FreeBSD |