{"id":119836,"date":"2024-09-16T15:43:01","date_gmt":"2024-09-16T13:43:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-6-11"},"modified":"2024-09-16T15:43:01","modified_gmt":"2024-09-16T13:43:01","slug":"reliz-yadra-linux-6-11","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-yadra-linux-6-11","title":{"rendered":"Lansarea nucleului Linux 6.11","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dup\u0103 dou\u0103 luni de dezvoltare, Linus Torvalds a lansat versiunea nucleului Linux 6.11. Printre cele mai notabile modific\u0103ri se num\u0103r\u0103: suport pentru opera\u021bii atomice de scriere la nivel de bloc, suport pentru opera\u021biile bind() \u0219i listen() \u00een io_uring, un nou mecanism de blocare pentru handlerii de \u00eentreruperi, posibilitatea de a scrie \u00een fi\u0219iere executabile reflectate \u00een memorie, suport pentru dezvoltarea driverelor pentru dispozitive de bloc \u00een limbajul Rust, optimizarea apelului getrandom(), noua implementare AES-GCM.                <\/p>\n<p>Noua versiune include 15130 de corec\u021bii din partea a 2078 de dezvoltatori, dimensiunea patch-ului este de 85 MB (schimb\u0103rile au afectat 13282 de fi\u0219iere, au fost ad\u0103ugate 985857 de linii de cod, iar 268915 de linii au fost \u0219terse). \u00cen ultima versiune, au fost 14564 de corec\u021bii din partea a 1989 de dezvoltatori, dimensiunea patch-ului fiind de 41 MB (de dou\u0103 ori mai mic\u0103 dec\u00e2t patch-ul pentru nucleul 6.11). Aproximativ 46% din toate modific\u0103rile prezentate \u00een 6.11 sunt legate de driverele de dispozitive, \u00een jur de 17% din modific\u0103ri se refer\u0103 la actualizarea codului specific arhitecturilor hardware, 10% sunt legate de stiva de re\u021bea, 5% sunt legate de sistemele de fi\u0219iere, iar 3% de subsistemele interne ale nucleului.      <\/p>\n<p>Principalele nout\u0103\u021bi din nucleul 6.11:  <\/p>\n<ul>\n<li class=\"l\"> <b>Subsistemul de disc, I\/O \u0219i sistemele de fi\u0219iere<\/b>\n<ul>\n<li class=\"l\"> A fost implementat suportul pentru opera\u021bii atomice de scriere la nivel de bloc, care permite scrierea fie a \u00eentregului set de blocuri specificat, fie a niciunui bloc, protej\u00e2ndu-se astfel \u00eempotriva situa\u021biilor \u00een care, dup\u0103 o defec\u021biune hardware, este scris\u0103 doar o parte din blocuri, iar \u00een cealalt\u0103 parte r\u0103m\u00e2ne informa\u021bia veche. Pentru activarea modului atomic de scriere, a fost ad\u0103ugat un flag RWF_ATOMIC la apelul de sistem pwritev(). Informa\u021biile referitoare la suportul pentru scriere atomic\u0103 (atomic_write_unit_min, atomic_write_unit_max \u0219i atomic_write_segments_max) \u00een leg\u0103tur\u0103 cu fi\u0219ierele individuale pot fi ob\u021binute prin func\u021bia statx().\n<li class=\"l\"> A fost oferit suport pentru scrierea \u00een fi\u0219iere executabile asociate cu procese aflate \u00een execu\u021bie. Anterior, la fel ca \u00een alte sisteme Unix-like, nucleul genera o eroare la \u00eencercarea de a scrie \u00een fi\u0219ierul executabil al unui proces care ruleaz\u0103. Aceast\u0103 restric\u021bie a fost ridicat\u0103, deoarece era lipsit\u0103 de sens practic.\n<li class=\"l\"> A fost implementat\u0103 posibilitatea dezvolt\u0103rii driverelor pentru dispozitive de bloc \u00een limbajul Rust. Ca exemplu, s-a ad\u0103ugat \u00een nucleu un driver rnull, care reprezint\u0103 un analog al driverului null_blk, scris \u00een limbajul Rust.\n<li class=\"l\"> \u00cen sistemul de fi\u0219iere Btrfs, op\u021biunea de montare 'rescue=' a fost extins\u0103 cu suport pentru noile moduri 'ignoremetacsums' \u0219i 'ignoresuperflags', care pot fi utilizate pentru a transfera unele verific\u0103ri \u00een spa\u021biul utilizatorului \u00een timpul recuper\u0103rii FS dup\u0103 o defec\u021biune. Implementarea opera\u021biunii de returnare dinamic\u0103 a grupurilor de blocuri a fost ref\u0103cut\u0103 pentru a evita situa\u021biile de insuficien\u021b\u0103 a spa\u021biului liber \u00een condi\u021biile unei umpleri incomplete a FS.\n<li class=\"l\"> \u00cen sistemul de fi\u0219iere ntfs3, a fost implementat suportul pentru atributele 'compressed' \u0219i 'immutable', care definesc fi\u0219ierele comprimate \u0219i nemodificabile.\n<li class=\"l\"> \u00cen sistemele de fi\u0219iere F2FS \u0219i Ext4, procesarea numelui fi\u0219ierelor f\u0103r\u0103 a \u021bine cont de registru (casefold) a fost simplificat\u0103 prin stocarea numelui sub form\u0103 de \u0219iruri qstr f\u0103r\u0103 transform\u0103ri suplimentare ale registrului.\n<li class=\"l\"> \u00cen sistemul de fi\u0219iere Ext4, implementarea func\u021biei jbd2_transaction_committed a fost optimizat\u0103 pentru a \u00eembun\u0103t\u0103\u021bi performan\u021ba pe unit\u0103\u021bi de stocare foarte rapide (testele arat\u0103 o cre\u0219tere a opera\u021biunilor procesate pe secund\u0103 de p\u00e2n\u0103 la 20%).\n<li class=\"l\"> \u00cen apelul de sistem statx(), a fost permis\u0103 transmiterea unui pointer NULL \u00een locul unui \u0219ir gol pentru calea fi\u0219ierului, \u00een cazul \u00een care este setat flagul AT_EMPTY_PATH.\n<li class=\"l\"> \u00cen apelul de sistem open_by_handle_at(), verific\u0103rile de permisiune pentru fi\u0219ier au fost atenuate \u00een cazul \u00een care nu sunt disponibile privilegii CAP_DAC_READ_SEARCH pentru c\u0103utarea \u00een spa\u021biul de nume de baz\u0103. Anterior, cerin\u021ba de a avea privilegii CAP_DAC_READ_SEARCH \u00een spa\u021biul de nume de baz\u0103 nu permitea utilizarea apelului de sistem open_by_handle_at() \u00een containere.\n<li class=\"l\"> Func\u021bionalitatea apelurilor de sistem listmount() \u0219i statmount() a fost extins\u0103. \u00cen listmount() a fost ad\u0103ugat flagul LISTMOUNT_REVERSE pentru a afi\u0219a con\u021binutul tabelului punctelor de montare \u00een ordine invers\u0103 (cele mai recente \u00eenregistr\u0103ri \u00een partea de sus). \u00cen statmount() a fost implementat\u0103 afi\u0219area op\u021biunilor setate la montarea sistemului de fi\u0219iere. \u00cen ambele apeluri de sistem, a fost permis\u0103 func\u021bionarea f\u0103r\u0103 acces la spa\u021biul de nume de baz\u0103 (c\u00e2nd este disponibil doar accesul la spa\u021biul de nume local sau extern).\n<li class=\"l\"> \u00cen FS Bcachefs, a fost implementat suportul pentru recuperarea automat\u0103 \u0219i transparent\u0103 a datelor problematice, folosind coduri de recuperare a erorilor - dac\u0103 apare o eroare de intrare\/ie\u0219ire sau se calculeaz\u0103 o neconcordan\u021b\u0103 a sumelor de verificare, blocul problematic de date este rescris automat, \u00een condi\u021biile existen\u021bei redundan\u021bei pentru a permite recuperarea acestuia.                                      <\/ul>\n<li class=\"l\"> <b>Memorie \u0219i servicii de sistem<\/b>\n<ul>\n<li class=\"l\"> Au fost acceptate patch-uri cu implementarea unui nou mecanism de blocare a handlerelor de \u00eentrerupere (BH, bottom-half), care asigur\u0103 blocarea structurilor de date utilizate, dar nu blocheaz\u0103 execu\u021bia \u00een paralel a codului nerelevant. Se observ\u0103 c\u0103 modifica\u021bia a permis nu doar reducerea \u00eent\u00e2rzierilor pentru nucleele care func\u021bioneaz\u0103 \u00een mod real-time, ci \u0219i cre\u0219terea performan\u021bei nuclelor obi\u0219nuite (de exemplu, pentru anumite tipuri de sarcini, s-a observat o cre\u0219tere a performan\u021bei subsistemului de re\u021bea de 14,5%).\n<li class=\"l\"> \u00cen subsistemul de I\/O asincron io_uring a fost ad\u0103ugat\u0103 suportul pentru opera\u021bii ce implementeaz\u0103 func\u021biile bind() \u0219i listen(), folosite pentru a crea socketuri de re\u021bea care primesc conexiuni.\n<li class=\"l\"> A fost ad\u0103ugat un set de opera\u021bii ioctl pentru pseudo-sistemul de fi\u0219iere NSFS (NameSpace FS), utilizat pentru a lucra cu spa\u021biile de nume. Noile ioctl permit transformarea identificatorilor de procese \u0219i grupuri de fir \u00eentre diferite spa\u021bii de nume de identificatori de procese (PID namespace). Au fost ad\u0103ugate \u0219i ioctl similare, care permit identificarea descriptorilor de fi\u0219iere ale proceselor \u00een spa\u021biile de nume, pe baza identificatorilor pidfd.\n<li class=\"l\"> Pentru programele BPF a fost ad\u0103ugat suportul pentru un nou iterator pentru a lucra cu m\u0103\u0219ti de bi\u021bi, care poate fi utilizat, de exemplu, pentru a itera prin bi\u021bi individuali \u00een zonele de memorie, cum ar fi cpumask. A fost ad\u0103ugat un mecanism pentru a trimite procesele din spa\u021biul utilizatorului notific\u0103ri despre deconectarea (detach\/unregister) obiectului struct_ops. A fost extins spectrul de tipuri care pot fi utilizate \u00een array-uri (de exemplu, acum se pot declara array-uri cu elemente de tipuri kptr, bpf_rb_root \u0219i bpf_list_head). A fost propus un mecanism mai robust Split BTF (BPF Type Format), utilizat pentru verificarea tipurilor \u00een pseudocodul BPF.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 o subsistem\u0103 care permite organizarea aliment\u0103rii dispozitivelor \u00eentr-o ordine specific\u0103, \u00een cazul \u00een care un dispozitiv trebuie activat \u00eenaintea altuia (de exemplu, la activarea chip-urilor wireless pe platformele Qualcomm).\n<li class=\"l\"> A fost ad\u0103ugat modulul 'Sloppy logic analyzer', care permite crearea de analizoare logice simple de semnal care utilizeaz\u0103 GPIO \u0219i func\u021bioneaz\u0103 pe un nucleu CPU separat.\n<li class=\"l\"> S-a ad\u0103ugat suport pentru constante runtime care pot fi utilizate \u00een locul variabilelor ini\u021bializate o singur\u0103 dat\u0103. De exemplu, constantele runtime pot fi utilizate \u00een locul variabilelor care stocheaz\u0103 un pointer \u0219i dimensiunea pentru cache-ul dentry. Aceste variabile sunt stabilite \u00een timpul \u00eenc\u0103rc\u0103rii \u0219i apoi nu se mai schimb\u0103. Ideea este de a \u00eenlocui valorile acestor variabile direct \u00een instruc\u021biunile din cod, elimin\u00e2nd costurile asociate cu manipularea pointerilor.\n<li class=\"l\"> Continuarea transferului modific\u0103rilor din ramura Rust-for-Linux, legate de utilizarea limbajului Rust ca al doilea limbaj pentru dezvoltarea driverelor \u0219i modulelor nucleului (suportul pentru Rust nu este activat implicit \u0219i nu conduce la includerea Rust \u00een lista dependen\u021belor de compilare necesare pentru nucleu). A fost ad\u0103ugat suportul pentru versiunea Rust 1.80 (versiunea minim\u0103 r\u0103m\u00e2ne \u00een continuare Rust 1.78). Pe l\u00e2ng\u0103 instrumentele deja men\u021bionate pentru dezvoltarea driverelor de dispozitive bloc, \u00een noua versiune au fost ad\u0103ugate abstrac\u021bii pentru \u00eenc\u0103rcarea firmware-ului, accesul la spa\u021biul utilizatorului (uaccess) \u0219i lucrul cu structura 'page'.\n<li class=\"l\"> Pentru sistemele x86-64, a fost implementat un nou apel de sistem uretprobe(), care optimizeaz\u0103 func\u021bionarea mecanismului de trasare uretprobe, permi\u021b\u00e2nd urm\u0103rirea valorilor returnate de func\u021bii \u00een aplica\u021biile din spa\u021biul utilizatorului.\n<li class=\"l\"> Au fost ad\u0103ugate parametrii pentru comenzile kernelor: &#171;reserve_mem&#187; pentru rezervarea unei zone de memorie denumite \u00een timpul boot-ului \u0219i &#171;ramoops.mem_name&#187; pentru utilizarea \u00een zona de memorie pstore, creat\u0103 prin reserve_mem.\n<li class=\"l\"> \u00cen controllerele de memorie bazate pe cgroup, \u00een fi\u0219ierul memory.reclaim, prin care sunt definite set\u0103rile de eliberare a memoriei, a fost ad\u0103ugat parametru &#171;swappiness&#187;, care permite ajustarea echilibrului \u00eentre eliberarea paginilor anonime \u00een swap \u0219i eliberarea paginilor de memorie ocupate pentru cache-ul de fi\u0219iere.\n<li class=\"l\"> A fost ad\u0103ugat un interfa\u021b\u0103 ioctl PROCMAP_QUERY pentru c\u0103utarea mai eficient\u0103 a domeniilor de memorie virtual\u0103 (Virtual Memory Area) \u00een \/proc\/PID\/maps.\n<li class=\"l\"> \u00cen apelul de sistem mmap() a fost ad\u0103ugat un flag MAP_DROPPABLE pentru a solicita memorie care nu va fi niciodat\u0103 eliminat\u0103 \u00een swap, iar \u00een cazul lipsei de memorie poate fi \u0219tears\u0103.\n<li class=\"l\"> Pentru arhitectura ARM64, a fost implementat suportul pentru conectarea la cald (comutarea \u00eentre modurile online\/offline) a CPU-urilor fizice \u0219i virtuale pe sistemele cu ACPI.\n<li class=\"l\"> Pentru arhitectura RISC-V, a fost asigurat\u0103 suport pentru conectarea din mers a memoriei \u0219i a fost ad\u0103ugat suport pentru pluginul GCC STACKLEAK (care ini\u021bializeaz\u0103 toate variabilele stocate \u00een stiv\u0103 pentru a preveni scurgerile de informa\u021bii din nucleu prin variabile neini\u021bializate care pot con\u021bine resturi de date salvate anterior \u00een stiv\u0103).\n<li class=\"l\"> Mecanismul de mapare fals\u0103 a memoriei EFI (fake EFI memory map) a fost eliminat \u00een timpul ini\u021bializ\u0103rii. Acest mecanism nu a fost utilizat \u00een practic\u0103 \u0219i a \u00eempiedicat dezvolt\u0103rile \u00een domeniul execu\u021biei confiden\u021biale. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/vps\/\"   title=\"ma\u0219ini virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2173\">ma\u0219ini virtuale<\/a>.\n<li class=\"l\"> Suportul pentru platforma PowerPC 40x a fost \u00eentrerupt.\n<li class=\"l\"> Cerin\u021bele pentru versiunea GNU Make au fost crescut \u2014 pentru a compila kernelul este necesar s\u0103 fie instalat cel pu\u021bin o versiune GNU Make publicat\u0103 \u00een 2013.                      <\/ul>\n<li class=\"l\"> <b>Virtualizare \u0219i securitate<\/b>\n<ul>\n<li class=\"l\"> Au fost integrate patch-uri care accelereaz\u0103 semnificativ (de p\u00e2n\u0103 la 15 ori) ob\u021binerea de numere aleatorii prin apelul de sistem getrandom(). Optimizarea se bazeaz\u0103 pe utilizarea mecanismului vDSO (virtual dynamic shared object), care permite transferarea gestion\u0103rii apelului de sistem din nucleu \u00een spa\u021biul utilizatorului \u0219i evitarea schimb\u0103rilor de context. Implementarea apelului de sistem este \u00eenc\u0103rcat\u0103 direct \u00een spa\u021biul de adres\u0103 al procesului de c\u0103tre nucleu.\n<li class=\"l\"> Pentru sistemele x86-64, a fost inclus\u0103 o nou\u0103 implementare a algoritmului de criptare AES-GCM, care suport\u0103 utilizarea instruc\u021biunilor vectoriale VAES, VPCLMULQDQ \u0219i AVX512\/AVX10 pentru accelerarea calculului. Testele efectuate au ar\u0103tat o cre\u0219tere a performan\u021bei de p\u00e2n\u0103 la 156% dup\u0103 trecerea la noua implementare. Implementarea \u00een asamblare a AES-GCM a fost complet rescris\u0103 lu\u00e2nd \u00een considerare corectitudinea, performan\u021ba, dimensiunea \u0219i documentarea exhaustiv\u0103 a codului.\n<li class=\"l\"> A fost implementat\u0103 posibilitatea de a rula nucleul ca sistem invitat \u00een medii virtualizate care folosesc extensia de procesor AMD SEV-SNP (Secure Nested Paging), destinat\u0103 s\u0103 asigure func\u021bionarea \u00een siguran\u021b\u0103 cu tabele de pagini de memorie imbricate. Pentru o izolare suplimentar\u0103 a accesului la resurse din ma\u0219inile virtuale, poate fi utilizat modulul SVSM (Linux Secure VM Service Module). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/vps\/abuzoustojchivye-vps\/\"   title=\"KVM\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4428\">KVM<\/a> A fost ad\u0103ugat suport ini\u021bial pentru rularea sistemelor invitate protejate prin AMD SEV-SNP.\n<li class=\"l\"> A fost ad\u0103ugat un alocatoare de bucket slab separat, activat prin parametrul CONFIG_SLAB_BUCKETS, care ofer\u0103 protec\u021bie \u00eempotriva atacurilor folosind tehnica &#171;heap spraying&#187;.\n<li class=\"l\"> \u00cen hypervizorul KVM a fost ad\u0103ugat un apel ioctl pentru alocarea anticipat\u0103 a memoriei pentru sistemul invitat, \u00eenainte de lansarea efectiv\u0103 a acestuia.                        <\/ul>\n<li class=\"l\"> <b>Subsystema de re\u021bea<\/b>\n<ul>\n<li class=\"l\"> A fost ad\u0103ugat parametrul sysctl net.tcp_rto_min_us, prin care se poate configura timpul minim de a\u0219teptare pentru retransmiterea (retransmission timeout) pentru conexiunile TCP.\n<li class=\"l\"> Utilitarul ethtool a fost \u00eembun\u0103t\u0103\u021bit cu o op\u021biune de ajustare fin\u0103 a configura\u021biei manipulatoarelor de \u00eentreruperi pentru interfe\u021bele de re\u021bea care utilizeaz\u0103 interfa\u021ba Net DIM.                      <\/ul>\n<li class=\"l\"> <b>Echipament<\/b>\n<ul>\n<li class=\"l\"> \u00cen driverul AMDGPU a fost activat\u0103 suportul ini\u021bial pentru GPU AMD RDNA4 (&#171;GFX12&#187;). A fost ad\u0103tat\u0103 suportul pentru tehnologiile DCN 4.0.x, GC 12.0, GMC 12.0, SDMA 7.0, MES12 \u0219i MMHUB 4.1.\n<li class=\"l\"> Continu\u0103m lucr\u0103rile la driverul drm (Direct Rendering Manager) Xe pentru GPU-uri bazate pe arhitectura Intel Xe, care sunt folosite \u00een pl\u0103cile grafice Intel din seria Arc \u0219i \u00een grafica integrat\u0103, \u00eencep\u00e2nd cu procesoarele Tiger Lake. Suportul pentru GPU-uri bazate pe microarhitecturile Battlemage, Arrow Lake \u0219i Lunar Lake a fost \u00eembun\u0103t\u0103\u021bit.\n<li class=\"l\"> \u00cen subsistemul DRM (Direct Rendering Manager) a fost rescris handler-ul pentru parametrii EDID (Extended Display Identification Data) furniza\u021bi de monitor.\n<li class=\"l\"> Driverul i915 a fost actualizat pentru a include suport pentru GPU Battlemage Xe2 \u0219i modul CMRR (Content Match Refresh Rate) a fost activat implicit.\n<li class=\"l\"> \u00cen driverul DRM msm (GPU Qualcomm Adreno) a fost ad\u0103ugat suport pentru platforma SM7150 \u0219i GPU X185 \u0219i a505.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suportul pentru panouri LCD Lincoln Tech Sol LCD185-101CT, Microtips Technology 13-101HIEBCAF0-C, Microtips Technology MF-103HIEB0GA0, BOE nv110wum-l60, IVO t109nw41, WL-355608-A8, PrimeView PM070WL4, Lincoln Technologies LCD197, Ortustech COM35H3P70ULC, AUO G104STN01, K&amp;d kd101ne3-40ti.\n<li class=\"l\"> \u00cen subsistemul audio a fost ad\u0103ugat suport pentru cipurile \u0219i codec-urile Intel Panther Lake, Asahi Kasei AK4619, Cirrus Logic CS530x, Everest Semiconductors ES8311, NXP i.MX95, LPC32xx, Qualcomm LPASS v2.5, WCD937x, Realtek RT1318, RT1320 \u0219i Texas Instruments PCM5242.\n<li class=\"l\"> Au fost implementate modific\u0103rile finale care ofer\u0103 suport pentru ARM SoC Snapdragon X Elite, care utilizeaz\u0103 un CPU Qualcomm Oryon cu 12 nuclee \u0219i GPU Qualcomm Adreno. Chip-ul este destinat utiliz\u0103rii \u00een laptopuri \u0219i PC-uri \u0219i dep\u0103\u0219e\u0219te \u00een multe teste de performan\u021b\u0103 cipurile Apple M3 \u0219i Intel Core Ultra 155H. Modific\u0103rile ad\u0103ugate \u00een kernelul 6.11 sunt legate de suportul pentru GPU Adreno X1-85 \u0219i gestionarea consumului de energie. Laptopurile ASUS Vivobook S15 \u0219i Lenovo Yoga Slim7x sunt anun\u021bate ca fiind bazate pe SoC Snapdragon X Elite.                                  <\/ul>\n<\/ul>\n<p>Simultan, Fondul Latino-American pentru Software Liber a creat o variant\u0103 complet liber\u0103 a kernelului 6.11 \u2014 Linux-libre 6.10-gnu, cur\u0103\u021bat\u0103 de elementele firmware-urilor \u0219i driverelor care con\u021bin componente nesigure sau por\u021biuni de cod limitate de produc\u0103tor. \u00cen versiunea 6.11, codul pentru cur\u0103\u021barea blob-urilor \u00een driverele mdgpu, adreno, vgxy61, atomisp, btnxpuart, prueth \u0219i tas2781 a fost actualizat. A fost efectuat\u0103 cur\u0103\u021barea driverelor noi amdgpu isp, tn40, rtl8192du, cs40l50, rt1320 \u0219i pcie-rcar-gen4. A fost efectuat\u0103 cur\u0103\u021barea numelui blob-urilor \u00een fi\u0219ierele dts (devicetree) pentru arhitectura Aarch64. A fost ad\u0103ugat un cod care nu genereaz\u0103 avertismente \u0219i cereri (nowait-nowarn) pentru primitivii de \u00eenc\u0103rcare a firmware-urilor. A fost ad\u0103ugat cod pentru definirea primitivilor de \u00eenc\u0103rcare a firmware-urilor \u00een codul scris \u00een Rust.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61869\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.11. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430 \u0431\u043b\u043e\u0447\u043d\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 bind() \u0438 listen() \u0432 io_uring, \u043d\u043e\u0432\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043e\u0442\u0437\u0435\u0440\u043a\u0430\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u044b\u0437\u043e\u0432\u0430 getrandom(), \u043d\u043e\u0432\u0430\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-119836","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.11.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-yadra-linux-6-11\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.11 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.11.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-yadra-linux-6-11\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-09-16T13:43:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-09-16T13:43:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lansarea nucleului Linux 6.11 | ProHoster","description":"Dup\u0103 dou\u0103 luni de dezvoltare, Linus Torvalds a prezentat versiunea nucleului Linux 6.11.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-yadra-linux-6-11","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.11 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.11.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-yadra-linux-6-11","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-09-16T13:43:01+00:00","article:modified_time":"2024-09-16T13:43:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"119836","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:33:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 06:34:19","updated":"2026-02-09 17:33:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/119836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=119836"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/119836\/revisions"}],"predecessor-version":[{"id":164306,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/119836\/revisions\/164306"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=119836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=119836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=119836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}