summaryrefslogtreecommitdiffstats
path: root/po/ru/man2/mprotect.2.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/ru/man2/mprotect.2.po')
-rw-r--r--po/ru/man2/mprotect.2.po1022
1 files changed, 1022 insertions, 0 deletions
diff --git a/po/ru/man2/mprotect.2.po b/po/ru/man2/mprotect.2.po
new file mode 100644
index 00000000..671fb22e
--- /dev/null
+++ b/po/ru/man2/mprotect.2.po
@@ -0,0 +1,1022 @@
+# Russian translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# aereiae <aereiae@gmail.com>, 2014.
+# Alexey <a.chepugov@gmail.com>, 2015.
+# Azamat Hackimov <azamat.hackimov@gmail.com>, 2013-2017.
+# Dmitriy S. Seregin <dseregin@59.ru>, 2013.
+# Dmitry Bolkhovskikh <d20052005@yandex.ru>, 2017.
+# ITriskTI <ITriskTI@gmail.com>, 2013.
+# Max Is <ismax799@gmail.com>, 2016.
+# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019.
+# Иван Павлов <pavia00@gmail.com>, 2017.
+# Малянов Евгений Викторович <maljanow@outlook.com>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n\n"
+"POT-Creation-Date: 2024-03-01 17:02+0100\n"
+"PO-Revision-Date: 2019-10-06 08:59+0300\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
+"(n%100>=11 && n%100<=14)? 2 : 3);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "mprotect"
+msgstr "mprotect"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 октября 2023 г."
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Linux man-pages 6.06"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr "ИМЯ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "mprotect, pkey_mprotect - set protection on a region of memory"
+msgstr "mprotect, pkey_mprotect - контролирует доступ к области памяти"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Standard C library (I<libc>, I<-lc>)"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "СИНТАКСИС"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<#include E<lt>sys/mman.hE<gt>>\n"
+msgstr "B<#include E<lt>sys/mman.hE<gt>>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<int mprotect(void *>I<addr>B<, size_t >I<len>B<, int >I<prot>B<);>\n"
+msgid "B<int mprotect(void >I<addr>B<[.>I<len>B<], size_t >I<len>B<, int >I<prot>B<);>\n"
+msgstr "B<int mprotect(void *>I<addr>B<, size_t >I<len>B<, int >I<prot>B<);>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
+"B<#include E<lt>sys/mman.hE<gt>>\n"
+msgstr ""
+"B<#define _GNU_SOURCE> /* смотрите feature_test_macros(7) */\n"
+"B<#include E<lt>sys/mman.hE<gt>>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<int pkey_mprotect(void *>I<addr>B<, size_t >I<len>B<, int >I<prot>B<, int >I<pkey>B<);>\n"
+msgid "B<int pkey_mprotect(void >I<addr>B<[.>I<len>B<], size_t >I<len>B<, int >I<prot>B<, int >I<pkey>B<);>\n"
+msgstr "B<int pkey_mprotect(void *>I<addr>B<, size_t >I<len>B<, int >I<prot>B<, int >I<pkey>B<);>\n"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "ОПИСАНИЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<mprotect>() changes the access protections for the calling process's "
+"memory pages containing any part of the address range in the interval "
+"[I<addr>,\\ I<addr>+I<len>-1]. I<addr> must be aligned to a page boundary."
+msgstr ""
+"Вызов B<mprotect>() изменяет параметры доступа страниц памяти вызывающего "
+"процесса, которые содержатся, даже частично, в адресном диапазоне [I<addr>,"
+"\\ I<addr>+I<len>-1]. Значение I<addr> должно быть выровнено на границу "
+"страницы."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the calling process tries to access memory in a manner that violates the "
+"protections, then the kernel generates a B<SIGSEGV> signal for the process."
+msgstr ""
+"Если вызывающий процесс нарушает защиту доступа к памяти, то ядро посылает "
+"процессу сигнал B<SIGSEGV>."
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "I<prot> is a combination of the following access flags: B<PROT_NONE> or a "
+#| "bitwise-or of the other values in the following list:"
+msgid ""
+"I<prot> is a combination of the following access flags: B<PROT_NONE> or a "
+"bitwise OR of the other values in the following list:"
+msgstr ""
+"Значение I<prot> представляет собой комбинацию следующих флагов доступа: "
+"B<PROT_NONE> или побитово сложенные другие значения из следующего списка:"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PROT_NONE>"
+msgstr "B<PROT_NONE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The memory cannot be accessed at all."
+msgstr "Доступ к памяти запрещён."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PROT_READ>"
+msgstr "B<PROT_READ>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The memory can be read."
+msgstr "Память можно читать."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PROT_WRITE>"
+msgstr "B<PROT_WRITE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The memory can be modified."
+msgstr "Память можно изменять."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PROT_EXEC>"
+msgstr "B<PROT_EXEC>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The memory can be executed."
+msgstr "Память можно выполнять."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PROT_SEM> (since Linux 2.5.7)"
+msgstr "B<PROT_SEM> (начиная с Linux 2.5.7)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The memory can be used for atomic operations. This flag was introduced as "
+"part of the B<futex>(2) implementation (in order to guarantee the ability "
+"to perform atomic operations required by commands such as B<FUTEX_WAIT>), "
+"but is not currently used in on any architecture."
+msgstr ""
+"Память можно использовать для атомарных операций. Этот флаг появился как "
+"часть реализации B<futex>(2) (для гарантии способности выполнять атомарные "
+"операции, требуемые таким командам как B<FUTEX_WAIT>), но пока не "
+"используется ни в одной архитектуре."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PROT_SAO> (since Linux 2.6.26)"
+msgstr "B<PROT_SAO> (начиная с Linux 2.6.26)"
+
+#. commit aba46c5027cb59d98052231b36efcbbde9c77a1d
+#. commit ef3d3246a0d06be622867d21af25f997aeeb105f
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The memory should have strong access ordering. This feature is specific to "
+"the PowerPC architecture (version 2.06 of the architecture specification "
+"adds the SAO CPU feature, and it is available on POWER 7 or PowerPC A2, for "
+"example)."
+msgstr ""
+"Память должна иметь строгий порядок доступа. Это свойство есть только в "
+"архитектуре PowerPC (в спецификации архитектуры версии 2.06 добавлено "
+"свойство ЦП SAO и оно доступно, например, на POWER 7 или PowerPC A2)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Additionally (since Linux 2.6.0), I<prot> can have one of the following "
+"flags set:"
+msgstr ""
+"Также (начиная с Linux 2.6.0), I<prot> может содержать один из следующих "
+"установленных флагов:"
+
+#. mm/mmap.c:
+#. vm_flags |= calc_vm_prot_bits(prot, pkey) | calc_vm_flag_bits(flags) |
+#. mm->def_flags | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC;
+#. And calc_vm_flag_bits converts only GROWSDOWN/DENYWRITE/LOCKED.
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PROT_GROWSUP>"
+msgstr "B<PROT_GROWSUP>"
+
+#. The VMA is one that was marked with VM_GROWSUP by the kernel
+#. when the stack was created. Note that (unlike VM_GROWSDOWN),
+#. there is no mmap() flag (analogous to MAP_GROWSDOWN) for
+#. creating a VMA that is marked VM_GROWSUP.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "Apply the protection mode up to the end of a mapping that grows upwards. "
+#| "(Such mappings are created for the stack area on architectures\\(emfor "
+#| "example, HP-PARISC\\(emthat have an upwardly growing stack.)"
+msgid ""
+"Apply the protection mode up to the end of a mapping that grows upwards. "
+"(Such mappings are created for the stack area on architectures\\[em]for "
+"example, HP-PARISC\\[em]that have an upwardly growing stack.)"
+msgstr ""
+"Применить режим защиты до конца отображения, которое растёт вверх (такие "
+"отображения создаются для области стека например в архитектуре HP-PARISC, "
+"где стек растёт вверх)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PROT_GROWSDOWN>"
+msgstr "B<PROT_GROWSDOWN>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Apply the protection mode down to the beginning of a mapping that grows "
+"downward (which should be a stack segment or a segment mapped with the "
+"B<MAP_GROWSDOWN> flag set)."
+msgstr ""
+"Применить режим защиты до начала отображения, которое растёт вниз (которое "
+"должно быть сегментом стека или сегментом, отображённым с установленным "
+"флагом B<MAP_GROWSDOWN>)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Like B<mprotect>(), B<pkey_mprotect>() changes the protection on the pages "
+"specified by I<addr> and I<len>. The I<pkey> argument specifies the "
+"protection key (see B<pkeys>(7)) to assign to the memory. The protection "
+"key must be allocated with B<pkey_alloc>(2) before it is passed to "
+"B<pkey_mprotect>(). For an example of the use of this system call, see "
+"B<pkeys>(7)."
+msgstr ""
+"Подобно B<mprotect>(), вызов B<pkey_mprotect>() изменяет защиту страниц, "
+"указанных I<addr> и I<len>. Аргумент I<pkey> содержит ключ защиты (смотрите "
+"B<pkeys>(7)), назначаемый памяти. Ключ защиты должен быть выделен с помощью "
+"B<pkey_alloc>(2) до передачи в B<pkey_mprotect>(). Пример использования "
+"этого системного вызова смотрите в B<pkeys>(7)."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "On success, B<mprotect>() and B<pkey_mprotect>() return zero. On "
+#| "error, these system calls return -1, and I<errno> is set appropriately."
+msgid ""
+"On success, B<mprotect>() and B<pkey_mprotect>() return zero. On error, "
+"these system calls return -1, and I<errno> is set to indicate the error."
+msgstr ""
+"При успешном выполнении B<mprotect>() и B<pkey_mprotect>() возвращают 0. В "
+"случае ошибки возвращается -1, а I<errno> устанавливается в соответствующее "
+"значение."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr "ОШИБКИ"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EACCES>"
+msgstr "B<EACCES>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The memory cannot be given the specified access. This can happen, for "
+"example, if you B<mmap>(2) a file to which you have read-only access, then "
+"ask B<mprotect>() to mark it B<PROT_WRITE>."
+msgstr ""
+"Нельзя задать этот вид доступа. Например, это может случиться, если при "
+"вызове B<mmap>(2) файл доступен только на чтение, а запрос B<mprotect>() был "
+"B<PROT_WRITE>."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr "B<EINVAL>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<addr> is not a valid pointer, or not a multiple of the system page size."
+msgstr ""
+"Значение I<addr> не является правильным указателем или не кратен размеру "
+"системной страницы."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(B<pkey_mprotect>()) I<pkey> has not been allocated with B<pkey_alloc>(2)"
+msgstr ""
+"(B<pkey_mprotect>()) I<pkey> не был выделен с помощью B<pkey_alloc>(2)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Both B<PROT_GROWSUP> and B<PROT_GROWSDOWN> were specified in I<prot>."
+msgstr "В I<prot> указаны оба флага, B<PROT_GROWSUP> и B<PROT_GROWSDOWN>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Invalid flags specified in I<prot>."
+msgstr "Указано неверное значение в I<prot>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(PowerPC architecture) B<PROT_SAO> was specified in I<prot>, but SAO "
+"hardware feature is not available."
+msgstr ""
+"(архитектура PowerPC ) В I<prot> указан B<PROT_SAO>, но недоступно "
+"аппаратное свойство SAO."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOMEM>"
+msgstr "B<ENOMEM>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Internal kernel structures could not be allocated."
+msgstr "Не удалось выделить место под внутренние структуры ядра."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "Addresses in the range [I<addr>, I<addr>+I<len>-1] are invalid for the "
+#| "address space of the process, or specify one or more pages that are not "
+#| "mapped. (Before kernel 2.4.19, the error B<EFAULT> was incorrectly "
+#| "produced for these cases.)"
+msgid ""
+"Addresses in the range [I<addr>, I<addr>+I<len>-1] are invalid for the "
+"address space of the process, or specify one or more pages that are not "
+"mapped. (Before Linux 2.4.19, the error B<EFAULT> was incorrectly produced "
+"for these cases.)"
+msgstr ""
+"Адреса в диапазоне [I<addr>, I<addr>+I<len>-1] некорректны для адресного "
+"пространства процесса, или одна или более указанных страниц не отображена "
+"(до ядра версии 2.4.19 в этих случаях некорректно возвращалась ошибка "
+"B<EFAULT>)."
+
+#. I.e., the number of VMAs would exceed the 64 kB maximum
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Changing the protection of a memory region would result in the total number "
+"of mappings with distinct attributes (e.g., read versus read/write "
+"protection) exceeding the allowed maximum. (For example, making the "
+"protection of a range B<PROT_READ> in the middle of a region currently "
+"protected as B<PROT_READ|PROT_WRITE> would result in three mappings: two "
+"read/write mappings at each end and a read-only mapping in the middle.)"
+msgstr ""
+"Изменение защиты области памяти привело бы к превышению разрешённого "
+"максимума на количество отображений с различающимися атрибутами (защита на "
+"чтение и на чтение/запись). Например, защита диапазона B<PROT_READ> в "
+"середине области, которая сейчас защищена B<PROT_READ|PROT_WRITE>, привела "
+"бы к трём отображениям: два отображения на концах, доступных на чтение/"
+"запись и доступное только для чтение отображение посередине."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr "ВЕРСИИ"
+
+#. SVr4 defines an additional error
+#. code EAGAIN. The SVr4 error conditions don't map neatly onto Linux's.
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "B<mprotect>(): POSIX.1-2001, POSIX.1-2008, SVr4. POSIX says that the "
+#| "behavior of B<mprotect>() is unspecified if it is applied to a region of "
+#| "memory that was not obtained via B<mmap>(2)."
+msgid ""
+"POSIX says that the behavior of B<mprotect>() is unspecified if it is "
+"applied to a region of memory that was not obtained via B<mmap>(2)."
+msgstr ""
+"B<mprotect>(): В POSIX.1-2001, POSIX.1-2008, SVr4 сказано, что поведение "
+"B<mprotect>() не определено, если переданная область памяти не получена "
+"через B<mmap>(2)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On Linux, it is always permissible to call B<mprotect>() on any address in "
+"a process's address space (except for the kernel vsyscall area). In "
+"particular, it can be used to change existing code mappings to be writable."
+msgstr ""
+"В Linux всегда можно вызвать B<mprotect>() с любым адресом из адресного "
+"пространства процесса (за исключением области ядра vsyscall). В частности, "
+"это можно использовать для изменения отображений существующего кода на "
+"записываемые."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Whether B<PROT_EXEC> has any effect different from B<PROT_READ> depends on "
+"processor architecture, kernel version, and process state. If "
+"B<READ_IMPLIES_EXEC> is set in the process's personality flags (see "
+"B<personality>(2)), specifying B<PROT_READ> will implicitly add B<PROT_EXEC>."
+msgstr ""
+"Отличается ли действие B<PROT_EXEC> от B<PROT_READ> зависит от архитектуры "
+"процессора, версии ядра и состояния процесса. Если в флагах специализаций "
+"процессора установлен B<READ_IMPLIES_EXEC> (смотрите B<personality>(2)), то "
+"указание B<PROT_READ> подразумевает добавление B<PROT_EXEC>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On some hardware architectures (e.g., i386), B<PROT_WRITE> implies "
+"B<PROT_READ>."
+msgstr ""
+"На некоторых аппаратных архитектурах (например, i386) B<PROT_WRITE> "
+"подразумевает B<PROT_READ>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"POSIX.1 says that an implementation may permit access other than that "
+"specified in I<prot>, but at a minimum can allow write access only if "
+"B<PROT_WRITE> has been set, and must not allow any access if B<PROT_NONE> "
+"has been set."
+msgstr ""
+"В POSIX.1 сказано, что реализация может разрешить доступ отличный от "
+"указанного в I<prot>, но для доступа на запись должен быть обязательно "
+"установлен флаг B<PROT_WRITE>, и любой доступ должен быть запрещён, если "
+"установлен флаг B<PROT_NONE>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Applications should be careful when mixing use of B<mprotect>() and "
+"B<pkey_mprotect>(). On x86, when B<mprotect>() is used with I<prot> set to "
+"B<PROT_EXEC> a pkey may be allocated and set on the memory implicitly by the "
+"kernel, but only when the pkey was 0 previously."
+msgstr ""
+"В приложениях нужно осторожно использовать B<mprotect>() и "
+"B<pkey_mprotect>() вместе. На x86, если B<mprotect>() используется с "
+"установленным в I<prot> значением B<PROT_EXEC>, то pkey может быть выделен "
+"и установлен ядром в память неявным образом, но только если до этого pkey "
+"был равен 0."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On systems that do not support protection keys in hardware, "
+"B<pkey_mprotect>() may still be used, but I<pkey> must be set to -1. When "
+"called this way, the operation of B<pkey_mprotect>() is equivalent to "
+"B<mprotect>()."
+msgstr ""
+"В системах без аппаратной поддержки ключей защиты B<pkey_mprotect>() всё ещё "
+"можно использовать, но значение I<pkey> должно быть равно -1. При таком "
+"вызове операция B<pkey_mprotect>() эквивалентна B<mprotect>()."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr "СТАНДАРТЫ"
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "mprotect"
+msgid "B<mprotect>()"
+msgstr "mprotect"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2008."
+msgstr "POSIX.1-2008."
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "mprotect"
+msgid "B<pkey_mprotect>()"
+msgstr "mprotect"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Linux."
+msgstr "Linux."
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr "ИСТОРИЯ"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2001, SVr4."
+msgstr "POSIX.1-2001, SVr4."
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid "Since glibc 2.2.2:"
+msgid "Linux 4.9, glibc 2.27."
+msgstr "Начиная с glibc 2.2.2:"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr "ЗАМЕЧАНИЯ"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "ПРИМЕРЫ"
+
+#. sigaction.2 refers to this example
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The program below demonstrates the use of B<mprotect>(). The program "
+"allocates four pages of memory, makes the third of these pages read-only, "
+"and then executes a loop that walks upward through the allocated region "
+"modifying bytes."
+msgstr ""
+"Программа, представленная далее, показывает использование B<mprotect>(). Она "
+"выделяет четыре страницы памяти, делает третью доступной только на чтение, а "
+"затем запускает цикл, который проходит по выделенной области, меняя байты."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"An example of what we might see when running the program is the following:"
+msgstr "Результат работы программы:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"$B< ./a.out>\n"
+"Start of region: 0x804c000\n"
+"Got SIGSEGV at address: 0x804e000\n"
+msgstr ""
+"$B< ./a.out>\n"
+"Начало области: 0x804c000\n"
+"Получен SIGSEGV при адресе: 0x804e000\n"
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Program source"
+msgstr "Исходный код программы"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#include E<lt>malloc.hE<gt>\n"
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/mman.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"#define handle_error(msg) \\e\n"
+" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
+"\\&\n"
+"static char *buffer;\n"
+"\\&\n"
+"static void\n"
+"handler(int sig, siginfo_t *si, void *unused)\n"
+"{\n"
+" /* Note: calling printf() from a signal handler is not safe\n"
+" (and should not be done in production programs), since\n"
+" printf() is not async-signal-safe; see signal-safety(7).\n"
+" Nevertheless, we use printf() here as a simple way of\n"
+" showing that the handler was called. */\n"
+"\\&\n"
+" printf(\"Got SIGSEGV at address: %p\\en\", si-E<gt>si_addr);\n"
+" exit(EXIT_FAILURE);\n"
+"}\n"
+"\\&\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" int pagesize;\n"
+" struct sigaction sa;\n"
+"\\&\n"
+" sa.sa_flags = SA_SIGINFO;\n"
+" sigemptyset(&sa.sa_mask);\n"
+" sa.sa_sigaction = handler;\n"
+" if (sigaction(SIGSEGV, &sa, NULL) == -1)\n"
+" handle_error(\"sigaction\");\n"
+"\\&\n"
+" pagesize = sysconf(_SC_PAGE_SIZE);\n"
+" if (pagesize == -1)\n"
+" handle_error(\"sysconf\");\n"
+"\\&\n"
+" /* Allocate a buffer aligned on a page boundary;\n"
+" initial protection is PROT_READ | PROT_WRITE. */\n"
+"\\&\n"
+" buffer = memalign(pagesize, 4 * pagesize);\n"
+" if (buffer == NULL)\n"
+" handle_error(\"memalign\");\n"
+"\\&\n"
+" printf(\"Start of region: %p\\en\", buffer);\n"
+"\\&\n"
+" if (mprotect(buffer + pagesize * 2, pagesize,\n"
+" PROT_READ) == -1)\n"
+" handle_error(\"mprotect\");\n"
+"\\&\n"
+" for (char *p = buffer ; ; )\n"
+" *(p++) = \\[aq]a\\[aq];\n"
+"\\&\n"
+" printf(\"Loop completed\\en\"); /* Should never happen */\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+
+#. SRC END
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "СМ. ТАКЖЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<mmap>(2), B<sysconf>(3), B<pkeys>(7)"
+msgstr "B<mmap>(2), B<sysconf>(3), B<pkeys>(7)"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr "5 февраля 2023 г."
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Linux man-pages 6.03"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+msgid ""
+"I<prot> is a combination of the following access flags: B<PROT_NONE> or a "
+"bitwise-or of the other values in the following list:"
+msgstr ""
+"Значение I<prot> представляет собой комбинацию следующих флагов доступа: "
+"B<PROT_NONE> или побитово сложенные другие значения из следующего списка:"
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"B<pkey_mprotect>() first appeared in Linux 4.9; library support was added "
+"in glibc 2.27."
+msgstr ""
+"Вызов B<pkey_mprotect>() впервые появился в Linux 4.9; поддержка в "
+"библиотеке glibc добавлена в версии 2.27."
+
+#. SVr4 defines an additional error
+#. code EAGAIN. The SVr4 error conditions don't map neatly onto Linux's.
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"B<mprotect>(): POSIX.1-2001, POSIX.1-2008, SVr4. POSIX says that the "
+"behavior of B<mprotect>() is unspecified if it is applied to a region of "
+"memory that was not obtained via B<mmap>(2)."
+msgstr ""
+"B<mprotect>(): В POSIX.1-2001, POSIX.1-2008, SVr4 сказано, что поведение "
+"B<mprotect>() не определено, если переданная область памяти не получена "
+"через B<mmap>(2)."
+
+#. type: Plain text
+#: debian-bookworm
+msgid "B<pkey_mprotect>() is a nonportable Linux extension."
+msgstr "Вызов B<pkey_mprotect> является непереносимым расширением Linux."
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>malloc.hE<gt>\n"
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/mman.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+msgstr ""
+"#include E<lt>malloc.hE<gt>\n"
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/mman.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define handle_error(msg) \\e\n"
+" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
+msgstr ""
+"#define handle_error(msg) \\e\n"
+" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "static char *buffer;\n"
+msgstr "static char *buffer;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static void\n"
+"handler(int sig, siginfo_t *si, void *unused)\n"
+"{\n"
+" /* Note: calling printf() from a signal handler is not safe\n"
+" (and should not be done in production programs), since\n"
+" printf() is not async-signal-safe; see signal-safety(7).\n"
+" Nevertheless, we use printf() here as a simple way of\n"
+" showing that the handler was called. */\n"
+msgstr ""
+"static void\n"
+"handler(int sig, siginfo_t *si, void *unused)\n"
+"{\n"
+" /* Замечание: вызов printf() из обработчика сигнала небезопасен\n"
+" (и не должен выполняться в готовых программах), так как\n"
+" printf() не async-signal-safe; смотрите signal-safety(7).\n"
+" Тем не менее, здесь мы используем printf(), так как это простой\n"
+" способ показать когда вызывается обработчик. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"Got SIGSEGV at address: %p\\en\", si-E<gt>si_addr);\n"
+" exit(EXIT_FAILURE);\n"
+"}\n"
+msgstr ""
+" printf(\"Получен SIGSEGV при адресе: %p\\en\", si-E<gt>si_addr);\n"
+" exit(EXIT_FAILURE);\n"
+"}\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(void)\n"
+"{\n"
+" int pagesize;\n"
+" struct sigaction sa;\n"
+msgstr ""
+"int\n"
+"main(void)\n"
+"{\n"
+" int pagesize;\n"
+" struct sigaction sa;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" sa.sa_flags = SA_SIGINFO;\n"
+" sigemptyset(&sa.sa_mask);\n"
+" sa.sa_sigaction = handler;\n"
+" if (sigaction(SIGSEGV, &sa, NULL) == -1)\n"
+" handle_error(\"sigaction\");\n"
+msgstr ""
+" sa.sa_flags = SA_SIGINFO;\n"
+" sigemptyset(&sa.sa_mask);\n"
+" sa.sa_sigaction = handler;\n"
+" if (sigaction(SIGSEGV, &sa, NULL) == -1)\n"
+" handle_error(\"sigaction\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" pagesize = sysconf(_SC_PAGE_SIZE);\n"
+" if (pagesize == -1)\n"
+" handle_error(\"sysconf\");\n"
+msgstr ""
+" pagesize = sysconf(_SC_PAGE_SIZE);\n"
+" if (pagesize == -1)\n"
+" handle_error(\"sysconf\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Allocate a buffer aligned on a page boundary;\n"
+" initial protection is PROT_READ | PROT_WRITE. */\n"
+msgstr ""
+" /* выделить буфер с выравниванием на границу страницы;\n"
+" начальная защита: PROT_READ | PROT_WRITE */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" buffer = memalign(pagesize, 4 * pagesize);\n"
+" if (buffer == NULL)\n"
+" handle_error(\"memalign\");\n"
+msgstr ""
+" buffer = memalign(pagesize, 4 * pagesize);\n"
+" if (buffer == NULL)\n"
+" handle_error(\"memalign\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " printf(\"Start of region: %p\\en\", buffer);\n"
+msgstr " printf(\"Начало области: %p\\en\", buffer);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (mprotect(buffer + pagesize * 2, pagesize,\n"
+" PROT_READ) == -1)\n"
+" handle_error(\"mprotect\");\n"
+msgstr ""
+" if (mprotect(buffer + pagesize * 2, pagesize,\n"
+" PROT_READ) == -1)\n"
+" handle_error(\"mprotect\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " for (char *p = buffer ; ; )\n"
+#| " *(p++) = \\(aqa\\(aq;\n"
+msgid ""
+" for (char *p = buffer ; ; )\n"
+" *(p++) = \\[aq]a\\[aq];\n"
+msgstr ""
+" for (char *p = buffer ; ; )\n"
+" *(p++) = \\(aqa\\(aq;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"Loop completed\\en\"); /* Should never happen */\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+" printf(\"Цикл завершён\\en\"); /* никогда не должно случиться */\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-05-03"
+msgstr "3 мая 2023 г."
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr "Linux man-pages 6.05.01"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr "30 марта 2023 г."
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Linux man-pages 6.04"