• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修訂c7f3d3ac02d2ed49ccac9873709c1b1b3cc84a40 (tree)
時間2014-04-30 01:17:53
作者Akihiro MOTOKI <amotoki@gmai...>
CommiterAkihiro MOTOKI

Log Message

(split) LDP: Snapshot prctl.2

Change Summary

差異

--- a/draft/man2/prctl.2
+++ b/draft/man2/prctl.2
@@ -230,9 +230,9 @@ effectively disabled for the calling process.
230230 .\" See http://thread.gmane.org/gmane.linux.kernel/542632
231231 .\" [PATCH 0 of 2] seccomp updates
232232 .\" andrea@cpushare.com
233-Set the secure computing (seccomp) mode for the calling thread, to limit the
234-available system calls. The seccomp mode is selected via \fIarg2\fP. (The
235-seccomp constants are defined in \fI<linux/seccomp.h>\fP.)
233+呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 seccomp
234+モードは利用できるシステムコールを制限するものである。 seccomp モードは \fIarg2\fP で指定できる (seccomp 定数は
235+\fI<linux/seccomp.h>\fP で定義されている)。
236236
237237 \fIarg2\fP を \fBSECCOMP_MODE_STRICT\fP に設定すると、 そのスレッドが呼び出しを許可されるシステムコールは
238238 \fBread\fP(2), \fBwrite\fP(2), \fB_exit\fP(2), \fBsigreturn\fP(2) だけになる。
@@ -240,21 +240,17 @@ seccomp constants are defined in \fI<linux/seccomp.h>\fP.)
240240 信頼できないバイトコードを実行する必要がある大量の演算を行うアプリケーションにおいて、 strict secure computing モードは役立つ。
241241 この操作は利用できるのは、 カーネルが \fBCONFIG_SECCOMP\fP を有効にして作成されている場合だけである。
242242
243-With \fIarg2\fP set to \fBSECCOMP_MODE_FILTER\fP (since Linux 3.5) the system
244-calls allowed are defined by a pointer to a Berkeley Packet Filter passed in
245-\fIarg3\fP. This argument is a pointer to \fIstruct sock_fprog\fP; it can be
246-designed to filter arbitrary system calls and system call arguments. This
247-mode is available only if the kernel is configured with
248-\fBCONFIG_SECCOMP_FILTER\fP enabled.
243+\fIarg2\fP を \fBSECCOMP_MODE_FILTER\fP (Linux 3.5 以降) に設定すると、 許可されるシステムコールは
244+\fIarg3\fP で渡された Berkeley Packet Filter へのポインターで定義される。 この引き数は \fIstruct
245+sock_fprog\fP へのポインターである。 これは任意のシステムコールやシステムコール引き数をフィルタリングするために設計された。
246+このモードはカーネルで \fBCONFIG_SECCOMP_FILTER\fP が有効になっている場合にのみ利用可能である。
249247
250-If \fBSECCOMP_MODE_FILTER\fP filters permit \fBfork\fP(2), then the seccomp mode
251-is inherited by children created by \fBfork\fP(2); if \fBexecve\fP(2) is
252-permitted, then the seccomp mode is preserved across \fBexecve\fP(2). If the
253-filters permit \fBprctl\fP() calls, then additional filters can be added; they
254-are run in order until the first non\-allow result is seen.
248+\fBSECCOMP_MODE_FILTER\fP フィルターで \fBfork\fP(2) が許可されている場合、 seccomp モードは \fBfork\fP(2)
249+で作成された子プロセスに継承される。 \fBexecve\fP(2) が許可されている場合、 seccomp モードは \fBexecve\fP(2)
250+の前後で維持される。 フィルターで \fBprctl\fP() コールが許可されている場合、 追加でフィルターが定義され、
251+これらのフィルターは許可されないものが見つかるまで指定された順序で実行される。
255252
256-For further information, see the kernel source file
257-\fIDocumentation/prctl/seccomp_filter.txt\fP.
253+詳しい情報は、カーネルソースファイル \fIDocumentation/prctl/seccomp_filter.txt\fP を参照。
258254 .TP
259255 \fBPR_GET_SECCOMP\fP (Linux 2.6.23 以降)
260256 呼び出したスレッドの secure computing モードを (関数の結果として) 返す。 呼び出したスレッドが secure computing
@@ -271,13 +267,11 @@ For further information, see the kernel source file
271267 .TP
272268 \fBPR_SET_THP_DISABLE\fP (Linux 3.15 以降)
273269 .\" commit a0715cc22601e8830ace98366c0c2bd8da52af52
274-Set the state of the "THP disable" flag for the calling thread. If \fIarg2\fP
275-has a nonzero value, the flag is set, otherwise it is cleared. Setting this
276-flag provides a method for disabling transparent huge pages for jobs where
277-the code cannot be modified, and using a malloc hook with \fBmadvise\fP(2) is
278-not an option (i.e., statically allocated data). The setting of the "THP
279-disable" flag is inherited by a child created via \fBfork\fP(2) and is
280-preserved across \fBexecve\fP(2).
270+呼び出したスレッドの "THP disable" (THP 無効) フラグの状態を設定する。 \fIarg2\fP が 0
271+以外の場合、フラグは有効になり、そうでない場合はクリーンされる。 このフラグを設定する方法により、 コードを変更できなかったり
272+\fBmadvise\fP(2) の malloc hook をが有効ではないジョブ (この方法は静的に割り当てられたデータには有効ではない)に対して、
273+transparent huge pages を無効にする手段が提供される。 "THP disable" フラグの設定は \fBfork\fP(2)
274+で作成された子プロセスに継承され、 \fBexecve\fP の前後で維持される。
281275 .TP
282276 \fBPR_GET_THP_DISABLE\fP (Linux 3.15 以降)
283277 呼び出し元スレッドの "THP disable" フラグの現在の設定を (関数の結果として) 返す。フラグがセットされている場合は 1
@@ -285,10 +279,9 @@ preserved across \fBexecve\fP(2).
285279 .TP
286280 \fBPR_GET_TID_ADDRESS\fP (Linux 3.5 以降)
287281 .\" commit 300f786b2683f8bb1ec0afb6e1851183a479c86d
288-Retrieve the \fIclear_child_tid\fP address set by \fBset_tid_address\fP(2) and
289-the \fBclone\fP(2) \fBCLONE_CHILD_CLEARTID\fP flag, in the location pointed to by
290-\fI(int\ **)\ arg2\fP. This feature is available only if the kernel is built
291-with the \fBCONFIG_CHECKPOINT_RESTORE\fP option enabled.
282+\fBset_tid_address\fP(2) や \fBclone\fP(2) \fBCLONE_CHILD_CLEARTID\fP フラグで設定された
283+\fIclear_child_tid\fP を取得し、 \fI(int\ **)\ arg2\fP が指す場所に格納して返す。 この機能はカーネルが
284+\fBCONFIG_CHECKPOINT_RESTORE\fP オプションを有効にして作成されている場合にのみ利用できる。
292285 .TP
293286 \fBPR_SET_TIMERSLACK\fP (Linux 2.6.28 以降)
294287 .\" See https://lwn.net/Articles/369549/
@@ -398,15 +391,11 @@ Return the current per\-process machine check kill policy. All unused
398391 .TP
399392 \fBPR_SET_MM\fP (Linux 3.3 以降)
400393 .\" commit 028ee4be34a09a6d48bdf30ab991ae933a7bc036
401-Modify certain kernel memory map descriptor fields of the calling process.
402-Usually these fields are set by the kernel and dynamic loader (see
403-\fBld.so\fP(8) for more information) and a regular application should not use
404-this feature. However, there are cases, such as self\-modifying programs,
405-where a program might find it useful to change its own memory map. This
406-feature is available only if the kernel is built with the
407-\fBCONFIG_CHECKPOINT_RESTORE\fP option enabled. The calling process must have
408-the \fBCAP_SYS_RESOURCE\fP capability. The value in \fIarg2\fP is one of the
409-options below, while \fIarg3\fP provides a new value for the option.
394+呼び出したプロセスのカーネルメモリマップディスクリプタのフィールドを変更する。 これらのフィールドは通常カーネルと動的リンカーにより設定される
395+(詳しい情報は \fBld.so\fP を参照)。 通常のアプリケーションはこの機能を利用すべきではない。 しかしながら、自分を書き換えるプログラムなど、
396+プログラムが自分自身のメモリマップを変更するのが有用な場面もある。 この機能はカーネルが \fBCONFIG_CHECKPOINT_RESTORE\fP
397+オプションを有効にして作成されている場合にのみ利用できる。 呼び出したプロセスは \fBCAP_SYS_RESOURCE\fP
398+ケーパビリティを持っていなければならない。 \fIarg2\fP の値には以下のいずれかを指定し、 \fIarg3\fP でそのオプションの新しい値を指定する。
410399 .RS
411400 .TP
412401 \fBPR_SET_MM_START_CODE\fP
@@ -429,15 +418,13 @@ options below, while \fIarg3\fP provides a new value for the option.
429418 スタックの開始アドレスを設定する。 対応するメモリ領域は読み書き可能でなければならない。
430419 .TP
431420 \fBPR_SET_MM_START_BRK\fP
432-Set the address above which the program heap can be expanded with \fBbrk\fP(2)
433-call. The address must be greater than the ending address of the current
434-program data segment. In addition, the combined size of the resulting heap
435-and the size of the data segment can't exceed the \fBRLIMIT_DATA\fP resource
436-limit (see \fBsetrlimit\fP(2)).
421+\fBbrk\fP(2) コールで拡張できるプログラムのヒープ領域のアドレス上限を設定する。
422+このアドレスは、プログラムの現在のデータセグメントの最終アドレスより大きくなければならない。 また、
423+変更後のヒープとデータセグメントのサイズを合わせたサイズが \fBRLIMIT_DATA\fP リソースリミットを超えることはできない
424+(\fBsetrlimit\fP(2) 参照)。
437425 .TP
438426 \fBPR_SET_MM_BRK\fP
439-Set the current \fBbrk\fP(2) value. The requirements for the address are the
440-same as for the \fBPR_SET_MM_START_BRK\fP option.
427+現在の \fBbrk\fP(2) 値を設定する。 このアドレスの要件は \fBPR_SET_MM_START_BRK\fP オプションと同じである。
441428 .P
442429 .\" commit fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7
443430 以下のオプションは Linux 3.5 以降で利用できる。
@@ -465,20 +452,15 @@ same as for the \fBPR_SET_MM_START_BRK\fP option.
465452 .TP
466453 \fBPR_SET_MM_EXE_FILE\fP
467454 .\" commit b32dfe377102ce668775f8b6b1461f7ad428f8b6
468-Supersede the \fI/proc/pid/exe\fP symbolic link with a new one pointing to a
469-new executable file identified by the file descriptor provided in \fIarg3\fP
470-argument. The file descriptor should be obtained with a regular \fBopen\fP(2)
471-call.
455+\fI/proc/pid/exe\fP シンボリックリンクを \fIarg3\fP
456+引き数で渡された新しい実行可能なファイルディスクリプタを指すシンボリックリンクで置き換える。 ファイルディスクリプタは通常の \fBopen\fP(2)
457+コールで取得すべきである。
472458 .IP
473-To change the symbolic link, one needs to unmap all existing executable
474-memory areas, including those created by the kernel itself (for example the
475-kernel usually creates at least one executable memory area for the ELF
476-\&\fI.text\fP section).
459+シンボリックリンクを変更するには、 既存の実行可能なメモリ領域のすべてをアンマップする必要がある。これにはカーネル自身が作成した領域も含まれる
460+(例えば、カーネルは通常 ELF \fI.text\fP セクションに少なくとも一つの実行可能なメモリ領域を作成する)。
477461 .IP
478-The second limitation is that such transitions can be done only once in a
479-process life time. Any further attempts will be rejected. This should help
480-system administrators monitor unusual symbolic\-link transitions over all
481-processes running on a system.
462+二つ目の制限は、このような変更はプロセスの生存期間で一度だけ行うことができるという点である。 一度変更を行った後で変更を行おうとすると拒否される。
463+この動作は、 システム管理者が、 システムで動作するすべてのプロセスが行う、 普通でないシンボリックリンクの変更を監視するのを楽にする。
482464 .RE
483465 .\"
484466 .SH 返り値
--- a/po4a/signal/po/ja.po
+++ b/po4a/signal/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
77 msgstr ""
88 "Project-Id-Version: PACKAGE VERSION\n"
99 "POT-Creation-Date: 2014-04-24 00:51+0900\n"
10-"PO-Revision-Date: 2014-04-29 22:25+0900\n"
10+"PO-Revision-Date: 2014-04-30 00:56+0900\n"
1111 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1212 "Language-Team: LANGUAGE <LL@li.org>\n"
1313 "Language: \n"
@@ -2612,7 +2612,7 @@ msgstr ""
26122612 msgid ""
26132613 "For more information, see the kernel source file I<Documentation/prctl/"
26142614 "no_new_privs.txt>."
2615-msgstr ""
2615+msgstr "詳しい情報は、カーネルソースファイル I<Documentation/prctl/no_new_privs.txt> を参照。"
26162616
26172617 #. type: TP
26182618 #: build/C/man2/prctl.2:286
@@ -2695,7 +2695,7 @@ msgstr ""
26952695 msgid ""
26962696 "For further information, see the kernel source file I<Documentation/security/"
26972697 "Yama.txt>."
2698-msgstr ""
2698+msgstr "詳しい情報は、カーネルソースファイル I<Documentation/security/Yama.txt> を参照。"
26992699
27002700 #. type: TP
27012701 #: build/C/man2/prctl.2:343
@@ -2712,7 +2712,7 @@ msgid ""
27122712 "Set the secure computing (seccomp) mode for the calling thread, to limit the "
27132713 "available system calls. The seccomp mode is selected via I<arg2>. (The "
27142714 "seccomp constants are defined in I<E<lt>linux/seccomp.hE<gt>>.)"
2715-msgstr ""
2715+msgstr "呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 seccomp モードは利用できるシステムコールを制限するものである。 seccomp モードは I<arg2> で指定できる (seccomp 定数は I<E<lt>linux/seccomp.hE<gt>> で定義されている)。"
27162716
27172717 #. type: Plain text
27182718 #: build/C/man2/prctl.2:375
@@ -2742,7 +2742,7 @@ msgid ""
27422742 "designed to filter arbitrary system calls and system call arguments. This "
27432743 "mode is available only if the kernel is configured with "
27442744 "B<CONFIG_SECCOMP_FILTER> enabled."
2745-msgstr ""
2745+msgstr "I<arg2> を B<SECCOMP_MODE_FILTER> (Linux 3.5 以降) に設定すると、 許可されるシステムコールは I<arg3> で渡された Berkeley Packet Filter へのポインターで定義される。 この引き数は I<struct sock_fprog> へのポインターである。 これは任意のシステムコールやシステムコール引き数をフィルタリングするために設計された。 このモードはカーネルで B<CONFIG_SECCOMP_FILTER> が有効になっている場合にのみ利用可能である。"
27462746
27472747 #. type: Plain text
27482748 #: build/C/man2/prctl.2:405
@@ -2752,14 +2752,14 @@ msgid ""
27522752 "permitted, then the seccomp mode is preserved across B<execve>(2). If the "
27532753 "filters permit B<prctl>() calls, then additional filters can be added; they "
27542754 "are run in order until the first non-allow result is seen."
2755-msgstr ""
2755+msgstr "B<SECCOMP_MODE_FILTER> フィルターで B<fork>(2) が許可されている場合、 seccomp モードは B<fork>(2) で作成された子プロセスに継承される。 B<execve>(2) が許可されている場合、 seccomp モードは B<execve>(2) の前後で維持される。 フィルターで B<prctl>() コールが許可されている場合、 追加でフィルターが定義され、 これらのフィルターは許可されないものが見つかるまで指定された順序で実行される。"
27562756
27572757 #. type: Plain text
27582758 #: build/C/man2/prctl.2:408
27592759 msgid ""
27602760 "For further information, see the kernel source file I<Documentation/prctl/"
27612761 "seccomp_filter.txt>."
2762-msgstr ""
2762+msgstr "詳しい情報は、カーネルソースファイル I<Documentation/prctl/seccomp_filter.txt> を参照。"
27632763
27642764 #. type: TP
27652765 #: build/C/man2/prctl.2:408
@@ -2833,7 +2833,7 @@ msgid ""
28332833 "B<madvise>(2) is not an option (i.e., statically allocated data). The "
28342834 "setting of the \"THP disable\" flag is inherited by a child created via "
28352835 "B<fork>(2) and is preserved across B<execve>(2)."
2836-msgstr ""
2836+msgstr "呼び出したスレッドの \"THP disable\" (THP 無効) フラグの状態を設定する。 I<arg2> が 0 以外の場合、フラグは有効になり、そうでない場合はクリーンされる。 このフラグを設定する方法により、 コードを変更できなかったり B<madvise>(2) の malloc hook をが有効ではないジョブ (この方法は静的に割り当てられたデータには有効ではない)に対して、 transparent huge pages を無効にする手段が提供される。 \"THP disable\" フラグの設定は B<fork>(2) で作成された子プロセスに継承され、 B<execve> の前後で維持される。"
28372837
28382838 #. type: TP
28392839 #: build/C/man2/prctl.2:452
@@ -2863,7 +2863,7 @@ msgid ""
28632863 "the B<clone>(2) B<CLONE_CHILD_CLEARTID> flag, in the location pointed to by "
28642864 "I<(int\\ **)\\ arg2>. This feature is available only if the kernel is built "
28652865 "with the B<CONFIG_CHECKPOINT_RESTORE> option enabled."
2866-msgstr ""
2866+msgstr "B<set_tid_address>(2) や B<clone>(2) B<CLONE_CHILD_CLEARTID> フラグで設定された I<clear_child_tid> を取得し、 I<(int\\ **)\\ arg2> が指す場所に格納して返す。 この機能はカーネルが B<CONFIG_CHECKPOINT_RESTORE> オプションを有効にして作成されている場合にのみ利用できる。"
28672867
28682868 #. type: TP
28692869 #: build/C/man2/prctl.2:472
@@ -2983,7 +2983,7 @@ msgid ""
29832983 "Performance counters created by the calling process for other processes are "
29842984 "unaffected. For more information on performance counters, see the Linux "
29852985 "kernel source file I<tools/perf/design.txt>."
2986-msgstr ""
2986+msgstr "呼び出したプロセスに接続されたすべての性能カウンターを無効にする。 カウンターがこのプロセスにより作成されたか他のプロセスにより作成されたかは関係ない。 呼び出したプロセスが他のプロセス用に作成した性能カウンターは影響を受けない。 性能カウンターの詳細については Linux カーネルソースの I<tools/perf/design.txt> を参照。"
29872987
29882988 #. commit 1d1c7ddbfab358445a542715551301b7fc363e28
29892989 #. type: Plain text
@@ -3004,7 +3004,7 @@ msgstr "B<PR_TASK_PERF_EVENTS_ENABLE> (Linux 2.6.31 以降)"
30043004 msgid ""
30053005 "The converse of B<PR_TASK_PERF_EVENTS_DISABLE>; enable performance counters "
30063006 "attached to the calling process."
3007-msgstr ""
3007+msgstr "B<PR_TASK_PERF_EVENTS_DISABLE> の逆。 呼び出したプロセスに接続された性能カウンターを有効にする。"
30083008
30093009 #. commit 1d1c7ddbfab358445a542715551301b7fc363e28
30103010 #. commit cdd6c482c9ff9c55475ee7392ec8f672eddb7be6
@@ -3143,7 +3143,7 @@ msgid ""
31433143 "option enabled. The calling process must have the B<CAP_SYS_RESOURCE> "
31443144 "capability. The value in I<arg2> is one of the options below, while I<arg3> "
31453145 "provides a new value for the option."
3146-msgstr ""
3146+msgstr "呼び出したプロセスのカーネルメモリマップディスクリプタのフィールドを変更する。 これらのフィールドは通常カーネルと動的リンカーにより設定される (詳しい情報は B<ld.so> を参照)。 通常のアプリケーションはこの機能を利用すべきではない。 しかしながら、自分を書き換えるプログラムなど、 プログラムが自分自身のメモリマップを変更するのが有用な場面もある。 この機能はカーネルが B<CONFIG_CHECKPOINT_RESTORE> オプションを有効にして作成されている場合にのみ利用できる。 呼び出したプロセスは B<CAP_SYS_RESOURCE> ケーパビリティを持っていなければならない。 I<arg2> の値には以下のいずれかを指定し、 I<arg3> でそのオプションの新しい値を指定する。"
31473147
31483148 #. type: TP
31493149 #: build/C/man2/prctl.2:688
@@ -3157,7 +3157,7 @@ msgid ""
31573157 "Set the address above which the program text can run. The corresponding "
31583158 "memory area must be readable and executable, but not writable or sharable "
31593159 "(see B<mprotect>(2) and B<mmap>(2) for more information)."
3160-msgstr ""
3160+msgstr "プログラムテキストを実行できるアドレスの上限を設定する。 対応するメモリ領域は読み出し可能で実行可能でなければならないが、 書き込み可能だったり共有可能だったりしてはならない (詳しい情報は B<mprotect>(2) と B<mmap>(2) 参照)。"
31613161
31623162 #. type: TP
31633163 #: build/C/man2/prctl.2:697
@@ -3170,7 +3170,7 @@ msgstr "B<PR_SET_MM_END_CODE>"
31703170 msgid ""
31713171 "Set the address below which the program text can run. The corresponding "
31723172 "memory area must be readable and executable, but not writable or sharable."
3173-msgstr ""
3173+msgstr "プログラムテキストを実行できるアドレスの下限を設定する。 対応するメモリ領域は読み出し可能で実行可能でなければならないが、 書き込み可能だったり共有可能だったりしてはならない。"
31743174
31753175 #. type: TP
31763176 #: build/C/man2/prctl.2:702
@@ -3184,7 +3184,7 @@ msgid ""
31843184 "Set the address above which initialized and uninitialized (bss) data are "
31853185 "placed. The corresponding memory area must be readable and writable, but "
31863186 "not executable or sharable."
3187-msgstr ""
3187+msgstr "初期化済データや未初期化 (bss) データを配置する領域のアドレス上限を指定する。 対応するメモリ領域は読み書き可能でなければならないが、 実行可能だったり共有可能だったりしてはならない。"
31883188
31893189 #. type: TP
31903190 #: build/C/man2/prctl.2:708
@@ -3198,7 +3198,7 @@ msgid ""
31983198 "Set the address below which initialized and uninitialized (bss) data are "
31993199 "placed. The corresponding memory area must be readable and writable, but "
32003200 "not executable or sharable."
3201-msgstr ""
3201+msgstr "初期化済データや未初期化 (bss) データを配置する領域のアドレス下限を指定する。 対応するメモリ領域は読み書き可能でなければならないが、 実行可能だったり共有可能だったりしてはならない。"
32023202
32033203 #. type: TP
32043204 #: build/C/man2/prctl.2:714
@@ -3211,7 +3211,7 @@ msgstr "B<PR_SET_MM_START_STACK>"
32113211 msgid ""
32123212 "Set the start address of the stack. The corresponding memory area must be "
32133213 "readable and writable."
3214-msgstr ""
3214+msgstr "スタックの開始アドレスを設定する。 対応するメモリ領域は読み書き可能でなければならない。"
32153215
32163216 #. type: TP
32173217 #: build/C/man2/prctl.2:718
@@ -3227,7 +3227,7 @@ msgid ""
32273227 "program data segment. In addition, the combined size of the resulting heap "
32283228 "and the size of the data segment can't exceed the B<RLIMIT_DATA> resource "
32293229 "limit (see B<setrlimit>(2))."
3230-msgstr ""
3230+msgstr "B<brk>(2) コールで拡張できるプログラムのヒープ領域のアドレス上限を設定する。 このアドレスは、プログラムの現在のデータセグメントの最終アドレスより大きくなければならない。 また、 変更後のヒープとデータセグメントのサイズを合わせたサイズが B<RLIMIT_DATA> リソースリミットを超えることはできない (B<setrlimit>(2) 参照)。"
32313231
32323232 #. type: TP
32333233 #: build/C/man2/prctl.2:730
@@ -3240,7 +3240,7 @@ msgstr "B<PR_SET_MM_BRK>"
32403240 msgid ""
32413241 "Set the current B<brk>(2) value. The requirements for the address are the "
32423242 "same as for the B<PR_SET_MM_START_BRK> option."
3243-msgstr ""
3243+msgstr "現在の B<brk>(2) 値を設定する。 このアドレスの要件は B<PR_SET_MM_START_BRK> オプションと同じである。"
32443244
32453245 #. commit fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7
32463246 #. type: Plain text
@@ -3257,7 +3257,7 @@ msgstr "B<PR_SET_MM_ARG_START>"
32573257 #. type: Plain text
32583258 #: build/C/man2/prctl.2:744
32593259 msgid "Set the address above which the program command line is placed."
3260-msgstr ""
3260+msgstr "プログラムのコマンドラインを配置するアドレスの上限を設定する。"
32613261
32623262 #. type: TP
32633263 #: build/C/man2/prctl.2:744
@@ -3268,7 +3268,7 @@ msgstr "B<PR_SET_MM_ARG_END>"
32683268 #. type: Plain text
32693269 #: build/C/man2/prctl.2:747
32703270 msgid "Set the address below which the program command line is placed."
3271-msgstr ""
3271+msgstr "プログラムのコマンドラインを配置するアドレスの下限を設定する。"
32723272
32733273 #. type: TP
32743274 #: build/C/man2/prctl.2:747
@@ -3279,7 +3279,7 @@ msgstr "B<PR_SET_MM_ENV_START>"
32793279 #. type: Plain text
32803280 #: build/C/man2/prctl.2:750
32813281 msgid "Set the address above which the program environment is placed."
3282-msgstr ""
3282+msgstr "プログラムの環境情報 (environment) を配置するアドレスの上限を設定する。"
32833283
32843284 #. type: TP
32853285 #: build/C/man2/prctl.2:750
@@ -3290,7 +3290,7 @@ msgstr "B<PR_SET_MM_ENV_END>"
32903290 #. type: Plain text
32913291 #: build/C/man2/prctl.2:753
32923292 msgid "Set the address below which the program environment is placed."
3293-msgstr ""
3293+msgstr "プログラムの環境情報 (environment) を配置するアドレスの下限を設定する。"
32943294
32953295 #. type: Plain text
32963296 #: build/C/man2/prctl.2:766
@@ -3300,7 +3300,7 @@ msgid ""
33003300 "stack area. Thus, the corresponding memory area must be readable, writable, "
33013301 "and (depending on the kernel configuration) have the B<MAP_GROWSDOWN> "
33023302 "attribute set (see B<mmap>(2))."
3303-msgstr ""
3303+msgstr "B<PR_SET_MM_ARG_START>, B<PR_SET_MM_ARG_END>, B<PR_SET_MM_ENV_START>, B<PR_SET_MM_ENV_END> で指定されるアドレスはプロセスのスタック領域に属している必要がある。 したがって、これらのメモリ領域は読み書き可能でなければならない。 また、 (カーネル設定によっては) B<MAP_GROWSDOWN> 属性がセットされていなければならない (B<mmap>(2) 参照)。"
33043304
33053305 #. type: TP
33063306 #: build/C/man2/prctl.2:766
@@ -3313,7 +3313,7 @@ msgstr "B<PR_SET_MM_AUXV>"
33133313 msgid ""
33143314 "Set a new auxiliary vector. The I<arg3> argument should provide the address "
33153315 "of the vector. The I<arg4> is the size of the vector."
3316-msgstr ""
3316+msgstr "新しい補助ベクトル (auxiliary vector) を設定する。 I<arg3> 引き数はベクトルのアドレスを指定し、 I<arg4> はベクトルのサイズを指定する。"
33173317
33183318 #. type: TP
33193319 #: build/C/man2/prctl.2:775
@@ -3329,7 +3329,7 @@ msgid ""
33293329 "new executable file identified by the file descriptor provided in I<arg3> "
33303330 "argument. The file descriptor should be obtained with a regular B<open>(2) "
33313331 "call."
3332-msgstr ""
3332+msgstr "I</proc/pid/exe> シンボリックリンクを I<arg3> 引き数で渡された新しい実行可能なファイルディスクリプタを指すシンボリックリンクで置き換える。 ファイルディスクリプタは通常の B<open>(2) コールで取得すべきである。"
33333333
33343334 #. type: Plain text
33353335 #: build/C/man2/prctl.2:794
@@ -3338,7 +3338,7 @@ msgid ""
33383338 "memory areas, including those created by the kernel itself (for example the "
33393339 "kernel usually creates at least one executable memory area for the ELF I<."
33403340 "text> section)."
3341-msgstr ""
3341+msgstr "シンボリックリンクを変更するには、 既存の実行可能なメモリ領域のすべてをアンマップする必要がある。これにはカーネル自身が作成した領域も含まれる (例えば、カーネルは通常 ELF I<.text> セクションに少なくとも一つの実行可能なメモリ領域を作成する)。"
33423342
33433343 #. type: Plain text
33443344 #: build/C/man2/prctl.2:800
@@ -3347,7 +3347,7 @@ msgid ""
33473347 "process life time. Any further attempts will be rejected. This should help "
33483348 "system administrators monitor unusual symbolic-link transitions over all "
33493349 "processes running on a system."
3350-msgstr ""
3350+msgstr "二つ目の制限は、このような変更はプロセスの生存期間で一度だけ行うことができるという点である。 一度変更を行った後で変更を行おうとすると拒否される。 この動作は、 システム管理者が、 システムで動作するすべてのプロセスが行う、 普通でないシンボリックリンクの変更を監視するのを楽にする。"
33513351
33523352 #. type: Plain text
33533353 #: build/C/man2/prctl.2:822
@@ -3375,7 +3375,7 @@ msgstr "I<option> の値が理解できない。"
33753375 msgid ""
33763376 "I<option> is B<PR_MCE_KILL> or B<PR_MCE_KILL_GET> or B<PR_SET_MM>, and "
33773377 "unused B<prctl>() arguments were not specified as zero."
3378-msgstr ""
3378+msgstr "I<option> が B<PR_MCE_KILL>, B<PR_MCE_KILL_GET>, B<PR_SET_MM> のいずれかで、かつ未使用の B<prctl>() 引き数に 0 が指定されていなかった。"
33793379
33803380 #. type: Plain text
33813381 #: build/C/man2/prctl.2:849
@@ -3394,19 +3394,19 @@ msgstr ""
33943394 #. type: Plain text
33953395 #: build/C/man2/prctl.2:864
33963396 msgid "I<option> is B<PR_SET_MM>, and one of the following is true"
3397-msgstr ""
3397+msgstr "I<option> が B<PR_SET_MM> で、以下のいずれかが真である。"
33983398
33993399 #. type: Plain text
34003400 #: build/C/man2/prctl.2:870
34013401 msgid "I<arg4> or I<arg5> is nonzero;"
3402-msgstr ""
3402+msgstr "I<arg4> が I<arg5> で 0 以外である。"
34033403
34043404 #. type: Plain text
34053405 #: build/C/man2/prctl.2:875
34063406 msgid ""
34073407 "I<arg3> is greater than B<TASK_SIZE> (the limit on the size of the user "
34083408 "address space for this architecture);"
3409-msgstr ""
3409+msgstr "I<arg3> が B<TASK_SIZE> よりも大きい (B<TASK_SIZE> はこのアーキテクチャーでユーザー空間アドレススペースの最大サイズである)。"
34103410
34113411 #. type: Plain text
34123412 #: build/C/man2/prctl.2:885
@@ -3414,7 +3414,7 @@ msgid ""
34143414 "I<arg2> is B<PR_SET_MM_START_CODE>, B<PR_SET_MM_END_CODE>, "
34153415 "B<PR_SET_MM_START_DATA>, B<PR_SET_MM_END_DATA>, or B<PR_SET_MM_START_STACK>, "
34163416 "and the permissions of the corresponding memory area are not as required;"
3417-msgstr ""
3417+msgstr "I<arg2> が B<PR_SET_MM_START_CODE>, B<PR_SET_MM_END_CODE>, B<PR_SET_MM_START_DATA>, B<PR_SET_MM_END_DATA>, B<PR_SET_MM_START_STACK> のどれかで、対応するメモリ領域のアクセス許可が要件を満たしていない。"
34183418
34193419 #. type: Plain text
34203420 #: build/C/man2/prctl.2:897
@@ -3422,14 +3422,14 @@ msgid ""
34223422 "I<arg2> is B<PR_SET_MM_START_BRK> or B<PR_SET_MM_BRK>, and I<arg3> is less "
34233423 "than or equal to the end of the data segment or specifies a value that would "
34243424 "cause the B<RLIMIT_DATA> resource limit to be exceeded."
3425-msgstr ""
3425+msgstr "I<arg2> が B<PR_SET_MM_START_BRK> か B<PR_SET_MM_BRK> で、 I<arg3> データセグメントの末尾と同じかそれより前か、 I<arg3> に B<RLIMIT_DATA> リソースリミットを超えてしまうような値が指定されている。"
34263426
34273427 #. type: Plain text
34283428 #: build/C/man2/prctl.2:908
34293429 msgid ""
34303430 "I<option> is B<PR_SET_PTRACER> and I<arg2> is not 0, B<PR_SET_PTRACER_ANY>, "
34313431 "or the PID of an existing process."
3432-msgstr ""
3432+msgstr "I<option> が B<PR_SET_PTRACER> で I<arg2> が 0, B<PR_SET_PTRACER_ANY>, 既存プロセスの PID のいずれでもない。"
34333433
34343434 #. type: Plain text
34353435 #: build/C/man2/prctl.2:916
@@ -3442,40 +3442,40 @@ msgstr "I<option> が B<PR_SET_PDEATHSIG> で、 I<arg2> で指定された値
34423442 msgid ""
34433443 "I<option> is B<PR_SET_DUMPABLE> and I<arg2> is neither B<SUID_DUMP_DISABLE> "
34443444 "nor B<SUID_DUMP_USER>."
3445-msgstr ""
3445+msgstr "I<option> が B<PR_SET_DUMPABLE> で、 I<arg2> が B<SUID_DUMP_DISABLE> でも B<SUID_DUMP_USER> でもない。"
34463446
34473447 #. type: Plain text
34483448 #: build/C/man2/prctl.2:936
34493449 msgid ""
34503450 "I<option> is B<PR_SET_TIMING> and I<arg2> is not B<PR_TIMING_STATISTICAL>."
3451-msgstr ""
3451+msgstr "I<option> が B<PR_SET_TIMING> で、 I<arg2> が B<PR_TIMING_STATISTICAL> ではない。"
34523452
34533453 #. type: Plain text
34543454 #: build/C/man2/prctl.2:950
34553455 msgid ""
34563456 "I<option> is B<PR_SET_NO_NEW_PRIVS> and I<arg2> is not equal to 1 or "
34573457 "I<arg3>, I<arg4>, or I<arg5> is nonzero."
3458-msgstr ""
3458+msgstr "I<option> が B<PR_SET_NO_NEW_PRIVS> で、 I<arg2> が 1 以外か、 I<arg3>, I<arg4>, I<arg5> のどれかが 0 ではない。"
34593459
34603460 #. type: Plain text
34613461 #: build/C/man2/prctl.2:962
34623462 msgid ""
34633463 "I<option> is B<PR_GET_NO_NEW_PRIVS> and I<arg2>, I<arg3>, I<arg4>, or "
34643464 "I<arg5> is nonzero."
3465-msgstr ""
3465+msgstr "I<option> が B<PR_GET_NO_NEW_PRIVS> で、 I<arg2>, I<arg3>, I<arg4>, I<arg5> のどれかが 0 ではない。"
34663466
34673467 #. type: Plain text
34683468 #: build/C/man2/prctl.2:972
34693469 msgid ""
34703470 "I<option> is PR_SET_THP_DISABLE and I<arg3>, I<arg4>, or I<arg5> is nonzero."
3471-msgstr ""
3471+msgstr "I<option> が B<PR_SET_THP_DISABLE> で I<arg3>, I<arg4>, I<arg5> のどれかが 0 ではない。"
34723472
34733473 #. type: Plain text
34743474 #: build/C/man2/prctl.2:983
34753475 msgid ""
34763476 "I<option> is PR_GET_THP_DISABLE and I<arg2>, I<arg3>, I<arg4>, or I<arg5> is "
34773477 "nonzero."
3478-msgstr ""
3478+msgstr "I<option> が B<PR_GET_THP_DISABLE> で I<arg2>, I<arg3>, I<arg4>, I<arg5> のいずれが 0 ではない。"
34793479
34803480 #. type: Plain text
34813481 #: build/C/man2/prctl.2:995
@@ -3525,7 +3525,7 @@ msgstr "B<EACCES>"
35253525 msgid ""
35263526 "I<option> is B<PR_SET_MM>, and I<arg3> is B<PR_SET_MM_EXE_FILE>, the file is "
35273527 "not executable."
3528-msgstr ""
3528+msgstr "I<option> が B<PR_SET_MM>、かつ I<arg3> が B<PR_SET_MM_EXE_FILE> で、ファイルが実行可能ではない。"
35293529
35303530 #. type: TP
35313531 #: build/C/man2/prctl.2:1031
@@ -3539,7 +3539,7 @@ msgid ""
35393539 "I<option> is B<PR_SET_MM>, I<arg3> is B<PR_SET_MM_EXE_FILE>, and this the "
35403540 "second attempt to change the I</proc/pid/exe> symbolic link, which is "
35413541 "prohibited."
3542-msgstr ""
3542+msgstr "I<option> が B<PR_SET_MM> で、 I<arg3> が B<PR_SET_MM_EXE_FILE> で、 I</proc/pid/exe> シンボリックリンクを変更しようとしたが、 禁止されている。"
35433543
35443544 #. type: TP
35453545 #: build/C/man2/prctl.2:1042 build/C/man2/signalfd.2:266
@@ -3561,7 +3561,7 @@ msgstr "B<EBADF>"
35613561 msgid ""
35623562 "I<option> is B<PR_SET_MM>, I<arg3> is B<PR_SET_MM_EXE_FILE>, and the file "
35633563 "descriptor passed in I<arg4> is not valid."
3564-msgstr ""
3564+msgstr "I<option> が B<PR_SET_MM> で、 I<arg3> が B<PR_SET_MM_EXE_FILE> で、 I<arg4> で渡されたファイルディスクリプタが有効ではない。"
35653565
35663566 #. The library interface was added in glibc 2.0.6
35673567 #. type: Plain text
--- a/release/man2/prctl.2
+++ b/release/man2/prctl.2
@@ -1,9 +1,8 @@
1-.\" Hey Emacs! This file is -*- nroff -*- source.
2-.\"
31 .\" Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl)
4-.\" and Copyright (C) 2002 Michael Kerrisk <mtk.manpages@gmail.com>
2+.\" and Copyright (C) 2002, 2006, 2008, 2012, 2013 Michael Kerrisk <mtk.manpages@gmail.com>
53 .\" and Copyright Guillem Jover <guillem@hadrons.org>
64 .\"
5+.\" %%%LICENSE_START(VERBATIM)
76 .\" Permission is granted to make and distribute verbatim copies of this
87 .\" manual provided the copyright notice and this permission notice are
98 .\" preserved on all copies.
@@ -23,6 +22,7 @@
2322 .\"
2423 .\" Formatted or processed versions of this manual, if unaccompanied by
2524 .\" the source, must acknowledge the copyright and authors of this work.
25+.\" %%%LICENSE_END
2626 .\"
2727 .\" Modified Thu Nov 11 04:19:42 MET 1999, aeb: added PR_GET_PDEATHSIG
2828 .\" Modified 27 Jun 02, Michael Kerrisk
@@ -41,16 +41,31 @@
4141 .\" 2012-04 Cyrill Gorcunov, Document PR_SET_MM
4242 .\" 2012-04-25 Michael Kerrisk, Document PR_TASK_PERF_EVENTS_DISABLE and
4343 .\" PR_TASK_PERF_EVENTS_ENABLE
44+.\" 2012-09-20 Kees Cook, update PR_SET_SECCOMP for mode 2
45+.\" 2012-09-20 Kees Cook, document PR_SET_NO_NEW_PRIVS, PR_GET_NO_NEW_PRIVS
46+.\" 2012-10-25 Michael Kerrisk, Document PR_SET_TIMERSLACK and
47+.\" PR_GET_TIMERSLACK
48+.\" 2013-01-10 Kees Cook, document PR_SET_PTRACER
49+.\" 2012-02-04 Michael kerrisk, document PR_{SET,GET}_CHILD_SUBREAPER
4450 .\"
45-.\" FIXME: Document PR_SET_TIMERSLACK and PR_GET_TIMERSLACK (new in 2.6.28)
46-.\" commit 6976675d94042fbd446231d1bd8b7de71a980ada
4751 .\"
4852 .\"*******************************************************************
4953 .\"
5054 .\" This file was generated with po4a. Translate the source file.
5155 .\"
5256 .\"*******************************************************************
53-.TH PRCTL 2 2012\-04\-23 Linux "Linux Programmer's Manual"
57+.\"
58+.\" Japanese Version Copyright (c) 1998-1999 HANATAKA Shinya
59+.\" all rights reserved.
60+.\" Translated 1999-04-03, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
61+.\" Updated 2002-12-20, Kentaro Shirakata <argrath@ub32.org>
62+.\" Updated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
63+.\" Updated 2005-10-07, Akihiro MOTOKI
64+.\" Updated 2007-01-08, Akihiro MOTOKI, LDP v2.43
65+.\" Updated 2007-10-12, Akihiro MOTOKI, LDP v2.66
66+.\" Updated 2008-08-12, Akihiro MOTOKI, LDP v3.05
67+.\"
68+.TH PRCTL 2 2014\-04\-14 Linux "Linux Programmer's Manual"
5469 .SH 名前
5570 prctl \- プロセスの操作を行なう
5671 .SH 書式
@@ -66,7 +81,7 @@ prctl \- プロセスの操作を行なう
6681 .TP
6782 \fBPR_CAPBSET_READ\fP (Linux 2.6.25 以降)
6883 で指定されたケーパビリティが呼び出したスレッドのケーパビリティ バインディングセット (capability bounding set)
69-に含まれている場合、 (関数の返り値として) 1 を返し、そうでない場合 0 を返す (ケーパビリティ定数は
84+に含まれている場合、 (関数の結果として) 1 を返し、そうでない場合 0 を返す (ケーパビリティ定数は
7085 \fI<linux/capability.h>\fP で定義されている)。 ケーパビリティバウンディングセットは、 \fBexecve\fP(2)
7186 を呼び出した際に、ファイルの許可 (permitted) ケーパビリティの中で そのプロセスが獲得できるケーパビリティを指示するものである。
7287
@@ -80,30 +95,41 @@ prctl \- プロセスの操作を行なう
8095 に指定されたケーパビリティが有効でない場合、 \fBEINVAL\fP で失敗する。 ファイルケーパビリティがカーネルで有効になっていない場合
8196 (この場合にはバウンディングセットがサポートされない)、 \fBEINVAL\fP で失敗する。
8297 .TP
98+\fBPR_SET_CHILD_SUBREAPER\fP (Linux 3.4 以降)
99+.\" commit ebec18a6d3aa1e7d84aab16225e87fd25170ec2b
100+If \fIarg2\fP is nonzero, set the "child subreaper" attribute of the calling
101+process; if \fIarg2\fP is zero, unset the attribute. When a process is marked
102+as a child subreaper, all of the children that it creates, and their
103+descendants, will be marked as having a subreaper. In effect, a subreaper
104+fulfills the role of \fBinit\fP(1) for its descendant processes. Upon
105+termination of a process that is orphaned (i.e., its immediate parent has
106+already terminated) and marked as having a subreaper, the nearest still
107+living ancestor subreaper will receive a \fBSIGCHLD\fP signal and be able to
108+\fBwait\fP(2) on the process to discover its termination status.
109+.TP
110+\fBPR_GET_CHILD_SUBREAPER\fP (Linux 3.4 以降)
111+Return the "child subreaper" setting of the caller, in the location pointed
112+to by \fI(int\ *) arg2\fP.
113+.TP
83114 \fBPR_SET_DUMPABLE\fP (Linux 2.3.20 以降)
84115 .\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=115270289030630&w=2
85116 .\" Subject: Fix prctl privilege escalation (CVE-2006-2451)
86117 .\" From: Marcel Holtmann <marcel () holtmann ! org>
87118 .\" Date: 2006-07-12 11:12:00
88-(Linux 2.3.20 以降) デフォルトの振る舞いではコアダンプを引き起こすよう
89-なシグナルを受信したときに、 コアダンプするかどうかを決定するフラグを
90-設定する (通常このフラグは、デフォルトではセットされているが、
91-set\-user\-ID あるいは set\-group\-ID プログラムが実行されたり、 さまざまな
92-システムコールによってプロセスの UID や GID が操作されたときに クリアさ
93-れる)。 2.6.12 以前のカーネルでは、 \fIarg2\fP は 0 (プロセスはダンプ不可)
94-あるいは 1 (プロセスはダンプ可能) の どちらかでなければならない。
95-2.6.13 から 2.6.17 までのカーネルでは、値 2 も認められていた。 この値を
96-指定すると、通常はダンプされないバイナリが root だけが 読み込み可能な形
97-でダンプされた。 セキュリティ上の理由から、この機能は削除された
98-(\fBproc\fP(5) の \fI/proc/sys/fs/suid_dumpable\fP の説明も参照)。
99-ダンプ不可のプロセスを \fBptrace(2)\fP \fBPTRACE_ATTACH\fP 経由で接続すること
100-はできない。
119+(Linux 2.3.20 以降)
120+デフォルトの振る舞いではコアダンプを引き起こすようなシグナルを受信したときに、呼び出し元のプロセスでコアダンプを生成するかどうかを決定するフラグを設定する
121+(通常このフラグは、デフォルトではセットされているが、 set\-user\-ID あるいは set\-group\-ID プログラムが実行されたり、
122+さまざまなシステムコールによってプロセスの UID や GID が操作されたときに クリアされる)。 2.6.12 以前のカーネルでは、 \fIarg2\fP
123+は 0 (プロセスはダンプ不可) あるいは 1 (プロセスはダンプ可能) の どちらかでなければならない。 2.6.13 から 2.6.17
124+までのカーネルでは、値 2 も認められていた。 この値を指定すると、通常はダンプされないバイナリが root だけが 読み込み可能な形でダンプされた。
125+セキュリティ上の理由から、この機能は削除された (\fBproc\fP(5) の \fI/proc/sys/fs/suid_dumpable\fP の説明も参照)。
126+ダンプ不可のプロセスを \fBptrace\fP(2) \fBPTRACE_ATTACH\fP 経由で接続することはできない。
101127 .TP
102128 \fBPR_GET_DUMPABLE\fP (Linux 2.3.20 以降)
103129 .\" Since Linux 2.6.13, the dumpable flag can have the value 2,
104130 .\" but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
105131 .\" flags has a nonzero value. This was fixed in 2.6.14.
106-(Linux 2.3.20 以降) 呼び出し元プロセスにおけるダンプ可能フラグの 現在の状態を (関数の返り値として) 返す。
132+(Linux 2.3.20 以降) 呼び出し元プロセスにおけるダンプ可能フラグの 現在の状態を (関数の結果として) 返す。
107133 .TP
108134 \fBPR_SET_ENDIAN\fP (Linux 2.6.18 以降、PowerPC のみ)
109135 .\" Respectively 0, 1, 2
@@ -136,65 +162,164 @@ set\-user\-ID あるいは set\-group\-ID プログラムが実行されたり
136162 浮動小数点例外モードの値を \fI(int\ *) arg2\fP が指す場所に格納して返す。
137163 .TP
138164 \fBPR_SET_KEEPCAPS\fP (Linux 2.2.18 以降)
139-スレッドの「ケーパビリティ保持」フラグを設定する。
140-このフラグは、スレッドの実 UID、実効 UID、保存 set\-user\-ID のうち少なく
141-とも一つが 0 であった状態から、これら全てが 0 以外に変更されたとき、
165+スレッドの「ケーパビリティ保持」フラグを設定する。 このフラグは、スレッドの実 UID、実効 UID、保存 set\-user\-ID
166+のうち少なくとも一つが 0 であった状態から、これら全てが 0 以外に変更されたとき、
142167 スレッドの許可ケーパビリティ集合がクリアされるかどうかを決定する。
143-デフォルトでは、このような変更が行われた場合、許可ケーパビリティセット
144-はクリアされる。「ケーパビリティ保持」フラグを設定すると、
145-許可ケーパビリティセットはクリアされなくなる。
146-\fIarg2\fP は 0 (許可ケーパビリティをクリアする) か 1 (許可ケーパビリティ
147-を保持する) の どちらかでなければならない。
148-(このような ID の変更が行われた場合、「ケーパビリティ保持」フラグの設定
149-に関わらず、スレッドの\fI実効\fPケーパビリティセットは常にクリアされる。)
150-\fBexecve\fP(2) が呼び出されると、「ケーパビリティ保持」フラグは 0
151-にリセットされる。
168+デフォルトでは、このような変更が行われた場合、許可ケーパビリティセットはクリアされる。「ケーパビリティ保持」フラグを設定すると、許可ケーパビリティセットはクリアされなくなる。
169+\fIarg2\fP は 0 (許可ケーパビリティをクリアする) か 1 (許可ケーパビリティを保持する) の どちらかでなければならない。 (このような
170+ID の変更が行われた場合、「ケーパビリティ保持」フラグの設定に関わらず、スレッドの\fI実効\fPケーパビリティセットは常にクリアされる。)
171+\fBexecve\fP(2) が呼び出されると、「ケーパビリティ保持」フラグは 0 にリセットされる。
152172 .TP
153173 \fBPR_GET_KEEPCAPS\fP (Linux 2.2.18 以降)
154-呼び出し元スレッドにおける「ケーパビリティ保持」フラグの 現在の状態を (関数の返り値として) 返す。
174+呼び出し元スレッドにおける「ケーパビリティ保持」フラグの 現在の状態を (関数の結果として) 返す。
155175 .TP
156176 \fBPR_SET_NAME\fP (Linux 2.6.9 以降)
157177 .\" TASK_COMM_LEN in include/linux/sched.h
158-呼び出し元プロセスのプロセス名を \fI(char\ *) arg2\fP が指す場所に格納された値を使って設定する。 名前は最大で 16 バイトであり、
159-それより少ないバイト数の場合は NULL で終端すべきである。
178+呼び出し元スレッドのプロセス名を \fI(char\ *) arg2\fP が指す場所に格納された値を使って設定する。 名前は最大で 16 バイトであり、
179+それより少ないバイト数の場合はヌルで終端すべきである。 これは、 \fBpthread_setname_np\fP(3) で設定でき、
180+\fBpthread_getname_np\fP(3) で取得できるのと同じ属性である。 同様に、 \fItid\fP が呼び出し元スレッドの ID の場合、
181+この属性は \fI/proc/self/task/[tid]/comm\fP 経由でもアクセス可能である。
160182 .TP
161183 \fBPR_GET_NAME\fP (Linux 2.6.11 以降)
162-呼び出し元プロセスのプロセス名を \fI(char\ *) arg2\fP が指す場所に格納して返す。 バッファは最大で 16
163-バイトを格納できるようにすべきである。 返される文字列は、長さが 16 バイトより短い場合は NULL 終端される。
184+呼び出し元スレッドの名前を \fI(char\ *) arg2\fP が指す場所に格納して返す。 バッファは最大で 16
185+バイトを格納できるようにすべきである。 返される文字列は、長さが 16 バイトより短い場合はヌル終端される。
186+.TP
187+\fBPR_SET_NO_NEW_PRIVS\fP (Linux 3.5 以降)
188+Set the calling process's \fIno_new_privs\fP bit to the value in \fIarg2\fP. With
189+\fIno_new_privs\fP set to 1, \fBexecve\fP(2) promises not to grant privileges to
190+do anything that could not have been done without the \fBexecve\fP(2) call
191+(for example, rendering the set\-user\-ID and set\-group\-ID permission bits,
192+and file capabilities non\-functional). Once set, this bit cannot be unset.
193+The setting of this bit is inherited by children created by \fBfork\fP(2) and
194+\fBclone\fP(2), and preserved across \fBexecve\fP(2).
195+
196+詳しい情報は、カーネルソースファイル \fIDocumentation/prctl/no_new_privs.txt\fP を参照。
197+.TP
198+\fBPR_GET_NO_NEW_PRIVS\fP (Linux 3.5 以降)
199+Return (as the function result) the value of the \fIno_new_privs\fP bit for the
200+current process. A value of 0 indicates the regular \fBexecve\fP(2)
201+behavior. A value of 1 indicates \fBexecve\fP(2) will operate in the
202+privilege\-restricting mode described above.
164203 .TP
165204 \fBPR_SET_PDEATHSIG\fP (Linux 2.1.57 以降)
166-親プロセス死亡シグナル (parent process death signal) を \fIarg2\fP に設定
167-する (設定できるシグナル値の範囲は 1..maxsig であり、0 は通知の解除であ
168-る)。 呼び出し元プロセスの親プロセスが死んだ際に、ここで設定した値が シ
169-グナルとして通知される。この値は \fBfork\fP(2) の子プロセスでは解除される。
170-(Linux 2.5.36 以降および 2.6.23 以降では) set\-user\-ID もしくは
171-set\-group\-ID されたバイナリを実行した場合にも、このフラグは解除される。
205+親プロセス死亡シグナル (parent process death signal) を \fIarg2\fP に設定する (設定できるシグナル値の範囲は
206+1..maxsig であり、0 は通知の解除である)。 呼び出し元プロセスの親プロセスが死んだ際に、ここで設定した値が
207+シグナルとして通知される。この値は \fBfork\fP(2) の子プロセスでは解除される。 (Linux 2.4.36 以降および 2.6.23 以降では)
208+set\-user\-ID もしくは set\-group\-ID されたバイナリを実行した場合にも、このフラグは解除される。この値は \fBexecve\fP(2)
209+の前後で保持される。
172210 .TP
173211 \fBPR_GET_PDEATHSIG\fP (Linux 2.3.15 以降)
174212 親プロセス死亡シグナルの現在の値を \fI(int\ *) arg2\fP が指す場所に格納して返す。
175213 .TP
214+\fBPR_SET_PTRACER\fP (Linux 3.4 以降)
215+.\" commit 2d514487faf188938a4ee4fb3464eeecfbdcf8eb
216+.\" commit bf06189e4d14641c0148bea16e9dd24943862215
217+This is meaningful only when the Yama LSM is enabled and in mode 1
218+("restricted ptrace", visible via \fI/proc/sys/kernel/yama/ptrace_scope\fP).
219+When a "ptracer process ID" is passed in \fIarg2\fP, the caller is declaring
220+that the ptracer process can \fBptrace\fP(2) the calling process as if it were
221+a direct process ancestor. Each \fBPR_SET_PTRACER\fP operation replaces the
222+previous "ptracer process ID". Employing \fBPR_SET_PTRACER\fP with \fIarg2\fP set
223+to 0 clears the caller's "ptracer process ID". If \fIarg2\fP is
224+\fBPR_SET_PTRACER_ANY\fP, the ptrace restrictions introduced by Yama are
225+effectively disabled for the calling process.
226+
227+詳しい情報は、カーネルソースファイル \fIDocumentation/security/Yama.txt\fP を参照。
228+.TP
176229 \fBPR_SET_SECCOMP\fP (Linux 2.6.23 以降)
177230 .\" See http://thread.gmane.org/gmane.linux.kernel/542632
178231 .\" [PATCH 0 of 2] seccomp updates
179232 .\" andrea@cpushare.com
180-呼び出したスレッドの secure computing モードを設定する。 現在の実装では、 \fIarg2\fP は 1 にしなければならない。
181-secure computing モードを 1 に設定すると、 そのスレッドが呼び出しを許可されるシステムコールは \fBread\fP(2),
182-\fBwrite\fP(2), \fB_exit\fP(2), \fBsigreturn\fP(2) だけになる。 それ以外のシステムコールを呼び出すと、シグナル
183-\fBSIGKILL\fP が配送される。 パイプやソケットから読み込んだ、信頼できないバイトコードを実行する
184-必要がある大量の演算を行うアプリケーションにおいて、 secure computing モードは役立つ。 この操作は利用できるのは、カーネルが
185-CONFIG_SECCOMP を有効にして 作成されている場合だけである。
233+呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 seccomp
234+モードは利用できるシステムコールを制限するものである。 seccomp モードは \fIarg2\fP で指定できる (seccomp 定数は
235+\fI<linux/seccomp.h>\fP で定義されている)。
236+
237+\fIarg2\fP を \fBSECCOMP_MODE_STRICT\fP に設定すると、 そのスレッドが呼び出しを許可されるシステムコールは
238+\fBread\fP(2), \fBwrite\fP(2), \fB_exit\fP(2), \fBsigreturn\fP(2) だけになる。
239+それ以外のシステムコールを呼び出すと、シグナル \fBSIGKILL\fP が配送される。 パイプやソケットから読み込んだ、
240+信頼できないバイトコードを実行する必要がある大量の演算を行うアプリケーションにおいて、 strict secure computing モードは役立つ。
241+この操作は利用できるのは、 カーネルが \fBCONFIG_SECCOMP\fP を有効にして作成されている場合だけである。
242+
243+\fIarg2\fP を \fBSECCOMP_MODE_FILTER\fP (Linux 3.5 以降) に設定すると、 許可されるシステムコールは
244+\fIarg3\fP で渡された Berkeley Packet Filter へのポインターで定義される。 この引き数は \fIstruct
245+sock_fprog\fP へのポインターである。 これは任意のシステムコールやシステムコール引き数をフィルタリングするために設計された。
246+このモードはカーネルで \fBCONFIG_SECCOMP_FILTER\fP が有効になっている場合にのみ利用可能である。
247+
248+\fBSECCOMP_MODE_FILTER\fP フィルターで \fBfork\fP(2) が許可されている場合、 seccomp モードは \fBfork\fP(2)
249+で作成された子プロセスに継承される。 \fBexecve\fP(2) が許可されている場合、 seccomp モードは \fBexecve\fP(2)
250+の前後で維持される。 フィルターで \fBprctl\fP() コールが許可されている場合、 追加でフィルターが定義され、
251+これらのフィルターは許可されないものが見つかるまで指定された順序で実行される。
252+
253+詳しい情報は、カーネルソースファイル \fIDocumentation/prctl/seccomp_filter.txt\fP を参照。
186254 .TP
187255 \fBPR_GET_SECCOMP\fP (Linux 2.6.23 以降)
188-呼び出したスレッドの secure computing モードを返す。 現在の実装 (モードは 1 固定) はあまり役に立たないが、
189-将来他のモードが実装されると役立つようになるかもしれない。 呼び出したスレッドが secure computing モードでなかった場合、 この操作は
190-0 を返す。 呼び出したスレッドが secure computing モードの場合、 \fBprctl\fP() を呼び出すとシグナル \fBSIGKILL\fP
191-がそのプロセスに送信される。 この操作が利用できるのは、カーネルが CONFIG_SECCOMP を有効にして 作成されている場合だけである。
256+呼び出したスレッドの secure computing モードを (関数の結果として) 返す。 呼び出したスレッドが secure computing
257+モードでなかった場合、 この操作は 0 を返す。 呼び出したスレッドが secure computing モードの場合、 \fBprctl\fP()
258+を呼び出すとシグナル \fBSIGKILL\fP がそのプロセスに送信される。 呼び出したスレッドがフィルタモードで、 このシステムコールが seccomp
259+フィルタにより許可されている場合、 2 を返す。 この操作が利用できるのは、カーネルが \fBCONFIG_SECCOMP\fP
260+を有効にして作成されている場合だけである。
192261 .TP
193262 \fBPR_SET_SECUREBITS\fP (Linux 2.6.26 以降)
194263 呼び出したスレッドの "securebits" フラグを \fIarg2\fP で渡された値に設定する。 \fBcapabilities\fP(7) 参照。
195264 .TP
196265 \fBPR_GET_SECUREBITS\fP (Linux 2.6.26 以降)
197-呼び出したスレッドの "securebits" フラグを (関数の返り値として) 返す。 \fBcapabilities\fP(7) 参照。
266+呼び出したスレッドの "securebits" フラグを (関数の結果として) 返す。 \fBcapabilities\fP(7) 参照。
267+.TP
268+\fBPR_SET_THP_DISABLE\fP (Linux 3.15 以降)
269+.\" commit a0715cc22601e8830ace98366c0c2bd8da52af52
270+呼び出したスレッドの "THP disable" (THP 無効) フラグの状態を設定する。 \fIarg2\fP が 0
271+以外の場合、フラグは有効になり、そうでない場合はクリーンされる。 このフラグを設定する方法により、 コードを変更できなかったり
272+\fBmadvise\fP(2) の malloc hook をが有効ではないジョブ (この方法は静的に割り当てられたデータには有効ではない)に対して、
273+transparent huge pages を無効にする手段が提供される。 "THP disable" フラグの設定は \fBfork\fP(2)
274+で作成された子プロセスに継承され、 \fBexecve\fP の前後で維持される。
275+.TP
276+\fBPR_GET_THP_DISABLE\fP (Linux 3.15 以降)
277+呼び出し元スレッドの "THP disable" フラグの現在の設定を (関数の結果として) 返す。フラグがセットされている場合は 1
278+が、セットされていない場合は 0 が返る。
279+.TP
280+\fBPR_GET_TID_ADDRESS\fP (Linux 3.5 以降)
281+.\" commit 300f786b2683f8bb1ec0afb6e1851183a479c86d
282+\fBset_tid_address\fP(2) や \fBclone\fP(2) \fBCLONE_CHILD_CLEARTID\fP フラグで設定された
283+\fIclear_child_tid\fP を取得し、 \fI(int\ **)\ arg2\fP が指す場所に格納して返す。 この機能はカーネルが
284+\fBCONFIG_CHECKPOINT_RESTORE\fP オプションを有効にして作成されている場合にのみ利用できる。
285+.TP
286+\fBPR_SET_TIMERSLACK\fP (Linux 2.6.28 以降)
287+.\" See https://lwn.net/Articles/369549/
288+.\" commit 6976675d94042fbd446231d1bd8b7de71a980ada
289+.\" It seems that it's not possible to set the timer slack to zero;
290+.\" The minimum value is 1? Seems a little strange.
291+Set the current timer slack for the calling thread to the nanosecond value
292+supplied in \fIarg2\fP. If \fIarg2\fP is less than or equal to zero, reset the
293+current timer slack to the thread's default timer slack value. The timer
294+slack is used by the kernel to group timer expirations for the calling
295+thread that are close to one another; as a consequence, timer expirations
296+for the thread may be up to the specified number of nanoseconds late (but
297+will never expire early). Grouping timer expirations can help reduce system
298+power consumption by minimizing CPU wake\-ups.
299+
300+.\" List obtained by grepping for futex usage in glibc source
301+The timer expirations affected by timer slack are those set by \fBselect\fP(2),
302+\fBpselect\fP(2), \fBpoll\fP(2), \fBppoll\fP(2), \fBepoll_wait\fP(2), \fBepoll_pwait\fP(2),
303+\fBclock_nanosleep\fP(2), \fBnanosleep\fP(2), and \fBfutex\fP(2) (and thus the
304+library functions implemented via futexes, including
305+\fBpthread_cond_timedwait\fP(3), \fBpthread_mutex_timedlock\fP(3),
306+\fBpthread_rwlock_timedrdlock\fP(3), \fBpthread_rwlock_timedwrlock\fP(3), and
307+\fBsem_timedwait\fP(3)).
308+
309+Timer slack is not applied to threads that are scheduled under a real\-time
310+scheduling policy (see \fBsched_setscheduler\fP(2)).
311+
312+Each thread has two associated timer slack values: a "default" value, and a
313+"current" value. The current value is the one that governs grouping of
314+timer expirations. When a new thread is created, the two timer slack values
315+are made the same as the current value of the creating thread. Thereafter,
316+a thread can adjust its current timer slack value via \fBPR_SET_TIMERSLACK\fP
317+(the default value can't be changed). The timer slack values of \fIinit\fP
318+(PID 1), the ancestor of all processes, are 50,000 nanoseconds (50
319+microseconds). The timer slack values are preserved across \fBexecve\fP(2).
320+.TP
321+\fBPR_GET_TIMERSLACK\fP (Linux 2.6.28 以降)
322+呼び出し元スレッドの現在のタイマーのスラック値を (関数の結果として) 返す。
198323 .TP
199324 \fBPR_SET_TIMING\fP (Linux 2.6.0\-test4 以降)
200325 .\" 0
@@ -202,34 +327,29 @@ CONFIG_SECCOMP を有効にして 作成されている場合だけである。
202327 .\" PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
203328 .\" and looking at the patch history, it appears
204329 .\" that it never did anything.
205-(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、
206-正確なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。
207-\fIarg2\fP に指定できる値は \fBPR_TIMING_STATISTICAL\fP か
208-\fBPR_TIMING_TIMESTAMP\fP である。 \fBPR_TIMING_TIMESTAMP\fP は現在のところ実
209-装されていない (このモードに設定しようとするとエラー \fBEINVAL\fP が起こる
210-ことだろう)。
330+(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、 正確なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。
331+\fIarg2\fP に指定できる値は \fBPR_TIMING_STATISTICAL\fP か \fBPR_TIMING_TIMESTAMP\fP である。
332+\fBPR_TIMING_TIMESTAMP\fP は現在のところ実装されていない (このモードに設定しようとするとエラー \fBEINVAL\fP
333+が起こることだろう)。
211334 .TP
212335 \fBPR_GET_TIMING\fP (Linux 2.6.0\-test4 以降)
213-現在使用中のプロセスタイミングを決める方法を返す。
336+現在使用中のプロセスタイミングを決める方法を (関数の結果として) 返す。
214337 .TP
215338 \fBPR_TASK_PERF_EVENTS_DISABLE\fP (Linux 2.6.31 以降)
216-Disable all performance counters attached to the calling process, regardless
217-of whether the counters were created by this process or another process.
218-Performance counters created by the calling process for other processes are
219-unaffected. For more information on performance counters, see the kernel
220-source file \fItools/perf/design.txt\fP.
339+呼び出したプロセスに接続されたすべての性能カウンターを無効にする。 カウンターがこのプロセスにより作成されたか他のプロセスにより作成されたかは関係ない。
340+呼び出したプロセスが他のプロセス用に作成した性能カウンターは影響を受けない。 性能カウンターの詳細については Linux カーネルソースの
341+\fItools/perf/design.txt\fP を参照。
221342 .IP
222343 .\" commit 1d1c7ddbfab358445a542715551301b7fc363e28
223-Originally called \fBPR_TASK_PERF_COUNTERS_DISABLE\fP; renamed (with same
224-numerical value) in Linux 2.6.32.
344+以前は \fBPR_TASK_PERF_COUNTERS_DISABLE\fP と呼ばれていた。 Linux 2.6.32 で名前が変更された
345+(数値は同じままである)。
225346 .TP
226347 \fBPR_TASK_PERF_EVENTS_ENABLE\fP (Linux 2.6.31 以降)
227-The converse of \fBPR_TASK_PERF_EVENTS_DISABLE\fP; enable performance counters
228-attached to the calling process.
348+\fBPR_TASK_PERF_EVENTS_DISABLE\fP の逆。 呼び出したプロセスに接続された性能カウンターを有効にする。
229349 .IP
230350 .\" commit 1d1c7ddbfab358445a542715551301b7fc363e28
231351 .\" commit cdd6c482c9ff9c55475ee7392ec8f672eddb7be6
232-Originally called \fBPR_TASK_PERF_COUNTERS_ENABLE\fP; renamed in Linux 2.6.32.
352+以前は \fBPR_TASK_PERF_COUNTERS_ENABLE\fP と呼ばれていた。 Linux 2.6.32 で名前が変更された。
233353 .TP
234354 \fBPR_SET_TSC\fP (Linux 2.6.26 以降, x86 のみ)
235355 そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態を設定する。 読み出しを許可する場合は \fIarg2\fP に
@@ -259,8 +379,8 @@ In this case, \fIarg3\fP defines whether the policy is \fIearly kill\fP
259379 (\fBPR_MCE_KILL_EARLY\fP), \fIlate kill\fP (\fBPR_MCE_KILL_LATE\fP), or the
260380 system\-wide default (\fBPR_MCE_KILL_DEFAULT\fP). Early kill means that the
261381 thread receives a \fBSIGBUS\fP signal as soon as hardware memory corruption is
262-detected inside its address space. In late kill mode, the process is only
263-killed when it accesses a corrupted page. See \fBsigaction\fP(2) for more
382+detected inside its address space. In late kill mode, the process is killed
383+only when it accesses a corrupted page. See \fBsigaction\fP(2) for more
264384 information on the \fBSIGBUS\fP signal. The policy is inherited by children.
265385 The remaining unused \fBprctl\fP() arguments must be zero for future
266386 compatibility.
@@ -270,120 +390,85 @@ Return the current per\-process machine check kill policy. All unused
270390 \fBprctl\fP() arguments must be zero.
271391 .TP
272392 \fBPR_SET_MM\fP (Linux 3.3 以降)
273-Modify certain kernel memory map descriptor fields of the calling process.
274-Usually these fields are set by the kernel and dynamic loader (see
275-\fBld.so\fP(8) for more information) and a regular application should not use
276-this feature. However, there are cases, such as self\-modifying programs,
277-where a program might find it useful to change its own memory map. This
278-feature is available only if the kernel is built with the
279-\fBCONFIG_CHECKPOINT_RESTORE\fP option enabled. The calling process must have
280-the \fBCAP_SYS_RESOURCE\fP capability. The value in \fIarg2\fP is one of the
281-options below, while \fIarg3\fP provides a new value for the option.
393+.\" commit 028ee4be34a09a6d48bdf30ab991ae933a7bc036
394+呼び出したプロセスのカーネルメモリマップディスクリプタのフィールドを変更する。 これらのフィールドは通常カーネルと動的リンカーにより設定される
395+(詳しい情報は \fBld.so\fP を参照)。 通常のアプリケーションはこの機能を利用すべきではない。 しかしながら、自分を書き換えるプログラムなど、
396+プログラムが自分自身のメモリマップを変更するのが有用な場面もある。 この機能はカーネルが \fBCONFIG_CHECKPOINT_RESTORE\fP
397+オプションを有効にして作成されている場合にのみ利用できる。 呼び出したプロセスは \fBCAP_SYS_RESOURCE\fP
398+ケーパビリティを持っていなければならない。 \fIarg2\fP の値には以下のいずれかを指定し、 \fIarg3\fP でそのオプションの新しい値を指定する。
282399 .RS
283400 .TP
284401 \fBPR_SET_MM_START_CODE\fP
285-Set the address above which the program text can run. The corresponding
286-memory area must be readable and executable, but not writable or sharable
287-(see \fBmprotect\fP(2) and \fBmmap\fP(2) for more information).
402+プログラムテキストを実行できるアドレスの上限を設定する。 対応するメモリ領域は読み出し可能で実行可能でなければならないが、
403+書き込み可能だったり共有可能だったりしてはならない (詳しい情報は \fBmprotect\fP(2) と \fBmmap\fP(2) 参照)。
288404 .TP
289405 \fBPR_SET_MM_END_CODE\fP
290-Set the address below which the program text can run. The corresponding
291-memory area must be readable and executable, but not writable or sharable.
406+プログラムテキストを実行できるアドレスの下限を設定する。 対応するメモリ領域は読み出し可能で実行可能でなければならないが、
407+書き込み可能だったり共有可能だったりしてはならない。
292408 .TP
293409 \fBPR_SET_MM_START_DATA\fP
294-Set the address above which initialized and uninitialized (bss) data are
295-placed. The corresponding memory area must be readable and writable, but
296-not executable or sharable.
410+初期化済データや未初期化 (bss) データを配置する領域のアドレス上限を指定する。 対応するメモリ領域は読み書き可能でなければならないが、
411+実行可能だったり共有可能だったりしてはならない。
297412 .TP
298413 \fBPR_SET_MM_END_DATA\fP
299-Set the address below which initialized and uninitialized (bss) data are
300-placed. The corresponding memory area must be readable and writable, but
301-not executable or sharable.
414+初期化済データや未初期化 (bss) データを配置する領域のアドレス下限を指定する。 対応するメモリ領域は読み書き可能でなければならないが、
415+実行可能だったり共有可能だったりしてはならない。
302416 .TP
303417 \fBPR_SET_MM_START_STACK\fP
304-Set the start address of the stack. The corresponding memory area must be
305-readable and writable.
418+スタックの開始アドレスを設定する。 対応するメモリ領域は読み書き可能でなければならない。
306419 .TP
307420 \fBPR_SET_MM_START_BRK\fP
308-Set the address above which the program heap can be expanded with \fBbrk\fP(2)
309-call. The address must be greater than the ending address of the current
310-program data segment. In addition, the combined size of the resulting heap
311-and the size of the data segment can't exceed the \fBRLIMIT_DATA\fP resource
312-limit (see \fBsetrlimit\fP(2)).
421+\fBbrk\fP(2) コールで拡張できるプログラムのヒープ領域のアドレス上限を設定する。
422+このアドレスは、プログラムの現在のデータセグメントの最終アドレスより大きくなければならない。 また、
423+変更後のヒープとデータセグメントのサイズを合わせたサイズが \fBRLIMIT_DATA\fP リソースリミットを超えることはできない
424+(\fBsetrlimit\fP(2) 参照)。
313425 .TP
314426 \fBPR_SET_MM_BRK\fP
315-.\" FIXME The following (until ========) is not yet in mainline kernel,
316-.\" so commented out for the moment.
317-.\" .TP
318-.\" .BR PR_SET_MM_ARG_START
319-.\" Set the address above which the program command line is placed.
320-.\" .TP
321-.\" .BR PR_SET_MM_ARG_END
322-.\" Set the address below which the program command line is placed.
323-.\" .TP
324-.\" .BR PR_SET_MM_ENV_START
325-.\" Set the address above which the program environment is placed.
326-.\" .TP
327-.\" .BR PR_SET_MM_ENV_END
328-.\" Set the address below which the program environment is placed.
329-.\" .IP
330-.\" The address passed with
331-.\" .BR PR_SET_MM_ARG_START ,
332-.\" .BR PR_SET_MM_ARG_END ,
333-.\" .BR PR_SET_MM_ENV_START ,
334-.\" and
335-.\" .BR PR_SET_MM_ENV_END
336-.\" should belong to a process stack area.
337-.\" Thus, the corresponding memory area must be readable, writable, and
338-.\" (depending on the kernel configuration) have the
339-.\" .BR MAP_GROWSDOWN
340-.\" attribute set (see
341-.\" .BR mmap (2)).
342-.\" .TP
343-.\" .BR PR_SET_MM_AUXV
344-.\" Set a new auxiliary vector.
345-.\" The
346-.\" .I arg3
347-.\" argument should provide the address of the vector.
348-.\" The
349-.\" .I arg4
350-.\" is the size of the vector.
351-.\" .TP
352-.\" .BR PR_SET_MM_EXE_FILE
353-.\" Supersede the
354-.\" .IR /proc/pid/exe
355-.\" symbolic link with a new one pointing to a new executable file
356-.\" identified by the file descriptor provided in
357-.\" .I arg3
358-.\" argument.
359-.\" The file descriptor should be obtained with a regular
360-.\" .BR open (2)
361-.\" call.
362-.\" .IP
363-.\" To change the symbolic link, one needs to unmap all existing
364-.\" executable memory areas, including those created by the kernel itself
365-.\" (for example the kernel usually creates at least one executable
366-.\" memory area for the ELF
367-.\" .IR .text
368-.\" section).
369-.\" .IP
370-.\" The second limitation is that such transitions can be done only once
371-.\" in a process life time.
372-.\" Any further attempts will be rejected.
373-.\" This should help system administrators to monitor unusual
374-.\" symbolic-link transitions over all process running in a system.
375-.\" ========== END FIXME
376-Set the current \fBbrk\fP(2) value. The requirements for the address are the
377-same as for the \fBPR_SET_MM_START_BRK\fP option.
427+現在の \fBbrk\fP(2) 値を設定する。 このアドレスの要件は \fBPR_SET_MM_START_BRK\fP オプションと同じである。
428+.P
429+.\" commit fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7
430+以下のオプションは Linux 3.5 以降で利用できる。
431+.TP
432+\fBPR_SET_MM_ARG_START\fP
433+プログラムのコマンドラインを配置するアドレスの上限を設定する。
434+.TP
435+\fBPR_SET_MM_ARG_END\fP
436+プログラムのコマンドラインを配置するアドレスの下限を設定する。
437+.TP
438+\fBPR_SET_MM_ENV_START\fP
439+プログラムの環境情報 (environment) を配置するアドレスの上限を設定する。
440+.TP
441+\fBPR_SET_MM_ENV_END\fP
442+プログラムの環境情報 (environment) を配置するアドレスの下限を設定する。
443+.IP
444+\fBPR_SET_MM_ARG_START\fP, \fBPR_SET_MM_ARG_END\fP, \fBPR_SET_MM_ENV_START\fP,
445+\fBPR_SET_MM_ENV_END\fP で指定されるアドレスはプロセスのスタック領域に属している必要がある。
446+したがって、これらのメモリ領域は読み書き可能でなければならない。 また、 (カーネル設定によっては) \fBMAP_GROWSDOWN\fP
447+属性がセットされていなければならない (\fBmmap\fP(2) 参照)。
448+.TP
449+\fBPR_SET_MM_AUXV\fP
450+新しい補助ベクトル (auxiliary vector) を設定する。 \fIarg3\fP 引き数はベクトルのアドレスを指定し、 \fIarg4\fP
451+はベクトルのサイズを指定する。
452+.TP
453+\fBPR_SET_MM_EXE_FILE\fP
454+.\" commit b32dfe377102ce668775f8b6b1461f7ad428f8b6
455+\fI/proc/pid/exe\fP シンボリックリンクを \fIarg3\fP
456+引き数で渡された新しい実行可能なファイルディスクリプタを指すシンボリックリンクで置き換える。 ファイルディスクリプタは通常の \fBopen\fP(2)
457+コールで取得すべきである。
458+.IP
459+シンボリックリンクを変更するには、 既存の実行可能なメモリ領域のすべてをアンマップする必要がある。これにはカーネル自身が作成した領域も含まれる
460+(例えば、カーネルは通常 ELF \fI.text\fP セクションに少なくとも一つの実行可能なメモリ領域を作成する)。
461+.IP
462+二つ目の制限は、このような変更はプロセスの生存期間で一度だけ行うことができるという点である。 一度変更を行った後で変更を行おうとすると拒否される。
463+この動作は、 システム管理者が、 システムで動作するすべてのプロセスが行う、 普通でないシンボリックリンクの変更を監視するのを楽にする。
378464 .RE
379465 .\"
380466 .SH 返り値
381-成功すると、 \fBPR_GET_DUMPABLE\fP, \fBPR_GET_KEEPCAPS\fP,
382-\fBPR_CAPBSET_READ\fP, \fBPR_GET_TIMING\fP, \fBPR_GET_SECUREBITS\fP,
383-\fBPR_MCE_KILL_GET\fP, \fBPR_GET_SECCOMP\fP は上述の負でない値を返す (なお、
384-\fBPR_GET_SECCOMP\fP は返らない場合もある)。 \fIoption\fP が他の値の場合は
385-成功時に 0 を返す。
386-エラーの場合、\-1 を返し、 \fIerrno\fP に適切な値を設定する。
467+成功すると、 \fBPR_GET_DUMPABLE\fP, \fBPR_GET_KEEPCAPS\fP, \fBPR_GET_NO_NEW_PRIVS\fP,
468+\fBPR_GET_THP_DISABLE\fP, \fBPR_CAPBSET_READ\fP, \fBPR_GET_TIMING\fP,
469+\fBPR_GET_TIMERSLACK\fP, \fBPR_GET_SECUREBITS\fP, \fBPR_MCE_KILL_GET\fP,
470+\fBPR_GET_SECCOMP\fP は上述の負でない値を返す (なお、\fBPR_GET_SECCOMP\fP は返らない場合もある)。 \fIoption\fP
471+が他の値の場合は成功時に 0 を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP に適切な値を設定する。
387472 .SH エラー
388473 .TP
389474 \fBEFAULT\fP
@@ -393,8 +478,8 @@ same as for the \fBPR_SET_MM_START_BRK\fP option.
393478 \fIoption\fP の値が理解できない。
394479 .TP
395480 \fBEINVAL\fP
396-\fIoption\fP is \fBPR_MCE_KILL\fP or \fBPR_MCE_KILL_GET\fP or \fBPR_SET_MM\fP, and
397-unused \fBprctl\fP() arguments were not specified as zero.
481+\fIoption\fP が \fBPR_MCE_KILL\fP, \fBPR_MCE_KILL_GET\fP, \fBPR_SET_MM\fP のいずれかで、かつ未使用の
482+\fBprctl\fP() 引き数に 0 が指定されていなかった。
398483 .TP
399484 \fBEINVAL\fP
400485 \fIarg2\fP が指定された \fIoption\fP で有効な値ではない。
@@ -404,23 +489,51 @@ unused \fBprctl\fP() arguments were not specified as zero.
404489 を有効にして作成されていなかった。
405490 .TP
406491 \fBEINVAL\fP
407-\fIoption\fP is \fBPR_SET_MM\fP, and one of the following is true
492+\fIoption\fP が \fBPR_SET_MM\fP で、以下のいずれかが真である。
408493 .RS
409494 .IP * 3
410-\fIarg4\fP or \fIarg5\fP is nonzero;
495+\fIarg4\fP が \fIarg5\fP で 0 以外である。
411496 .IP *
412-\fIarg3\fP is greater than \fBTASK_SIZE\fP (the limit on the size of the user
413-address space for this architecture);
497+\fIarg3\fP が \fBTASK_SIZE\fP よりも大きい (\fBTASK_SIZE\fP
498+はこのアーキテクチャーでユーザー空間アドレススペースの最大サイズである)。
414499 .IP *
415-\fIarg2\fP is \fBPR_SET_MM_START_CODE\fP, \fBPR_SET_MM_END_CODE\fP,
416-\fBPR_SET_MM_START_DATA\fP, \fBPR_SET_MM_END_DATA\fP, or \fBPR_SET_MM_START_STACK,\fP
417-and the permissions of the corresponding memory area are not as required;
500+\fIarg2\fP が \fBPR_SET_MM_START_CODE\fP, \fBPR_SET_MM_END_CODE\fP,
501+\fBPR_SET_MM_START_DATA\fP, \fBPR_SET_MM_END_DATA\fP, \fBPR_SET_MM_START_STACK\fP
502+のどれかで、対応するメモリ領域のアクセス許可が要件を満たしていない。
418503 .IP *
419-\fIarg2\fP is \fBPR_SET_MM_START_BRK\fP or \fBPR_SET_MM_BRK\fP, and \fIarg3\fP is less
420-than or equal to the end of the data segment or specifies a value that would
421-cause the \fBRLIMIT_DATA\fP resource limit to be exceeded.
504+\fIarg2\fP が \fBPR_SET_MM_START_BRK\fP か \fBPR_SET_MM_BRK\fP で、 \fIarg3\fP
505+データセグメントの末尾と同じかそれより前か、 \fIarg3\fP に \fBRLIMIT_DATA\fP リソースリミットを超えてしまうような値が指定されている。
422506 .RE
423507 .TP
508+\fBEINVAL\fP
509+\fIoption\fP が \fBPR_SET_PTRACER\fP で \fIarg2\fP が 0, \fBPR_SET_PTRACER_ANY\fP, 既存プロセスの
510+PID のいずれでもない。
511+.TP
512+\fBEINVAL\fP
513+\fIoption\fP が \fBPR_SET_PDEATHSIG\fP で、 \fIarg2\fP で指定された値は無効なシグナル番号である。
514+.TP
515+\fBEINVAL\fP
516+\fIoption\fP が \fBPR_SET_DUMPABLE\fP で、 \fIarg2\fP が \fBSUID_DUMP_DISABLE\fP でも
517+\fBSUID_DUMP_USER\fP でもない。
518+.TP
519+\fBEINVAL\fP
520+\fIoption\fP が \fBPR_SET_TIMING\fP で、 \fIarg2\fP が \fBPR_TIMING_STATISTICAL\fP ではない。
521+.TP
522+\fBEINVAL\fP
523+\fIoption\fP が \fBPR_SET_NO_NEW_PRIVS\fP で、 \fIarg2\fP が 1 以外か、 \fIarg3\fP, \fIarg4\fP,
524+\fIarg5\fP のどれかが 0 ではない。
525+.TP
526+\fBEINVAL\fP
527+\fIoption\fP が \fBPR_GET_NO_NEW_PRIVS\fP で、 \fIarg2\fP, \fIarg3\fP, \fIarg4\fP, \fIarg5\fP
528+のどれかが 0 ではない。
529+.TP
530+\fBEINVAL\fP
531+\fIoption\fP が \fBPR_SET_THP_DISABLE\fP で \fIarg3\fP, \fIarg4\fP, \fIarg5\fP のどれかが 0 ではない。
532+.TP
533+\fBEINVAL\fP
534+\fIoption\fP が \fBPR_GET_THP_DISABLE\fP で \fIarg2\fP, \fIarg3\fP, \fIarg4\fP, \fIarg5\fP のいずれが
535+0 ではない。
536+.TP
424537 \fBEPERM\fP
425538 \fIoption\fP が \fBPR_SET_SECUREBITS\fP で、呼び出し元がケーパビリティ \fBCAP_SETPCAP\fP を持っていない。
426539 または、"locked" フラグを解除しようとした。 または、locked フラグがセットされているフラグをセットしようとした
@@ -434,41 +547,16 @@ cause the \fBRLIMIT_DATA\fP resource limit to be exceeded.
434547 \fIoption\fP が \fBPR_CAPBSET_DROP\fP で、呼び出し元がケーパビリティ \fBCAP_SETPCAP\fP を持っていない。
435548 .TP
436549 \fBEPERM\fP
437-.\" FIXME The following (until ========) is not yet in mainline kernel,
438-.\" so commented out for the moment.
439-.\" .TP
440-.\" .B EACCES
441-.\" .I option
442-.\" is
443-.\" .BR PR_SET_MM ,
444-.\" and
445-.\" .I arg3
446-.\" is
447-.\" .BR PR_SET_MM_EXE_FILE ,
448-.\" the file is not executable.
449-.\" .TP
450-.\" .B EBUSY
451-.\" .I option
452-.\" is
453-.\" .BR PR_SET_MM ,
454-.\" .I arg3
455-.\" is
456-.\" .BR PR_SET_MM_EXE_FILE ,
457-.\" and this the second attempt to change the
458-.\" .I /proc/pid/exe
459-.\" symbolic link, which is prohibited.
460-.\" .TP
461-.\" .B EBADF
462-.\" .I option
463-.\" is
464-.\" .BR PR_SET_MM ,
465-.\" .I arg3
466-.\" is
467-.\" .BR PR_SET_MM_EXE_FILE ,
468-.\" and the file descriptor passed in
469-.\" .I arg4
470-.\" is not valid.
471-.\" ========== END FIXME
550+\fIoption\fP が \fBPR_SET_MM\fP で、呼び出し元がケーパビリティ \fBCAP_SYS_RESOURCE\fP を持っていない。
551+.TP
552+\fBEACCES\fP
553+\fIoption\fP が \fBPR_SET_MM\fP、かつ \fIarg3\fP が \fBPR_SET_MM_EXE_FILE\fP で、ファイルが実行可能ではない。
554+.TP
555+\fBEBUSY\fP
556+\fIoption\fP が \fBPR_SET_MM\fP で、 \fIarg3\fP が \fBPR_SET_MM_EXE_FILE\fP で、
557+\fI/proc/pid/exe\fP シンボリックリンクを変更しようとしたが、 禁止されている。
558+.TP
559+\fBEBADF\fP
472560 .\" The following can't actually happen, because prctl() in
473561 .\" seccomp mode will cause SIGKILL.
474562 .\" .TP
@@ -477,8 +565,8 @@ cause the \fBRLIMIT_DATA\fP resource limit to be exceeded.
477565 .\" is
478566 .\" .BR PR_SET_SECCOMP ,
479567 .\" and secure computing mode is already 1.
480-\fIoption\fP が \fBPR_SET_MM\fP で、呼び出し元がケーパビリティ
481-\fBCAP_SYS_RESOURCE\fP を持っていない。
568+\fIoption\fP が \fBPR_SET_MM\fP で、 \fIarg3\fP が \fBPR_SET_MM_EXE_FILE\fP で、 \fIarg4\fP
569+で渡されたファイルディスクリプタが有効ではない。
482570 .SH バージョン
483571 .\" The library interface was added in glibc 2.0.6
484572 \fBprctl\fP() システムコールは Linux 2.1.57 で導入された。
@@ -493,6 +581,5 @@ irix_prctl として Linux 2.1.44 で同様に導入された)、 そのプロ
493581 .SH 関連項目
494582 \fBsignal\fP(2), \fBcore\fP(5)
495583 .SH この文書について
496-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
497-である。プロジェクトの説明とバグ報告に関する情報は
498-http://www.kernel.org/doc/man\-pages/ に書かれている。
584+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部である。
585+プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。
--- a/stats/signal
+++ b/stats/signal
@@ -1,5 +1,5 @@
11 # pagename,#complete,#remaining,#all
2-prctl.2,145,54,199
2+prctl.2,188,11,199
33 restart_syscall.2,20,7,27
44 rt_sigqueueinfo.2,30,18,48
55 s390_runtime_instr.2,20,11,31
--- a/untrans.html
+++ b/untrans.html
@@ -55,7 +55,7 @@
5555 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>process</B></TD></TR>
5656 <TR><TD>cpuset.7</TD><TD>212/314</TD><TD>32.48</TD></TR>
5757 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>signal</B></TD></TR>
58-<TR class="over70"><TD>prctl.2</TD><TD>54/199</TD><TD>72.86</TD></TR>
58+<TR class="over80"><TD>prctl.2</TD><TD>11/199</TD><TD>94.47</TD></TR>
5959 <TR class="over70"><TD>restart_syscall.2</TD><TD>7/27</TD><TD>74.07</TD></TR>
6060 <TR><TD>rt_sigqueueinfo.2</TD><TD>18/48</TD><TD>62.50</TD></TR>
6161 <TR><TD>s390_runtime_instr.2</TD><TD>11/31</TD><TD>64.52</TD></TR>