OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man2 / prctl.2
index 1140f10..775a91a 100644 (file)
@@ -1,6 +1,7 @@
 .\" Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl)
 .\" and Copyright (C) 2002, 2006, 2008, 2012, 2013 Michael Kerrisk <mtk.manpages@gmail.com>
 .\" and Copyright Guillem Jover <guillem@hadrons.org>
+.\" and Copyright (C) 2014 Dave Hansen / Intel
 .\"
 .\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
@@ -47,6 +48,7 @@
 .\"                             PR_GET_TIMERSLACK
 .\" 2013-01-10 Kees Cook, document PR_SET_PTRACER
 .\" 2012-02-04 Michael kerrisk, document PR_{SET,GET}_CHILD_SUBREAPER
+.\" 2014-11-10 Dave Hansen, document PR_MPX_{EN,DIS}ABLE_MANAGEMENT
 .\"
 .\"
 .\"*******************************************************************
@@ -65,7 +67,7 @@
 .\" Updated 2007-10-12, Akihiro MOTOKI, LDP v2.66
 .\" Updated 2008-08-12, Akihiro MOTOKI, LDP v3.05
 .\"
-.TH PRCTL 2 2014\-04\-14 Linux "Linux Programmer's Manual"
+.TH PRCTL 2 2014\-12\-31 Linux "Linux Programmer's Manual"
 .SH 名前
 prctl \- プロセスの操作を行なう
 .SH 書式
@@ -175,14 +177,15 @@ ID の変更が行われた場合、「ケーパビリティ保持」フラグ
 .TP 
 \fBPR_SET_NAME\fP (Linux 2.6.9 以降)
 .\" TASK_COMM_LEN in include/linux/sched.h
-呼び出し元スレッドのプロセス名を \fI(char\ *) arg2\fP が指す場所に格納された値を使って設定する。 名前は最大で 16 バイトであり、
-それより少ないバイト数の場合はヌルで終端すべきである。 これは、 \fBpthread_setname_np\fP(3) で設定でき、
-\fBpthread_getname_np\fP(3) で取得できるのと同じ属性である。 同様に、 \fItid\fP が呼び出し元スレッドの ID の場合、
-この属性は \fI/proc/self/task/[tid]/comm\fP 経由でもアクセス可能である。
+呼び出し元スレッドのプロセス名を \fI(char\ *) arg2\fP が指す場所に格納された値を使って設定する。 名前は終端の NULL
+バイトを含めて最大で 16 バイトである (終端の NULL バイトを含めた文字列の長さが 16 バイトを超える場合、 文字列は黙って切り詰められる)。
+これは、 \fBpthread_setname_np\fP(3) で設定でき、 \fBpthread_getname_np\fP(3)
+で取得できるのと同じ属性である。 同様に、 \fItid\fP が呼び出し元スレッドの ID の場合、 この属性は
+\fI/proc/self/task/[tid]/comm\fP 経由でもアクセス可能である。
 .TP 
 \fBPR_GET_NAME\fP (Linux 2.6.11 以降)
-呼び出し元スレッドの名前を \fI(char\ *) arg2\fP が指す場所に格納して返す。 バッファは最大で 16
\83\90ã\82¤ã\83\88ã\82\92æ ¼ç´\8dã\81§ã\81\8dã\82\8bã\82\88ã\81\86ã\81«ã\81\99ã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\82 è¿\94ã\81\95ã\82\8cã\82\8bæ\96\87å­\97å\88\97ã\81¯ã\80\81é\95·ã\81\95ã\81\8c 16 ã\83\90ã\82¤ã\83\88ã\82\88ã\82\8aç\9f­ã\81\84å ´å\90\88ã\81¯ã\83\8cã\83«çµ\82端ã\81\95ã\82\8cã\82\8bã\80\82
\91¼ã\81³å\87ºã\81\97å\85\83ã\82¹ã\83¬ã\83\83ã\83\89ã\81®å\90\8då\89\8dã\82\92 \fI(char\ *) arg2\fP ã\81\8cæ\8c\87ã\81\99å ´æ\89\80ã\81«æ ¼ç´\8dã\81\97ã\81¦è¿\94ã\81\99ã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81¯æ\9c\80大ã\81§ 16
+バイトを格納できるようにすべきである。 返される文字列はヌル終端される。
 .TP 
 \fBPR_SET_NO_NEW_PRIVS\fP (Linux 3.5 以降)
 Set the calling process's \fIno_new_privs\fP bit to the value in \fIarg2\fP.  With
@@ -230,9 +233,11 @@ effectively disabled for the calling process.
 .\" See http://thread.gmane.org/gmane.linux.kernel/542632
 .\" [PATCH 0 of 2] seccomp updates
 .\" andrea@cpushare.com
-呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 seccomp
-モードは利用できるシステムコールを制限するものである。 seccomp モードは \fIarg2\fP で指定できる (seccomp 定数は
-\fI<linux/seccomp.h>\fP で定義されている)。
+呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 最近の \fBseccomp\fP(2) システムコールは
+\fBPR_SET_SECCOMP\fP の上位互換の機能を提供する。
+
+seccomp モードは \fIarg2\fP で指定できる (seccomp 定数は \fI<linux/seccomp.h>\fP
+で定義されている)。
 
 \fIarg2\fP を \fBSECCOMP_MODE_STRICT\fP に設定すると、 そのスレッドが呼び出しを許可されるシステムコールは
 \fBread\fP(2), \fBwrite\fP(2), \fB_exit\fP(2), \fBsigreturn\fP(2) だけになる。
@@ -254,10 +259,13 @@ sock_fprog\fP へのポインターである。 これは任意のシステム
 .TP 
 \fBPR_GET_SECCOMP\fP (Linux 2.6.23 以降)
 呼び出したスレッドの secure computing モードを (関数の結果として) 返す。 呼び出したスレッドが secure computing
-モードでなかった場合、 この操作は 0 を返す。 呼び出したスレッドが secure computing モードの場合、 \fBprctl\fP()
-を呼び出すとシグナル \fBSIGKILL\fP がそのプロセスに送信される。 呼び出したスレッドがフィルタモードで、 このシステムコールが seccomp
-フィルタにより許可されている場合、 2 を返す。 この操作が利用できるのは、カーネルが \fBCONFIG_SECCOMP\fP
-を有効にして作成されている場合だけである。
+モードでなかった場合、 この操作は 0 を返し、 呼び出したスレッドが strict secure computing モードの場合、
+\fBprctl\fP()  を呼び出すとシグナル \fBSIGKILL\fP がそのプロセスに送信される。 呼び出したスレッドがフィルタモードで、
+このシステムコールが seccomp フィルタにより許可されている場合、 2 を返し、 そうでない場合プロセスは \fBSIGKILL\fP シグナルで
+kill されづ。 この操作が利用できるのは、カーネルが \fBCONFIG_SECCOMP\fP を有効にして作成されている場合だけである。
+
+Linux 3.8 以降では、 \fI/proc/[pid]/status\fP の \fIseccomp\fP フィールドからも同じ情報を取得できる。
+この方法の場合はプロセスが kill される危険はない。 \fBproc\fP(5) を参照。
 .TP 
 \fBPR_SET_SECUREBITS\fP (Linux 2.6.26 以降)
 呼び出したスレッドの "securebits" フラグを \fIarg2\fP で渡された値に設定する。 \fBcapabilities\fP(7)  参照。
@@ -352,21 +360,21 @@ microseconds).  The timer slack values are preserved across \fBexecve\fP(2).
 以前は \fBPR_TASK_PERF_COUNTERS_ENABLE\fP と呼ばれていた。 Linux 2.6.32 で名前が変更された。
 .TP 
 \fBPR_SET_TSC\fP (Linux 2.6.26 以降, x86 のみ)
\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\83»ã\82«ã\82¦ã\83³ã\82¿を読み出せるかを決定する フラグの状態を設定する。 読み出しを許可する場合は \fIarg2\fP に
-\fBPR_TSC_ENABLE\fP ã\82\92ã\80\81ã\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\83»ã\82«ã\82¦ã\83³ã\82¿を読み出そうとした際に \fBSIGSEGV\fP を発生させる場合には
\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\82«ã\82¦ã\83³ã\82¿ã\83¼を読み出せるかを決定する フラグの状態を設定する。 読み出しを許可する場合は \fIarg2\fP に
+\fBPR_TSC_ENABLE\fP ã\82\92ã\80\81ã\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\82«ã\82¦ã\83³ã\82¿ã\83¼を読み出そうとした際に \fBSIGSEGV\fP を発生させる場合には
 \fBPR_TSC_SIGSEGV\fP を渡す。
 .TP 
 \fBPR_GET_TSC\fP (Linux 2.6.26 以降, x86 のみ)
\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\83»ã\82«ã\82¦ã\83³ã\82¿を読み出せるかを決定する フラグの状態を \fI(int\ *) arg2\fP が指す場所に格納して返す。
\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82¿ã\82¤ã\83 ã\82¹ã\82¿ã\83³ã\83\97ã\82«ã\82¦ã\83³ã\82¿ã\83¼を読み出せるかを決定する フラグの状態を \fI(int\ *) arg2\fP が指す場所に格納して返す。
 .TP 
 \fBPR_SET_UNALIGN\fP
 (ia64 では Linux 2.3.48 以降; parisc では Linux 2.6.15 以降; PowerPC では Linux 2.6.18
-以降; Alpha では Linux 2.6.22 以降; これらのアーキテクチャのみ)  unaligned アクセス制御ビットを \fIarg2\fP
-で指定された値に設定する。 指定できる値は \fBPR_UNALIGN_NOPRINT\fP (unaligned なユーザアクセスを黙って 修正する) か
-\fBPR_UNALIGN_SIGBUS\fP (unaligned なユーザアクセスがあった場合 \fBSIGBUS\fP を生成する) である。
+以é\99\8d; Alpha ã\81§ã\81¯ã\80\80Linux 2.6.22 ä»¥é\99\8d; ã\81\93ã\82\8cã\82\89ã\81®ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81®ã\81¿)  unaligned ã\82¢ã\82¯ã\82»ã\82¹å\88¶å¾¡ã\83\93ã\83\83ã\83\88ã\82\92 \fIarg2\fP
\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få\80¤ã\81«è¨­å®\9aã\81\99ã\82\8bã\80\82 æ\8c\87å®\9aã\81§ã\81\8dã\82\8bå\80¤ã\81¯ \fBPR_UNALIGN_NOPRINT\fP (unaligned ã\81ªã\83¦ã\83¼ã\82¶ã\83¼ã\82¢ã\82¯ã\82»ã\82¹ã\82\92é»\99ã\81£ã\81¦ ä¿®æ­£ã\81\99ã\82\8b) ã\81\8b
+\fBPR_UNALIGN_SIGBUS\fP (unaligned ã\81ªã\83¦ã\83¼ã\82¶ã\83¼ã\82¢ã\82¯ã\82»ã\82¹ã\81\8cã\81\82ã\81£ã\81\9få ´å\90\88 \fBSIGBUS\fP ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8b) ã\81§ã\81\82ã\82\8bã\80\82
 .TP 
 \fBPR_GET_UNALIGN\fP
-(バージョンとアーキテクチャの情報は \fBPR_SET_UNALIGN\fP 参照)  unaligned アクセス制御ビットの値を \fI(int\ *)
+(ã\83\90ã\83¼ã\82¸ã\83§ã\83³ã\81¨ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81®æ\83\85å ±ã\81¯ \fBPR_SET_UNALIGN\fP å\8f\82ç\85§)  unaligned ã\82¢ã\82¯ã\82»ã\82¹å\88¶å¾¡ã\83\93ã\83\83ã\83\88ã\81®å\80¤ã\82\92 \fI(int\ *)
 arg2\fP が指す場所に格納して返す。
 .TP 
 \fBPR_MCE_KILL\fP (Linux 2.6.32 以降)
@@ -391,31 +399,31 @@ Return the current per\-process machine check kill policy.  All unused
 .TP 
 \fBPR_SET_MM\fP (Linux 3.3 以降)
 .\" commit 028ee4be34a09a6d48bdf30ab991ae933a7bc036
\91¼ã\81³å\87ºã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82«ã\83¼ã\83\8dã\83«ã\83¡ã\83¢ã\83ªã\83\9eã\83\83ã\83\97ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿のフィールドを変更する。 これらのフィールドは通常カーネルと動的リンカーにより設定される
\91¼ã\81³å\87ºã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81®ã\82«ã\83¼ã\83\8dã\83«ã\83¡ã\83¢ã\83ªã\83¼ã\83\9eã\83\83ã\83\97ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼のフィールドを変更する。 これらのフィールドは通常カーネルと動的リンカーにより設定される
 (詳しい情報は \fBld.so\fP を参照)。 通常のアプリケーションはこの機能を利用すべきではない。 しかしながら、自分を書き換えるプログラムなど、
-プログラムが自分自身のメモリマップを変更するのが有用な場面もある。 この機能はカーネルが \fBCONFIG_CHECKPOINT_RESTORE\fP
\83\97ã\83­ã\82°ã\83©ã\83 ã\81\8cè\87ªå\88\86è\87ªèº«ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\83\9eã\83\83ã\83\97ã\82\92å¤\89æ\9b´ã\81\99ã\82\8bã\81®ã\81\8cæ\9c\89ç\94¨ã\81ªå ´é\9d¢ã\82\82ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®æ©\9fè\83½ã\81¯ã\82«ã\83¼ã\83\8dã\83«ã\81\8c \fBCONFIG_CHECKPOINT_RESTORE\fP
 オプションを有効にして作成されている場合にのみ利用できる。 呼び出したプロセスは \fBCAP_SYS_RESOURCE\fP
 ケーパビリティを持っていなければならない。 \fIarg2\fP の値には以下のいずれかを指定し、 \fIarg3\fP でそのオプションの新しい値を指定する。
 .RS
 .TP 
 \fBPR_SET_MM_START_CODE\fP
-プログラムテキストを実行できるアドレスの上限を設定する。 対応するメモリ領域は読み出し可能で実行可能でなければならないが、
+プログラムテキストを実行できるアドレスの上限を設定する。 対応するメモリ領域は読み出し可能で実行可能でなければならないが、
 書き込み可能だったり共有可能だったりしてはならない (詳しい情報は \fBmprotect\fP(2) と \fBmmap\fP(2) 参照)。
 .TP 
 \fBPR_SET_MM_END_CODE\fP
-プログラムテキストを実行できるアドレスの下限を設定する。 対応するメモリ領域は読み出し可能で実行可能でなければならないが、
+プログラムテキストを実行できるアドレスの下限を設定する。 対応するメモリ領域は読み出し可能で実行可能でなければならないが、
 書き込み可能だったり共有可能だったりしてはならない。
 .TP 
 \fBPR_SET_MM_START_DATA\fP
-初期化済データや未初期化 (bss) データを配置する領域のアドレス上限を指定する。 対応するメモリ領域は読み書き可能でなければならないが、
+初期化済データや未初期化 (bss) データを配置する領域のアドレス上限を指定する。 対応するメモリ領域は読み書き可能でなければならないが、
 実行可能だったり共有可能だったりしてはならない。
 .TP 
 \fBPR_SET_MM_END_DATA\fP
-初期化済データや未初期化 (bss) データを配置する領域のアドレス下限を指定する。 対応するメモリ領域は読み書き可能でなければならないが、
+初期化済データや未初期化 (bss) データを配置する領域のアドレス下限を指定する。 対応するメモリ領域は読み書き可能でなければならないが、
 実行可能だったり共有可能だったりしてはならない。
 .TP 
 \fBPR_SET_MM_START_STACK\fP
-スタックの開始アドレスを設定する。 対応するメモリ領域は読み書き可能でなければならない。
+スタックの開始アドレスを設定する。 対応するメモリ領域は読み書き可能でなければならない。
 .TP 
 \fBPR_SET_MM_START_BRK\fP
 \fBbrk\fP(2) コールで拡張できるプログラムのヒープ領域のアドレス上限を設定する。
@@ -443,7 +451,7 @@ Return the current per\-process machine check kill policy.  All unused
 .IP
 \fBPR_SET_MM_ARG_START\fP, \fBPR_SET_MM_ARG_END\fP, \fBPR_SET_MM_ENV_START\fP,
 \fBPR_SET_MM_ENV_END\fP で指定されるアドレスはプロセスのスタック領域に属している必要がある。
-したがって、これらのメモリ領域は読み書き可能でなければならない。 また、 (カーネル設定によっては) \fBMAP_GROWSDOWN\fP
+したがって、これらのメモリ領域は読み書き可能でなければならない。 また、 (カーネル設定によっては) \fBMAP_GROWSDOWN\fP
 属性がセットされていなければならない (\fBmmap\fP(2) 参照)。
 .TP 
 \fBPR_SET_MM_AUXV\fP
@@ -453,16 +461,63 @@ Return the current per\-process machine check kill policy.  All unused
 \fBPR_SET_MM_EXE_FILE\fP
 .\" commit b32dfe377102ce668775f8b6b1461f7ad428f8b6
 \fI/proc/pid/exe\fP シンボリックリンクを \fIarg3\fP
-å¼\95ã\81\8dæ\95°ã\81§æ¸¡ã\81\95ã\82\8cã\81\9fæ\96°ã\81\97ã\81\84å®\9fè¡\8cå\8f¯è\83½ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\82\92æ\8c\87ã\81\99ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81§ç½®ã\81\8dæ\8f\9bã\81\88ã\82\8bã\80\82 ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿は通常の \fBopen\fP(2)
+å¼\95ã\81\8dæ\95°ã\81§æ¸¡ã\81\95ã\82\8cã\81\9fæ\96°ã\81\97ã\81\84å®\9fè¡\8cå\8f¯è\83½ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92æ\8c\87ã\81\99ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81§ç½®ã\81\8dæ\8f\9bã\81\88ã\82\8bã\80\82 ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼は通常の \fBopen\fP(2)
 コールで取得すべきである。
 .IP
-シンボリックリンクを変更するには、 既存の実行可能なメモリ領域のすべてをアンマップする必要がある。これにはカーネル自身が作成した領域も含まれる
-(例えば、カーネルは通常 ELF \fI.text\fP セクションに少なくとも一つの実行可能なメモリ領域を作成する)。
+シンボリックリンクを変更するには、 既存の実行可能なメモリ領域のすべてをアンマップする必要がある。これにはカーネル自身が作成した領域も含まれる
+(例えば、カーネルは通常 ELF \fI.text\fP セクションに少なくとも一つの実行可能なメモリ領域を作成する)。
 .IP
 二つ目の制限は、このような変更はプロセスの生存期間で一度だけ行うことができるという点である。 一度変更を行った後で変更を行おうとすると拒否される。
 この動作は、 システム管理者が、 システムで動作するすべてのプロセスが行う、 普通でないシンボリックリンクの変更を監視するのを楽にする。
 .RE
+.TP 
+\fBPR_MPX_ENABLE_MANAGEMENT\fP, \fBPR_MPX_DISABLE_MANAGEMENT\fP (Linux 3.19 以降) 
+.\" commit fe3d197f84319d3bce379a9c0dc17b1f48ad358c
+.\" See also http://lwn.net/Articles/582712/
+.\" See also https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler
+Enable or disable kernel management of Memory Protection eXtensions (MPX)
+bounds tables.
+
+MPX is a hardware\-assisted mechanism for performing bounds checking on
+pointers.  It consists of a set of registers storing bounds information and
+a set of special instruction prefixes that tell the CPU on which
+instructions it should do bounds enforcement.  There is a limited number of
+these registers and when there are more pointers than registers, their
+contents must be "spilled" into a set of tables.  These tables are called
+"bounds tables" and the MPX \fBprctl\fP()  operations control whether the
+kernel manages their allocation and freeing.
+
+When management is enabled, the kernel will take over allocation and freeing
+of the bounds tables.  It does this by trapping the #BR exceptions that
+result at first use of missing bounds tables and instead of delivering the
+exception to user space, it allocates the table and populates the bounds
+directory with the location of the new table.  For freeing, the kernel
+checks to see if bounds tables are present for memory which is not
+allocated, and frees them if so.
+
+Before enabling MPX management using \fBPR_MPX_ENABLE_MANAGEMENT\fP, the
+application must first have allocated a user\-space buffer for the bounds
+directory and placed the location of that directory in the \fIbndcfgu\fP
+register.
+
+These calls will fail if the CPU or kernel does not support MPX.  Kernel
+support for MPX is enabled via the \fBCONFIG_X86_INTEL_MPX\fP configuration
+option.  You can check whether the CPU supports MPX by looking for the 'mpx'
+CPUID bit, like with the following command:
+
+  cat /proc/cpuinfo | grep ' mpx '
+
+A thread may not switch in or out of long (64\-bit) mode while MPX is
+enabled.
+
+All threads in a process are affected by these calls.
+
+The child of a \fBfork\fP(2)  inherits the state of MPX management.  During
+\fBexecve\fP(2), MPX management is reset to a state as if
+\fBPR_MPX_DISABLE_MANAGEMENT\fP had been called.
+
 .\"
+Intel MPX についての詳しい情報は、カーネルソースファイル \fIDocumentation/x86/intel_mpx.txt\fP を参照。
 .SH 返り値
 成功すると、 \fBPR_GET_DUMPABLE\fP, \fBPR_GET_KEEPCAPS\fP, \fBPR_GET_NO_NEW_PRIVS\fP,
 \fBPR_GET_THP_DISABLE\fP, \fBPR_CAPBSET_READ\fP, \fBPR_GET_TIMING\fP,
@@ -474,6 +529,10 @@ Return the current per\-process machine check kill policy.  All unused
 \fBEFAULT\fP
 \fIarg2\fP が不正なアドレスである。
 .TP 
+\fBEFAULT\fP
+\fIoption\fP が \fBPR_SET_SECCOMP\fP で、 \fIarg2\fP が \fBSECCOMP_MODE_FILTER\fP で、 カーネルが
+\fBCONFIG_SECCOMP_FILTER\fP を有効にして作成されており、 \fIarg3\fP が無効なアドレスである。
+.TP 
 \fBEINVAL\fP
 \fIoption\fP の値が理解できない。
 .TP 
@@ -489,6 +548,10 @@ Return the current per\-process machine check kill policy.  All unused
 を有効にして作成されていなかった。
 .TP 
 \fBEINVAL\fP
+\fIoption\fP が \fBPR_SET_SECCOMP\fP で、 \fIarg2\fP が \fBSECCOMP_MODE_FILTER\fP で、 カーネルが
+\fBCONFIG_SECCOMP\fP を有効にして作成されていなかった。
+.TP 
+\fBEINVAL\fP
 \fIoption\fP が \fBPR_SET_MM\fP で、以下のいずれかが真である。
 .RS
 .IP * 3
@@ -499,7 +562,7 @@ Return the current per\-process machine check kill policy.  All unused
 .IP *
 \fIarg2\fP が \fBPR_SET_MM_START_CODE\fP, \fBPR_SET_MM_END_CODE\fP,
 \fBPR_SET_MM_START_DATA\fP, \fBPR_SET_MM_END_DATA\fP, \fBPR_SET_MM_START_STACK\fP
-のどれかで、対応するメモリ領域のアクセス許可が要件を満たしていない。
+のどれかで、対応するメモリ領域のアクセス許可が要件を満たしていない。
 .IP *
 \fIarg2\fP が \fBPR_SET_MM_START_BRK\fP か \fBPR_SET_MM_BRK\fP で、 \fIarg3\fP
 データセグメントの末尾と同じかそれより前か、 \fIarg3\fP に \fBRLIMIT_DATA\fP リソースリミットを超えてしまうような値が指定されている。
@@ -566,12 +629,16 @@ PID のいずれでもない。
 .\" .BR PR_SET_SECCOMP ,
 .\" and secure computing mode is already 1.
 \fIoption\fP が \fBPR_SET_MM\fP で、 \fIarg3\fP が \fBPR_SET_MM_EXE_FILE\fP で、 \fIarg4\fP
-で渡されたファイルディスクリプタが有効ではない。
+で渡されたファイルディスクリプターが有効ではない。
+.TP 
+\fBENXIO\fP
+\fIoption\fP が \fBPR_MPX_ENABLE_MANAGEMENT\fP か \fBPR_MPX_DISABLE_MANAGEMENT\fP で、
+カーネルか CPU が MPX の管理をサポートしていない。 カーネルとプロセスが MPX をサポートしているか確認すること。
 .SH バージョン
 .\" The library interface was added in glibc 2.0.6
 \fBprctl\fP()  システムコールは Linux 2.1.57 で導入された。
 .SH 準拠
\81\93ã\81®ã\82³ã\83¼ã\83«ã\81¯ Linux ç\89¹æ\9c\89ã\81§ã\81\82ã\82\8bã\80\82 IRIX ã\81«ã\81¯ \fBprctl\fP()  ã\82·ã\82¹ã\83\86ã\83 ã\83»ã\82³ã\83¼ã\83«ã\81\8cã\81\82ã\82\8bã\81\8c (MIPS ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£において
\81\93ã\81®ã\82³ã\83¼ã\83«ã\81¯ Linux ç\89¹æ\9c\89ã\81§ã\81\82ã\82\8bã\80\82 IRIX ã\81«ã\81¯ \fBprctl\fP()  ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81\8cã\81\82ã\82\8bã\81\8c (MIPS ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼において
 irix_prctl として Linux 2.1.44 で同様に導入された)、 そのプロトタイプは
 .sp
 \fBptrdiff_t prctl(int \fP\fIoption\fP\fB, int \fP\fIarg2\fP\fB, int \fP\fIarg3\fP\fB);\fP
@@ -581,5 +648,5 @@ irix_prctl として Linux 2.1.44 で同様に導入された)、 そのプロ
 .SH 関連項目
 \fBsignal\fP(2), \fBcore\fP(5)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.68 の一部である。
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部である。
 プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。