Kernel

VM javítások a 2.6-ban

Címkék

Andrea Arcangeli egy olyan patchsettel állt elő, amelynek célja a 2.6-os Linux kernel VM-jének (virtuális memória alrendszer) javítása. A patchet 4 részből áll. A javítások közt van a régóta problémás OOM Killer javítása is. A 4 patchból álló set első tagja a protect-pids patch, amelynek segítségével adminisztrálni lehet az OOM Killer-t, míg a negyedik maga a core OOM killer javítás. Andrea azt szeretné, ha a változások beolvasztásra kerülnének a mainline kernelbe.

A patchek, és a magyarázatok itt:

VM fixes [1/4]

VM fixes [2/4]

VM fixes [3/4]

VM fixes [4/4]

Marcelo Tosatti: Linux 2.4.29-pre3

Címkék

Marcelo elérhetővé tette a 2.4.29-es kernel harmadik -pre verzióját. A patch legfontosabb tulajdonsága, hogy javítja az "int 0x80 hole" biztonsági problémát az amd64-es portban (CAN-2004-1144).

Ha stabil 2.6-os kernel kell...

Címkék

A Linux kernel levelezési listán (LKML) merült fel az a kérdés, hogy melyik kernelfát kell követnie annak a felhasználónak, aki a legstabilabb kernelt szeretné használni.

Ismeretes, hogy a 2.6-os kernelsorozat kiadása után Linus és a fejlesztők nagy része úgy döntött a 2004-es Kernel Summit rendezvényen, hogy egyelőre nem nyitják meg a 2.7-es fejlesztői kernelfát, hanem a változásokat, újításokat egyből a 2.6-os kernelsorozatba teszik. Persze nem minden szűrés nélkül vakon, hanem ellenőrizve azokat. A változtatásokat ellenőrizendő jött létre az Andrew Morton által igazgatott -mm kernelfa. Ebbe a fába kerülnek a kérdéses változtatások, amelyek ha megfelelnek a tesztelések során, akkor Linushoz kerülhetnek, aki vagy beolvasztja ezeket a patcheket a saját fájába (amelyik a kernel.org-on aztán -pre, vagy stabil formát ölt) vagy elveti őket. Ezzel a lépéssel azt szeretnék elérni, hogy a Linux kernel fejlesztési üteme felgyorsuljon, és az új funkciókra ne kelljen akár hosszú hónapokat (éveket) várni (korábbi cikkünk). A fejlesztés ilyen volta miatt a kernel néha akár instabilabb állapotba is kerülhet, mintha korábbi fejlesztési mechanizmus szerint fejlesztették volna. Linus és Andrew hangsúlyozta, hogy a stabilizáció feladata áttolódott a Linux disztribútorokra. Ők szívesebben látnák, ha a disztribútorok végeznék el a végső simításokat a kernelen.

Ezek után kérdés, hogy melyik fát kellene követnie annak, aki a legstabilabb Linux kernelt szeretné használni. Talán a legjobb megoldás, ha mindenki a saját disztribútora által szállított kernelt használja. De mi van azokkal, akik a kernel.org-ról töltik le a kernel forrást, és saját ízlésük szerint szeretnék azt konfigurálni, fordítani?

Jelenleg a Linus által kiadott -pre és stabil kerneleken kívül lehetőség van a -bk snapshotok, az Andrew Morton-féle -mm patchset, az Alan Cox-féle -ac patchset vagy a Con Kolivas-féle főként desktopokra optimalizált -ck patchset használatára (, hogy csak az ismertebbeket említsük). A kérdés az, hogy melyik a legstabilabb.

Alan Cox levelében azt írta, hogy az 2.6.x-mm kernelfa olyan most, mint korábban a 2.4 idején az -ac kernelfa volt. Ebbe kerülnek az új anyagok. Alan szerint a 2.6.x-ac kernelfa megpróbál sokkal konzervatívabb maradni.

Sokak szerint ha stabil 2.6-os kernel kell, akkor érdemes a 2.6.x-ac sorozatot követni, használni.

Bővebben a KernelTrap-on itt.

Helyi és távoli hibák a Linux kernelben

Címkék

Marcelo Tosatti tegnap kiadott 2.4.29-pre2-es patchében két a Linux kernel hálózati alrendszerét érintő biztonsági hiba javítása található.

Az első az IGMP protokoll modulban és felhasználói API-ban levő hibát javítja. A hiba leírása a CAN-2004-1137 hibajegyen érhető el. Az kódban levő hibák kihasználása helyi privilégium emeléshez vagy távoli DoS-hoz vezethet. A második hiba leírása a CAN-2004-1016 hibajegyen található. A hiba a socket rétegben található. A hibát a helyi támadó felhasználhatja a gép ``megfagyasztására''.

A hibák javítása a 2.4.29-pre2-es patchben találhatók.

Kevesebb bug, mint a riválisokban

Címkék

Négy évnyi kutatás, 5.7 milliónyi Linux forráskód sor átvizsgálás után öt Stanford Egyetemen dolgozó számítógép-kutató azt állítja, hogy a Linux kódja programozási szempontból jobb és biztonságosabb, mint a legtöbb kereskedelmi szoftver forráskódja.Alapozzák ezt az állítást arra, hogy Carnegie Mellon Egyetem szakemberei 20-30 bugot találtak átlagban a kereskedelmi programok forráskódjának minden 1000 sorában, míg ők átlagosan 0.17 bugot fedeztek fel a Linux forráskódban 1000 soronként.

A részletes fejtegetés itt.

Időszeletes CFQ prioritási szintekkel

Címkék

Jens Axboe egy olyan patchet készített az időszeletes (time sliced) CFQ (Completely Fair Queueing) IO ütemezőjéhez, amelynek segítségével IO prioritási szinteket tudunk processzekhez rendelni. A dolog hasonlóan működik a processz ütemező nice értékeinek állítási lehetőségéhez. Az CFQ-hoz 8 különböző prio (prioritás) értéket lehet beállítani. A 0-ás érték a legmagasabb, a 7-es a legalacsonyabb. A működés lényege: ha a processzek azonos IO prio-val futnak, akkor körülbelül azonos diszk hozzáférési rátájuk lesz. A magasabb prio-val (alacsonyabb számmal) futó processz gyorsabban fog a diszkhez férni.

A prio szinteket az ``ionice'' parancs segítségével lehet állítani (ionice.c Jens levelében). Használata:

# ionice -n3 some_process

Ezzel a some_process névre hallgató processz 3-as IO prio-t kap.

Bővebben a KernelTrap-on itt.