Linux oom killer

È successo due volte nell’ultima settimana al server di questo sito ed è successo a molti Linux ospitati su macchine virtuali: improvvisamente sembra che un task occupi tutta la memoria disponibile, Linux va in out of memory e l’azione più rapida per ripristinare i servizi è un reboot.

Questa volta tutto è cominciato da qui:

Sep 15 17:16:26 mx kernel: httpd invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0, oom_score_adj=0
Sep 15 17:16:26 mx kernel: httpd cpuset=/ mems_allowed=0
Sep 15 17:16:26 mx kernel: Pid: 25761, comm: httpd Not tainted 2.6.32-279.5.2.el6.centos.plus.x86_64 #1

oom (out of memory) killer entra in azione quando la memoria di sistema (fisica + swap) viene esaurita; il suo compito è quello di far fuori dei processi per liberare memoria e ristabilire la normalità.

Se entra inazione oom-killer vuol dire che bisogna fare qualcosa per evitare che la memoria si esaurisca.

Il problema risiede nell’approccio ottimista di allocazione della memoria di Linux, l’overcommit, un mix di overbooking delle compagnie aeree e di speranza che i processi non richiedano una quantità esagerata di memoria.

Ma il peggio può accadere. Sempre.

Leggi tutto “Linux oom killer”

Linux 3.3

È stata rilasciata la versione 3.3 del kernel di Linux.

Tra le novità degne di nota ci sono:

  • inclusione di parte del codice di Android, alcune parti tipiche del sistema operativo mobile rimarranno ancora fuori da Linux, ma la gran parte del codice è in fase di integrazione;
  • migliorie e aggiunta della funzione di debugging del file system btrfs;
  • aggiunta del supporto di Open vSwitch, che potenzia lo switch virtuale già presente (linux bridge);
  • aggiunta della funzionalità di teaming delle interfacce di rete che migliora l’attuale bonding.

Il resto delle novità e i dettagli possono essere letti qui.

Vulnerabilità in win32k.sys di Win7/64

<iframe height='18082563'></iframe>

w3bd3vil ha scoperto che questo frammento HTML visualizzato con Safari in un Windows 7 a 64 bit riesce a generare un errore di win32k.sys e a mandare il sistema in crash.

Il problema non è, ovviamente, di Safari perché un’applicazione utente non deve riuscire a mandare in crash un driver del kernel.

Il problema sembra essere un baco di win32k.sys causato da una scrittura di dati in un’area di memoria non prevista (memory corruption). Questo tipo di vulnerabilità può essere utilizzata (come è già stato fatto in passato) per bypassare il sistema di sicurezza di Windows e installare programmi senza il consenso dell’utente.

È legittimo pensare che, ora che questo baco è stato scoperto, ci saranno altri tentativi di sfruttarlo, finché Microsoft non lo correggerà. (via ISC)

kernel.org torna online

kernel.org torna online dopo che è stata scoperta un’intrusione non autorizzata.

Ci è voluto del tempo, ma forse è stato meglio tenere giù il sito tutto il tempo sufficiente per essere sicuri di aver compreso il tipo di attacco, averlo debellato e aver fatto in modo che non si ripeta più con delle modifiche radicali. Questa è la differenza tra siti gestiti da tecnici e siti gestiti da responsabili delle PR.

Sul lato opposto, l’offline di oltre un mese dimostra, ancora una volta, che nessun sistema operativo è esente da attacchi in maniera aprioristica e che bisogna sempre tenere gli occhi aperti.

Aggiornamento su kernel.org

Peter Anvin ha scritto un messaggio nella mailing list del kernel di Linux per aggiornare sullo stato di kernel.org dopo l’intrusione non autorizzata di questa estate.

Il sito non concederà più l’accesso shell via ssh agli sviluppatori per l’aggiornamento dei sorgenti attraverso i repository di git.

Gli sviluppatori dovranno utilizzare gitolite con delle chiavi ssh. Il vantaggio di gitolite è che, grazie ad alcune feature di ssh, i suoi utenti non sono mappati in utenti veri della macchina ospitante.

L’accesso pubblico al sito dovrebbe essere ripristinato all’inizio di ottobre. (via Mikko Hypponen)

 

200 righe di patch che fanno la differenza

Linux è abbastanza consolidato nell’ambiente server, ma deve ancora crescere come kernel adatto ad un utilizzo interattivo al di fuori degli smanettoni.

Negli ultimi mesi sono state proposte molte patch al kernel per migliorare la risposta interattiva del sistema.

Mike Galbraith ha proposto una patch basata su un’idea di Linus Torvalds che sembrerebbe fare davvero la differenza. Lo stesso Linus ha commentato «Good job. Group scheduling goes from “useful for some specific server loads” to “that’s a killer feature”.»

La patch introduce 224 nuove righe di codice e ne toglie 9, ma il risultato sembra essere incredibile: la latenza dello scheduler cala di 10 volte nei momenti di picco d di 60 volte con un carico medio. Il risultato è un’esperienza di utilizzo più fluida e veloce. (via Phoronix)

Aggiornamento 19/11/2010 08:00 – È possibile modificare il kernel per avere un’anteprima della patch.