diff options
Diffstat (limited to 'po/ru/man2/mprotect.2.po')
-rw-r--r-- | po/ru/man2/mprotect.2.po | 1022 |
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" |