Glibc 2.35 přichází s vylepšeními, opravami chyb a dalšími

Po šesti měsících vývoje bylo oznámeno vydání nové verze Glibc 2.35 ve kterém obsahuje opravy od 66 vývojářů a z implementovaných vylepšení můžeme zjistit, že byla přidána podpora pro národní prostředí "C.UTF-8", které zahrnuje porovnávání pro všechny kódy Unicode, ale je omezeno na použití rozsahů ASCII ve funkcích fnmatch, regexec a regcomp pro uložení prostor.

Národní prostředí má přibližně 400 KB, z čehož 346 KB tvoří data LC_CTYPE pro Unicode, a musí být nainstalováno samostatně (nezabudováno do Glibc). Data kódování, informace o typu znaků a transliterační tabulky byly aktualizovány, aby podporovaly specifikaci Unicode 14.0.0.

Další změna, která vyniká, je ta Y implementovat funkce a makra, která zaokrouhlí výsledek na užší typ, Kromě implementace funkcí a maker najít minimální a maximální počet typů float, long double, _FloatN a _FloatNx popsaných ve specifikaci IEEE 754-2019.

pro funkce exp10 se do hlavičkového souboru přidají odpovídající makra, které nejsou vázány na konkrétní typy, plus makro _PRINTF_NAN_LEN_MAX bylo přidáno do , navržený v návrhu normy ISO C2X.

Dynamický linkovací systém implementuje nový klasifikační algoritmus DSO pomocí hloubkového vyhledávání (DFS) k řešení problémů s výkonem při zpracování závislostí na smyčce. Pro výběr třídícího algoritmu DSO je navržen parametr glibc.rtld.dynamic_sort, který lze nastavit na "1", aby se vrátil k předchozímu algoritmu.

Kromě toho přidána podpora pro novou funkci '__memcmpeq' k ABI, které používají kompilátory k optimalizaci použití `memcmp', když se návratová hodnota této funkce používá pouze ke kontrole stavu dokončení operace.

The podpora automatické registrace vlákna pomocí systémového volání rseq (restartovatelné sekvence) poskytovaného od jádra Linuxu 4.18. Systémové volání rseq umožňuje organizovat nepřetržité provádění skupiny instrukcí který se nepřeruší a potvrdí výsledek posledním příkazem ve skupině. V podstatě poskytuje zařízení pro velmi rychlé atomické provádění operací, které, pokud jsou přerušeny jiným vláknem, jsou vyčištěny a opakovány.

Na druhou stranu poskytuje výchozí kompilace všech spustitelných souborů vestavěných programů a testovací sady v režimu PIE (polohově nezávislý spustitelný soubor).

Chcete-li toto chování zakázat, je k dispozici možnost „–disable-default-koláč“., plus pro Linux, přidal nastavení glibc.malloc.hugetlb pro změnu implementace malloc tak, aby používala systémové volání madvise s příznakem MADV_HUGEPAGE pro mmap a sbrk, nebo přímo používala velké paměťové stránky zadáním příznaku MAP_HUGETLB ve voláních mmap.

V prvním případě lze zvýšení výkonu dosáhnout použitím průhledných obrovských stránek v režimu madvise a ve druhém případě můžete použít systémově rezervované obrovské stránky (Huge Pages).

Je třeba také poznamenat, že v této nové verzi byly opraveny některé chyby zabezpečení:

  • CVE-2022-23218, CVE-2022-23219: Přetečení vyrovnávací paměti ve funkcích svcunix_create a clnt_create způsobené zkopírováním obsahu parametru názvu souboru do zásobníku bez kontroly velikosti zkopírovaných dat. U aplikací vytvořených bez ochrany zásobníku a používajících protokol „unix“ by tato chyba zabezpečení mohla vést ke spuštění škodlivého kódu při zpracování velmi dlouhých názvů souborů.
  • CVE-2021-3998: zranitelnost ve funkci realpath() způsobená vracením nesprávné hodnoty za určitých podmínek obsahujících nevyčištěná zbytková data ze zásobníku. U programu SUID-root fusermount lze zranitelnost použít k získání citlivých informací z paměti procesu, například k získání informací o ukazateli.
  • CVE-2021-3999: jednobajtové přetečení vyrovnávací paměti ve funkci getcwd(). Problém je způsoben chybou, která existuje od roku 1995. Chcete-li zavolat přetečení, v samostatném jmenném prostoru přípojného bodu stačí zavolat chdir() v adresáři "/".

Konečně Máte-li zájem o tom vědět více, můžete zkontrolovat podrobnosti v následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.