Ukukhishwa Kwelabhulali Yesistimu ye-Glibc 2.36

Ngemva kwezinyanga eziyisithupha zokuthuthukiswa, umtapo wolwazi wesistimu we-GNU C Library (glibc) 2.36 ukhululiwe, othobelana ngokugcwele nezimfuneko zezindinganiso ze-ISO C11 kanye ne-POSIX.1-2017. Ukukhishwa okusha kufaka phakathi ukulungiswa okuvela konjiniyela abangama-59.

Okunye ukuthuthukiswa okusetshenziswe ku-Glibc 2.36 kufaka phakathi:

  • Ukwesekwa okwengeziwe kwefomethi entsha yokuthutha ikheli le-DT_RELR (relative relocation), ekuvumela ukuthi unciphise usayizi wokuthutha okuhlobene ezintweni okwabelwana ngazo kanye namafayela asebenzisekayo axhunywe kumodi ye-PIE (Position-independent executables). Ukusebenzisa inkambu ye-DT_RELR kumafayela e-ELF kudinga ukusekelwa kwenketho ethi "-z pack-relative-relocs" kusixhumi, eyethulwe ekukhishweni kwama-binutils 2.38.
  • Okweplathifomu ye-Linux, imisebenzi ethi pidfd_open, pidfd_getfd kanye ne-pidfd_send_signal iyasetshenziswa, ihlinzeka ngokufinyelela ekusebenzeni kwe-pidfd esiza ukuphatha izimo zokuphinda kusetshenziswe i-PID ukukhomba ngokunembe kakhudlwana izinqubo zokufinyelela kumafayela agadiwe (i-pidfd ihlotshaniswa nenqubo ethile futhi ayishintshi, kuyilapho i-PID ingakwazi kunamathiselwe kwenye inqubo ngemuva kokuthi inqubo yamanje ehambisana naleyo PID inqanyuliwe).
  • Ngengxenyekazi ye-Linux, umsebenzi we-process_madvise() wengeziwe ukuze uvumele inqubo eyodwa ukukhipha ucingo lwesistimu ye-madvise() egameni lenye inqubo, ehlonza inqubo eqondiwe kusetshenziswa i-pidfd. Ngokusebenzisa i-madvise(), ungakwazi ukwazisa i-kernel mayelana nezici zokusebenza ngememori ukuze uthuthukise ukuphathwa kwememori yenqubo; isibonelo, ngokusekelwe kulwazi oludlulisiwe, i-kernel ingaqala ukukhululwa kwememori eyengeziwe yamahhala. Ucingo oluya ku-madvise() ngenye inqubo lungadingeka esimweni lapho ulwazi oludingekayo ukuze kusetshenziswe ngokugcwele lungaziwa enqubweni yamanje, kodwa ludidiyelwe inqubo yokulawula ingemuva ehlukile, engakwazi ukuqalisa ngokuzimela ukususwa kwenkumbulo engasetshenziswanga ezinqubweni.
  • Okweplathifomu ye-Linux, umsebenzi we-process_mrelease() wengeziwe, okuvumela ukuthi usheshise ukukhululwa kwenkumbulo ngenqubo eqeda ukwenziwa kwayo. Ngaphansi kwezimo ezijwayelekile, ukukhishwa kwensiza kanye nokunqanyulwa kwenqubo akukona ngokushesha futhi kungase kubambezeleke ngenxa yezizathu ezihlukahlukene, kuphazamise izinhlelo zokusabela kusenesikhathi zenkumbulo yendawo yomsebenzisi njenge-oomd (ehlinzekwa yi-systemd). Ngokushayela i-process_mrelease, amasistimu anjalo angacupha ukutholwa kabusha kwenkumbulo ezinqubweni eziphoqelelwe.
  • Ukusekelwa kwenketho ethi "cha-aaaa" kungeziwe ekusetshenzisweni okwakhelwe ngaphakathi kwesixazululi se-DNS, okukuvumela ukuthi ukhubaze ukuthunyelwa kwezicelo ze-DNS zamarekhodi e-AAAA (ukunquma ikheli le-IPv6 ngegama lomsingathi), okuhlanganisa lapho usebenzisa i-NSS. imisebenzi efana ne-getaddrininfo(), ukwenza lula ukuxilongwa kwenkinga. Le nketho ayithinti ukucutshungulwa kokubophezela kwekheli le-IPv6 okuchazwe kokuthi /etc/hosts kanye namakholi aya ku-getaddrninfo() ngefulegi le-AI_PASSIVE.
  • Okweplathifomu ye-Linux, imisebenzi ethi fsopen, fsmount, move_mount, fsconfig, fspick, open_tree kanye ne-mount_setattr yengeziwe, okuhlinzeka ngokufinyelela ku-kernel API entsha yokuphatha ukukhwezwa kwesistimu yefayela ngokusekelwe kuzikhala zamagama. Imisebenzi ehlongozwayo ikuvumela ukuthi ucubungule ngokuhlukana izigaba ezihlukene zokukhweza (cubungula i-superblock, uthole ulwazi mayelana nesistimu yefayela, ukukhweza, ukunamathisela endaweni yokukhweza), okwenziwa ngaphambilini kusetshenziswa umsebenzi ovamile wokukhweza (). Imisebenzi ehlukene inikeza ikhono lokwenza izimo zokukhweza eziyinkimbinkimbi futhi ngokwehlukana kwenziwe imisebenzi efana nokumisa kabusha i-superblock, ukunika amandla izinketho, ukushintsha indawo yokukhweza, nokuthuthela kwenye indawo yegama. Ngaphezu kwalokho, ukucutshungulwa okuhlukene kukuvumela ukuthi unqume ngokunembile izizathu zokukhishwa kwamakhodi wephutha futhi usethe imithombo eminingi yezinhlelo zamafayela ezendlalelo eziningi, njengama-overlayfs.
  • I-localedef inikeza usekelo lokucubungula amafayela encazelo yendawo anikezwe ngombhalo wekhodi we-UTF-8 esikhundleni se-ASCII.
  • Imisebenzi eyengeziwe yokuguqula ama-multi-byte e-mbrtoc8 kanye ne-c8rtomb encodings kuya ku-ISO C2X N2653 kanye nokucaciswa kwe-C++20 P0482R6.
  • Usekelo olungeziwe lohlobo lwe-char8_t oluchazwe kokusalungiswa okujwayelekile kwe-ISO C2X N2653.
  • Kwengezwe i-arc4random, i-arc4random_buf, kanye nemisebenzi ye-arc4random_uniform ehlinzeka ngezisonga ngaphezulu kwekholi yesistimu ye-getrandom kanye nesixhumi esibonakalayo se/dev/urandom esibuyisela izinombolo zekhwalithi ephezulu zamanga.
  • Lapho isebenza ku-platform ye-Linux, isekela ukwakheka kwesethi yemiyalo ye-LoongArch esetshenziswa kuma-Loongson 3 5000 processors futhi isebenzisa i-RISC ISA entsha, efana ne-MIPS ne-RISC-V. Ngendlela yayo yamanje, ukusekelwa kuphela kwenguqulo ye-64-bit ye-LoongArch (LA64) etholakalayo. Ukuze usebenze, udinga okungenani izinguqulo ze-binutils 2.38, GCC 12 ne-Linux kernel 5.19.
  • Indlela yokuxhumanisa kuqala, kanye nokuhlukahluka kwayo kwemvelo kwe-LD_TRACE_PRELINKING kanye LD_USE_LOAD_BIAS namandla okuxhumanisa, kuhoxisiwe futhi kuzosuswa ekukhishweni okuzayo.
  • Ikhodi ekhishiwe yokuhlola inguqulo ye-Linux kernel kanye nokusingatha i-LD_ASSUME_KERNEL eguquguqukayo yemvelo. Inguqulo encane ye-kernel esekelwayo uma kwakhiwa i-Glibc inqunywa ngenkambu ye-ELF NT_GNU_ABI_TAG.
  • I-LD_LIBRARY_VERSION eguquguqukayo yemvelo iyekisiwe kuplathifomu ye-Linux.

Source: opennet.ru

Engeza amazwana