Portál AbcLinuxu, 27. května 2024 10:54

Jaderné noviny - 26. 5. 2016: Začleňovací okno 4.7, 2. část

5. 6. 2016 | Redakce
Články - Jaderné noviny - 26. 5. 2016: Začleňovací okno 4.7, 2. část  

Stav vydání jádra. Malá změna ve waitid(). Začleňovací okno 4.7, 2. část

Stav vydání jádra

Začleňovací okno 4.7 zůstává otevřeno. Pro shrnutí změn začleněných do vydání 4.7 viz níže.

Stabilní aktualizace: 4.5.5, 4.4.11 a 3.14.70 byly vydány 18. května.

Malá změna ve waitid()

Práce na fuzzingu systémových volání nedávno ukázala na zajímavý problém mnoha linuxových systémů. Proces může v závislosti na použitém init systému vytvořit trvalého zombie potomka tak, že naklonuje vlákno, zavolá na něj ptrace() a skončí. Pokud daný init na proces nečeká „správným způsobem“, dané vlákno zůstane nepovšimnuto a nebude ani odstraněno. Na rozdíl od jiných zombie se však nebude pohybovat po systému hledajíc mozky ke svačině, nýbrž bude navždy nehnutě sedět a jen spotřebovávat paměť, což už je špatné samo o sobě.

Čistě technicky se nejedná o problém jádra: volání waitid() (které většina implementací init systémů zřejmě používá) nemá při absenci příznaku __WALL čekat na své podomky. Jedná se však o typ DoS (Denial of Service), změna všech implementací initu by bylo nepraktické a konečně: systémové volání waitid() – na rozdíl od volání wait4() – příznak __WALL vůbec neakceptuje. Oleg Nesterov se tudíž rozhodl, že tento problém by se měl vyřešit v jádře, přestože o chybě můžeme říct, že je to problém někoho jiného.

Takže od verze 4.7 bude volání waitid() čekat na procesy potomků, které běží pod ptrace(). Volání bude také akceptovat příznak __WALL, i když ho proti invazi zombií nebude zapotřebí. Jak Oleg poznamenal v seznamu změn, jedná se o změnu ABI: __WCLONE a __WALL již pro debugger nemají význam. Jen doufám že se tím nic dalšího nepokazí. Ale aspoň už nebude trpět strace/gdb.“ Tato změna by neměla způsobovat problémy nikde jinde, ale jeden nikdy neví. Pokud se ve vývojovém cyklu 4.7 objeví problémy, možná bude tahle změna muset zase ven.

Začleňovací okno 4.7, 2. část

V době psaní tohoto článku bylo Linusem do hlavního repozitáře jádra 4.7 začleněno 9900 neslučovacích sad změn, z toho 6500 od shrnutí z minulého týdne. Po téměř rekordním množství změn, které šly do verze 4.6, komunita trochu zpomalila, ale jen o trochu.

Některé zajímavé změny viditelné uživatelům zahrnují:

Změny viditelné jaderným vývojářům:

Příliv patchů do hlavního repozitáře se v poslední době zpomalil, téměř všechny větší stromy již byly začleněny. Začleňovací okno má v době psaní ještě stále několik dní, příští týden se podíváme na shrnutí tohoto vývojového cyklu.

Odkazy a zdroje

LWN.net

Další články z této rubriky

Jaderné noviny – přehled za duben 2024
Jaderné noviny – přehled za březen 2024
Jaderné noviny – přehled za únor 2024
Jaderné noviny – přehled za leden 2024
Jaderné noviny – přehled za prosinec 2023

Diskuse k tomuto článku

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.