# Romanian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Remus-Gabriel Chelu , 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 \n" "Language-Team: Romanian \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, 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, " "B, and B permissions passed to system calls such as " "B(2) and B(2), but always act to further restrict these " "traditional permission mechanisms." msgstr "" "Cheile de protecție funcționează împreună cu permisiunile existente " "B, B și B transmise apelurilor de sistem, " "cum ar fi B(2) și B(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 signal. See B(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. A se vedea " "B(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(2)." msgstr "" "Pentru a utiliza caracteristica B, 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(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(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(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 IpidI file for memory regions with the pkey " "assigned. Further details can be found in B(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(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(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 IpidI a " "regiunilor de memorie cărora le-a fost atribuită cheia „pkey”. Mai multe " "detalii pot fi găsite în B(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(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(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 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 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. 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 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(2), system call. Applications should either ensure " "that their own permissions are appropriate for child threads at the time " "when B(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(2). Aplicațiile ar trebui " "fie să se asigure că propriile permisiuni sunt adecvate pentru firele-copil " "în momentul în care se apelează B(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(2), B(2), and B(2)." msgstr "" "Nucleul Linux implementează următoarele apeluri de sistem legate de chei de " "protecție: B(2), B(2) și B(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 option." msgstr "" "Apelurile de sistem Linux pentru pkey sunt disponibile numai dacă nucleul a " "fost configurat și construit cu opțiunea " "B." #. 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 Eerr.hE\n" "#include Eunistd.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\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 Eerr.hE\n" "#include Eunistd.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\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(2), B(2), B(2), B(2)" msgstr "" "B(2), B(2), B(2), B(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 Eerr.hE\n" "#include Eunistd.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" msgstr "" "#define _GNU_SOURCE\n" "#include Eerr.hE\n" "#include Eunistd.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\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)"