summaryrefslogtreecommitdiffstats
path: root/po/ro/man7/pkeys.7.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/ro/man7/pkeys.7.po')
-rw-r--r--po/ro/man7/pkeys.7.po738
1 files changed, 738 insertions, 0 deletions
diff --git a/po/ro/man7/pkeys.7.po b/po/ro/man7/pkeys.7.po
new file mode 100644
index 00000000..ce4bef18
--- /dev/null
+++ b/po/ro/man7/pkeys.7.po
@@ -0,0 +1,738 @@
+# Romanian translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n 4.22.0\n"
+"POT-Creation-Date: 2024-06-01 06:09+0200\n"
+"PO-Revision-Date: 2024-05-19 19:26+0200\n"
+"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
+"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"X-Generator: Poedit 3.4.3\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "pkeys"
+msgstr "pkeys"
+
+#. type: TH
+#: archlinux debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2024-05-02"
+msgstr "2 mai 2024"
+
+#. type: TH
+#: archlinux debian-unstable
+#, no-wrap
+msgid "Linux man-pages 6.8"
+msgstr "Pagini de manual de Linux 6.8"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr "NUME"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "pkeys - overview of Memory Protection Keys"
+msgstr "pkeys - prezentare generală a cheilor de protecție a memoriei"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "DESCRIERE"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Memory Protection Keys (pkeys) are an extension to existing page-based "
+"memory permissions. Normal page permissions using page tables require "
+"expensive system calls and TLB invalidations when changing permissions. "
+"Memory Protection Keys provide a mechanism for changing protections without "
+"requiring modification of the page tables on every permission change."
+msgstr ""
+"Cheile de protecție a memoriei (pkeys) sunt o extensie a permisiunilor de "
+"memorie existente bazate pe pagini. Permisiunile normale de pagini care "
+"utilizează tabele de pagini necesită apeluri de sistem costisitoare și "
+"invalidări ale TLB (Translation Lookaside Buffer) atunci când se schimbă "
+"permisiunile. Cheile de protecție a memoriei oferă un mecanism de modificare "
+"a protecțiilor fără a necesita modificarea tabelelor de pagini la fiecare "
+"modificare a permisiunilor."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"To use pkeys, software must first \"tag\" a page in the page tables with a "
+"pkey. After this tag is in place, an application only has to change the "
+"contents of a register in order to remove write access, or all access to a "
+"tagged page."
+msgstr ""
+"Pentru a utiliza B<pkeys>, software-ul trebuie mai întâi să „eticheteze” o "
+"pagină din tabelele de pagini cu o cheie de protecție „pkey”. După ce "
+"această etichetă este plasată, o aplicație trebuie doar să modifice "
+"conținutul unui registru pentru a elimina accesul la scriere sau tot accesul "
+"la o pagină etichetată."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Protection keys work in conjunction with the existing B<PROT_READ>, "
+"B<PROT_WRITE>, and B<PROT_EXEC> permissions passed to system calls such as "
+"B<mprotect>(2) and B<mmap>(2), but always act to further restrict these "
+"traditional permission mechanisms."
+msgstr ""
+"Cheile de protecție funcționează împreună cu permisiunile existente "
+"B<PROT_READ>, B<PROT_WRITE> și B<PROT_EXEC> transmise apelurilor de sistem, "
+"cum ar fi B<mprotect>(2) și B<mmap>(2), dar acționează întotdeauna pentru a "
+"restricționa și mai mult aceste mecanisme tradiționale de permisiune."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If a process performs an access that violates pkey restrictions, it receives "
+"a B<SIGSEGV> signal. See B<sigaction>(2) for details of the information "
+"available with that signal."
+msgstr ""
+"În cazul în care un proces efectuează un acces care încalcă restricțiile "
+"cheii de protecție, acesta primește un semnal B<SIGSEGV>. A se vedea "
+"B<sigaction>(2) pentru detalii privind informațiile disponibile cu acest "
+"semnal."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"To use the pkeys feature, the processor must support it, and the kernel must "
+"contain support for the feature on a given processor. As of early 2016 only "
+"future Intel x86 processors are supported, and this hardware supports 16 "
+"protection keys in each process. However, pkey 0 is used as the default "
+"key, so a maximum of 15 are available for actual application use. The "
+"default key is assigned to any memory region for which a pkey has not been "
+"explicitly assigned via B<pkey_mprotect>(2)."
+msgstr ""
+"Pentru a utiliza caracteristica B<pkeys>, procesorul trebuie să o accepte, "
+"iar nucleul trebuie să conțină suport pentru această caracteristică pe un "
+"anumit procesor. De la începutul anului 2016 sunt acceptate doar viitoarele "
+"procesoare Intel x86, iar acest hardware suportă 16 chei de protecție în "
+"fiecare proces. Cu toate acestea, „pkey 0” este utilizată drept cheie "
+"implicită, astfel încât sunt disponibile maximum 15 pentru utilizarea "
+"efectivă a aplicațiilor. Cheia implicită este atribuită oricărei regiuni de "
+"memorie pentru care nu a fost atribuită în mod explicit o cheie de protecție "
+"prin B<pkey_mprotect>(2)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Protection keys have the potential to add a layer of security and "
+"reliability to applications. But they have not been primarily designed as a "
+"security feature. For instance, WRPKRU is a completely unprivileged "
+"instruction, so pkeys are useless in any case that an attacker controls the "
+"PKRU register or can execute arbitrary instructions."
+msgstr ""
+"Cheile de protecție au potențialul de a adăuga un nivel de securitate și "
+"fiabilitate la aplicații. Dar ele nu au fost concepute în primul rând ca o "
+"caracteristică de securitate. De exemplu, WRPKRU este o instrucțiune complet "
+"neprivilegiată, astfel încât cheile de protecție sunt inutile în orice caz "
+"în care un atacator controlează registrul PKRU sau poate executa "
+"instrucțiuni arbitrare."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Applications should be very careful to ensure that they do not \"leak\" "
+"protection keys. For instance, before calling B<pkey_free>(2), the "
+"application should be sure that no memory has that pkey assigned. If the "
+"application left the freed pkey assigned, a future user of that pkey might "
+"inadvertently change the permissions of an unrelated data structure, which "
+"could impact security or stability. The kernel currently allows in-use "
+"pkeys to have B<pkey_free>(2) called on them because it would have "
+"processor or memory performance implications to perform the additional "
+"checks needed to disallow it. Implementation of the necessary checks is "
+"left up to applications. Applications may implement these checks by "
+"searching the I</proc/>pidI</smaps> file for memory regions with the pkey "
+"assigned. Further details can be found in B<proc>(5)."
+msgstr ""
+"Aplicațiile trebuie să fie foarte atente pentru a se asigura că nu „li se "
+"scurg” cheile de protecție.De exemplu, înainte de a apela B<pkey_free>(2), "
+"aplicația ar trebui să se asigure că nu există nicio memorie care să aibă "
+"atribuită acea cheie de protecție „pkey”. În cazul în care aplicația a lăsat "
+"atribuită cheia de protecție eliberată, un viitor utilizator al acelei chei "
+"de protecție ar putea modifica din greșeală permisiunile unei structuri de "
+"date nerelaționată, ceea ce ar putea avea un impact asupra securității sau "
+"stabilității. În prezent, nucleul permite ca B<pkey_free>(2) să fie apelat "
+"pentru cheile de acces în uz, deoarece efectuarea verificărilor suplimentare "
+"necesare pentru a interzice acest lucru ar avea implicații asupra "
+"performanței procesorului sau a memoriei. Implementarea verificărilor "
+"necesare este lăsată la latitudinea aplicațiilor. Aplicațiile pot pune în "
+"aplicare aceste verificări prin căutarea în fișierul I</proc/>pidI</smaps> a "
+"regiunilor de memorie cărora le-a fost atribuită cheia „pkey”. Mai multe "
+"detalii pot fi găsite în B<proc>(5)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Any application wanting to use protection keys needs to be able to function "
+"without them. They might be unavailable because the hardware that the "
+"application runs on does not support them, the kernel code does not contain "
+"support, the kernel support has been disabled, or because the keys have all "
+"been allocated, perhaps by a library the application is using. It is "
+"recommended that applications wanting to use protection keys should simply "
+"call B<pkey_alloc>(2) and test whether the call succeeds, instead of "
+"attempting to detect support for the feature in any other way."
+msgstr ""
+"Orice aplicație care dorește să utilizeze chei de protecție trebuie să poată "
+"funcționa fără acestea. Acestea ar putea fi indisponibile deoarece hardware-"
+"ul pe care rulează aplicația nu le acceptă, codul nucleului nu conține "
+"suport, suportul nucleului a fost dezactivat sau deoarece toate cheile au "
+"fost alocate, poate de către o bibliotecă pe care o utilizează aplicația. Se "
+"recomandă ca aplicațiile care doresc să utilizeze chei de protecție să "
+"apeleze pur și simplu B<pkey_alloc>(2) și să testeze dacă apelul reușește, "
+"în loc să încerce să detecteze suportul pentru această caracteristică în "
+"orice alt mod."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Although unnecessary, hardware support for protection keys may be enumerated "
+"with the I<cpuid> instruction. Details of how to do this can be found in "
+"the Intel Software Developers Manual. The kernel performs this enumeration "
+"and exposes the information in I</proc/cpuinfo> under the \"flags\" field. "
+"The string \"pku\" in this field indicates hardware support for protection "
+"keys and the string \"ospke\" indicates that the kernel contains and has "
+"enabled protection keys support."
+msgstr ""
+"Deși nu este necesar, suportul hardware pentru cheile de protecție poate fi "
+"enumerat cu instrucțiunea I<cpuid>. Detalii despre cum se face acest lucru "
+"pot fi găsite în „Intel Software Developers Manual”. Nucleul efectuează "
+"această enumerare și expune informațiile în I</proc/cpuinfo> sub câmpul "
+"„flags”. Șirul „pku” din acest câmp indică suportul hardware pentru chei de "
+"protecție, iar șirul „ospke” indică faptul că nucleul conține și a activat "
+"suportul pentru chei de protecție."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Applications using threads and protection keys should be especially "
+"careful. Threads inherit the protection key rights of the parent at the "
+"time of the B<clone>(2), system call. Applications should either ensure "
+"that their own permissions are appropriate for child threads at the time "
+"when B<clone>(2) is called, or ensure that each child thread can perform "
+"its own initialization of protection key rights."
+msgstr ""
+"Aplicațiile care utilizează fire de execuție și chei de protecție trebuie să "
+"fie deosebit de atente. Firele moștenesc drepturile cheilor de protecție ale "
+"părintelui în momentul apelului de sistem B<clone>(2). Aplicațiile ar trebui "
+"fie să se asigure că propriile permisiuni sunt adecvate pentru firele-copil "
+"în momentul în care se apelează B<clone>(2), fie să se asigure că fiecare "
+"fir-copil poate efectua propria inițializare a drepturilor cheilor de "
+"protecție."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Signal Handler Behavior"
+msgstr "Comportamentul gestionarului de semnale"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Each time a signal handler is invoked (including nested signals), the thread "
+"is temporarily given a new, default set of protection key rights that "
+"override the rights from the interrupted context. This means that "
+"applications must re-establish their desired protection key rights upon "
+"entering a signal handler if the desired rights differ from the defaults. "
+"The rights of any interrupted context are restored when the signal handler "
+"returns."
+msgstr ""
+"De fiecare dată când este invocat un gestionar de semnal (inclusiv semnalele "
+"imbricate), firului i se atribuie temporar un set nou, implicit, de drepturi "
+"de cheie de protecție care înlocuiesc drepturile din contextul întrerupt. "
+"Acest lucru înseamnă că aplicațiile trebuie să restabilească din nou "
+"drepturile de cheie de protecție dorite la intrarea într-un gestionar de "
+"semnal dacă drepturile dorite diferă de cele implicite. Drepturile oricărui "
+"context întrerupt sunt restabilite la returnarea gestionarului de semnal."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This signal behavior is unusual and is due to the fact that the x86 PKRU "
+"register (which stores protection key access rights) is managed with the "
+"same hardware mechanism (XSAVE) that manages floating-point registers. The "
+"signal behavior is the same as that of floating-point registers."
+msgstr ""
+"Acest comportament al semnalului este neobișnuit și se datorează faptului că "
+"registrul x86 PKRU (care stochează drepturile de acces la cheia de "
+"protecție) este gestionat cu același mecanism hardware (XSAVE) care "
+"gestionează registrele în virgulă mobilă. Comportamentul semnalului este "
+"același cu cel al registrelor în virgulă mobilă."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Protection Keys system calls"
+msgstr "Apeluri de sistem cu chei de protecție"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The Linux kernel implements the following pkey-related system calls: "
+"B<pkey_mprotect>(2), B<pkey_alloc>(2), and B<pkey_free>(2)."
+msgstr ""
+"Nucleul Linux implementează următoarele apeluri de sistem legate de chei de "
+"protecție: B<pkey_mprotect>(2), B<pkey_alloc>(2) și B<pkey_free>(2)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The Linux pkey system calls are available only if the kernel was configured "
+"and built with the B<CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS> option."
+msgstr ""
+"Apelurile de sistem Linux pentru pkey sunt disponibile numai dacă nucleul a "
+"fost configurat și construit cu opțiunea "
+"B<CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS>."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "EXEMPLE"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The program below allocates a page of memory with read and write "
+"permissions. It then writes some data to the memory and successfully reads "
+"it back. After that, it attempts to allocate a protection key and disallows "
+"access to the page by using the WRPKRU instruction. It then tries to access "
+"the page, which we now expect to cause a fatal signal to the application."
+msgstr ""
+"Programul de mai jos alocă o pagină de memorie cu permisiuni de citire și "
+"scriere. Apoi scrie câteva date în memorie și le citește cu succes înapoi. "
+"După aceea, încearcă să aloce o cheie de protecție și interzice accesul la "
+"pagină prin utilizarea instrucțiunii WRPKRU. Apoi încearcă să acceseze "
+"pagina, ceea ce ne așteptăm acum să provoace un semnal fatal pentru "
+"aplicație."
+
+#. 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"
+"buffer contains: 73\n"
+"about to read buffer again...\n"
+"Segmentation fault (core dumped)\n"
+msgstr ""
+"$B< ./a.out>\n"
+"memoria tampon conține: 73\n"
+"pe cale de a citi din nou memoria tampon...\n"
+"Eroare de segmentare (conținutul memoriei a fost descărcat)\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 "Sursa programului"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>err.hE<gt>\n"
+"#include E<lt>unistd.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"
+"\\&\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" int status;\n"
+" int pkey;\n"
+" int *buffer;\n"
+"\\&\n"
+" /*\n"
+" * Allocate one page of memory.\n"
+" */\n"
+" buffer = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE,\n"
+" MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);\n"
+" if (buffer == MAP_FAILED)\n"
+" err(EXIT_FAILURE, \"mmap\");\n"
+"\\&\n"
+" /*\n"
+" * Put some random data into the page (still OK to touch).\n"
+" */\n"
+" *buffer = __LINE__;\n"
+" printf(\"buffer contains: %d\\en\", *buffer);\n"
+"\\&\n"
+" /*\n"
+" * Allocate a protection key:\n"
+" */\n"
+" pkey = pkey_alloc(0, 0);\n"
+" if (pkey == -1)\n"
+" err(EXIT_FAILURE, \"pkey_alloc\");\n"
+"\\&\n"
+" /*\n"
+" * Disable access to any memory with \"pkey\" set,\n"
+" * even though there is none right now.\n"
+" */\n"
+" status = pkey_set(pkey, PKEY_DISABLE_ACCESS);\n"
+" if (status)\n"
+" err(EXIT_FAILURE, \"pkey_set\");\n"
+"\\&\n"
+" /*\n"
+" * Set the protection key on \"buffer\".\n"
+" * Note that it is still read/write as far as mprotect() is\n"
+" * concerned and the previous pkey_set() overrides it.\n"
+" */\n"
+" status = pkey_mprotect(buffer, getpagesize(),\n"
+" PROT_READ | PROT_WRITE, pkey);\n"
+" if (status == -1)\n"
+" err(EXIT_FAILURE, \"pkey_mprotect\");\n"
+"\\&\n"
+" printf(\"about to read buffer again...\\en\");\n"
+"\\&\n"
+" /*\n"
+" * This will crash, because we have disallowed access.\n"
+" */\n"
+" printf(\"buffer contains: %d\\en\", *buffer);\n"
+"\\&\n"
+" status = pkey_free(pkey);\n"
+" if (status == -1)\n"
+" err(EXIT_FAILURE, \"pkey_free\");\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>err.hE<gt>\n"
+"#include E<lt>unistd.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"
+"\\&\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" int status;\n"
+" int pkey;\n"
+" int *buffer;\n"
+"\\&\n"
+" /*\n"
+" * Alocă o pagină de memorie.\n"
+" */\n"
+" buffer = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE,\n"
+" MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);\n"
+" if (buffer == MAP_FAILED)\n"
+" err(EXIT_FAILURE, \"mmap\");\n"
+"\\&\n"
+" /*\n"
+" * Introduce niște date aleatorii în pagină (întotdeauna în regulă pentru a le accesa).\n"
+" */\n"
+" *buffer = __LINE__;\n"
+" printf(\"memoria tampon conține: %d\\en\", *buffer);\n"
+"\\&\n"
+" /*\n"
+" * Alocă o cheie de protecție:\n"
+" */\n"
+" pkey = pkey_alloc(0, 0);\n"
+" if (pkey == -1)\n"
+" err(EXIT_FAILURE, \"pkey_alloc\");\n"
+"\\&\n"
+" /*\n"
+" * Dezactivează accesul la orice memorie cu „pkey” stabilită,\n"
+" * chiar dacă nu există niciuna în acest moment.\n"
+" */\n"
+" status = pkey_set(pkey, PKEY_DISABLE_ACCESS);\n"
+" if (status)\n"
+" err(EXIT_FAILURE, \"pkey_set\");\n"
+"\\&\n"
+" /*\n"
+" * Stabilește cheia de protecție pe „memorie tampon”.\n"
+" * Rețineți că este în continuare de citire/scriere în ceea ce privește mprotect(),\n"
+" * iar precedentul pkey_set() are prioritate față de acesta.\n"
+" */\n"
+" status = pkey_mprotect(buffer, getpagesize(),\n"
+" PROT_READ | PROT_WRITE, pkey);\n"
+" if (status == -1)\n"
+" err(EXIT_FAILURE, \"pkey_mprotect\");\n"
+"\\&\n"
+" printf(\"pe cale de a citi din nou memoria tampon...\\en\");\n"
+"\\&\n"
+" /*\n"
+" * Aceasta se va prăbuși, deoarece am interzis accesul.\n"
+" */\n"
+" printf(\"memoria tampon conține: %d\\en\", *buffer);\n"
+"\\&\n"
+" status = pkey_free(pkey);\n"
+" if (status == -1)\n"
+" err(EXIT_FAILURE, \"pkey_free\");\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+
+#. 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 "CONSULTAȚI ȘI"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<pkey_alloc>(2), B<pkey_free>(2), B<pkey_mprotect>(2), B<sigaction>(2)"
+msgstr ""
+"B<pkey_alloc>(2), B<pkey_free>(2), B<pkey_mprotect>(2), B<sigaction>(2)"
+
+#. type: TH
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "2022-10-30"
+msgstr "30 octombrie 2022"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Pagini de manual de Linux 6.03"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>err.hE<gt>\n"
+"#include E<lt>unistd.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"
+msgstr ""
+"#define _GNU_SOURCE\n"
+"#include E<lt>err.hE<gt>\n"
+"#include E<lt>unistd.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"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(void)\n"
+"{\n"
+" int status;\n"
+" int pkey;\n"
+" int *buffer;\n"
+msgstr ""
+"int\n"
+"main(void)\n"
+"{\n"
+" int status;\n"
+" int pkey;\n"
+" int *buffer;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /*\n"
+" * Allocate one page of memory.\n"
+" */\n"
+" buffer = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE,\n"
+" MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);\n"
+" if (buffer == MAP_FAILED)\n"
+" err(EXIT_FAILURE, \"mmap\");\n"
+msgstr ""
+" /*\n"
+" * Alocă o pagină de memorie.\n"
+" */\n"
+" buffer = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE,\n"
+" MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);\n"
+" if (buffer == MAP_FAILED)\n"
+" err(EXIT_FAILURE, \"mmap\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /*\n"
+" * Put some random data into the page (still OK to touch).\n"
+" */\n"
+" *buffer = __LINE__;\n"
+" printf(\"buffer contains: %d\\en\", *buffer);\n"
+msgstr ""
+" /*\n"
+" * Introduce niște date aleatorii în pagină (întotdeauna în regulă pentru a le accesa).\n"
+" */\n"
+" *buffer = __LINE__;\n"
+" printf(\"memoria tampon conține: %d\\en\", *buffer);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /*\n"
+" * Allocate a protection key:\n"
+" */\n"
+" pkey = pkey_alloc(0, 0);\n"
+" if (pkey == -1)\n"
+" err(EXIT_FAILURE, \"pkey_alloc\");\n"
+msgstr ""
+" /*\n"
+" * Alocă o cheie de protecție:\n"
+" */\n"
+" pkey = pkey_alloc(0, 0);\n"
+" if (pkey == -1)\n"
+" err(EXIT_FAILURE, \"pkey_alloc\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /*\n"
+" * Disable access to any memory with \"pkey\" set,\n"
+" * even though there is none right now.\n"
+" */\n"
+" status = pkey_set(pkey, PKEY_DISABLE_ACCESS);\n"
+" if (status)\n"
+" err(EXIT_FAILURE, \"pkey_set\");\n"
+msgstr ""
+" /*\n"
+" * Dezactivează accesul la orice memorie cu „pkey” stabilită,\n"
+" * chiar dacă nu există niciuna în acest moment.\n"
+" */\n"
+" status = pkey_set(pkey, PKEY_DISABLE_ACCESS);\n"
+" if (status)\n"
+" err(EXIT_FAILURE, \"pkey_set\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /*\n"
+" * Set the protection key on \"buffer\".\n"
+" * Note that it is still read/write as far as mprotect() is\n"
+" * concerned and the previous pkey_set() overrides it.\n"
+" */\n"
+" status = pkey_mprotect(buffer, getpagesize(),\n"
+" PROT_READ | PROT_WRITE, pkey);\n"
+" if (status == -1)\n"
+" err(EXIT_FAILURE, \"pkey_mprotect\");\n"
+msgstr ""
+" /*\n"
+" * Stabilește cheia de protecție pe „memorie tampon”.\n"
+" * Rețineți că este în continuare de citire/scriere în ceea ce privește mprotect(),\n"
+" * iar precedentul pkey_set() are prioritate față de acesta.\n"
+" */\n"
+" status = pkey_mprotect(buffer, getpagesize(),\n"
+" PROT_READ | PROT_WRITE, pkey);\n"
+" if (status == -1)\n"
+" err(EXIT_FAILURE, \"pkey_mprotect\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " printf(\"about to read buffer again...\\en\");\n"
+msgstr " printf(\"pe cale de a citi din nou memoria tampon...\\en\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /*\n"
+" * This will crash, because we have disallowed access.\n"
+" */\n"
+" printf(\"buffer contains: %d\\en\", *buffer);\n"
+msgstr ""
+" /*\n"
+" * Aceasta se va prăbuși, deoarece am interzis accesul.\n"
+" */\n"
+" printf(\"memoria tampon conține: %d\\en\", *buffer);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" status = pkey_free(pkey);\n"
+" if (status == -1)\n"
+" err(EXIT_FAILURE, \"pkey_free\");\n"
+msgstr ""
+" status = pkey_free(pkey);\n"
+" if (status == -1)\n"
+" err(EXIT_FAILURE, \"pkey_free\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+
+#. type: TH
+#: fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 octombrie 2023"
+
+#. type: TH
+#: fedora-40 mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Pagini de manual de Linux 6.06"
+
+#. type: TH
+#: fedora-rawhide
+#, no-wrap
+msgid "Linux man-pages 6.7"
+msgstr "Pagini de manual de Linux 6.7"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Pagini de manual de Linux 6.04"
+
+#. type: TH
+#: opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages (unreleased)"
+msgstr "Pagini de manual Linux (nepublicate)"