<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

<author contact="mailto:zbrown@tumblerings.org">Zack Brown</author>

<issue num="236" date="26 Oct 2003 00:00:00 -0800" />

<stats posts="1670" size="8990" contrib="558" multiples="284" lastweek="186">

<person posts="37" size="231" who="Bartlomiej Zolnierkiewicz" />
<person posts="34" size="115" who="Greg KH" />
<person posts="29" size="114" who="Andrew Morton" />
<person posts="27" size="133" who=" (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=)" />
<person posts="26" size="88" who="(viro)" />
<person posts="23" size="75" who="Pavel Machek" />
<person posts="22" size="82" who="Marcelo Tosatti" />
<person posts="21" size="102" who="Vojtech Pavlik" />
<person posts="21" size="62" who="Jeff Garzik" />
<person posts="19" size="72" who="&quot;Randy.Dunlap&quot;" />
<person posts="19" size="47" who="&quot;David S. Miller&quot;" />
<person posts="17" size="106" who="Jamie Lokier" />
<person posts="17" size="81" who="Mike Fedyk" />
<person posts="16" size="83" who="Felipe W Damasio" />
<person posts="16" size="59" who="&quot;Richard B. Johnson&quot;" />
<person posts="16" size="48" who="Linus Torvalds" />
<person posts="14" size="41" who="Mikael Pettersson" />
<person posts="13" size="79" who="Maneesh Soni" />
<person posts="13" size="46" who="Nick Piggin" />
<person posts="13" size="46" who="John Bradford" />
<person posts="13" size="41" who="Dave Jones" />
<person posts="12" size="42" who="Benjamin Herrenschmidt" />
<person posts="11" size="40" who="(Valdis.Kletnieks)" />
<person posts="10" size="135" who="Tim Hockin" />
<person posts="10" size="78" who="&quot;kartikey bhatt&quot;" />
<person posts="10" size="53" who="Michael Frank" />
<person posts="10" size="40" who="Muli Ben-Yehuda" />
<person posts="10" size="37" who="Russell King" />
<person posts="10" size="26" who="Andi Kleen" />
<person posts="9" size="120" who="Rusty Russell" />
<person posts="9" size="60" who="Erik Andersen" />
<person posts="9" size="54" who="Andrea Arcangeli" />
<person posts="9" size="35" who="Rob Landley" />
<person posts="9" size="32" who="Andi Kleen" />
<person posts="9" size="26" who="Zwane Mwaikambo" />
<person posts="8" size="100" who="Michael Hunold (LinuxTV.org CVS maintainer)" />
<person posts="8" size="85" who="Joseph Pingenot" />
<person posts="8" size="59" who="Tony Hoyle" />
<person posts="8" size="30" who="Erik Bourget" />
<person posts="8" size="29" who="Hans-Georg Thien" />
<person posts="8" size="27" who="Matthew Wilcox" />
<person posts="8" size="23" who="Pavel Machek" />
<person posts="7" size="137" who="Martin Schwidefsky" />
<person posts="7" size="131" who="Erlend Aasland" />
<person posts="7" size="70" who="John Cherry" />
<person posts="7" size="55" who="Domen Puncer" />
<person posts="7" size="33" who="Dipankar Sarma" />
<person posts="7" size="32" who="Nikita Danilov" />
<person posts="7" size="30" who="Nicolas Mailhot" />
<person posts="7" size="24" who="Patrick Mochel" />
<person posts="7" size="22" who="Maciej Zenczykowski" />
<person posts="7" size="20" who="Christian Kujau" />
<person posts="6" size="38" who="Justin Hibbits" />
<person posts="6" size="37" who="OGAWA Hirofumi" />
<person posts="6" size="28" who="Roland McGrath" />
<person posts="6" size="26" who="Matt Mackall" />
<person posts="6" size="26" who="Helge Hafting" />
<person posts="6" size="25" who="Miles Bader" />
<person posts="6" size="24" who="Daniel McNeil" />
<person posts="6" size="24" who="Jesse Pollard" />
<person posts="6" size="23" who="Pete Zaitcev" />
<person posts="6" size="22" who="&quot;Daniel B.&quot;" />
<person posts="6" size="21" who="Matthias Urlichs" />
<person posts="6" size="20" who="Jan Schubert" />
<person posts="6" size="19" who="Xose Vazquez Perez" />
<person posts="6" size="19" who="Konstantin Kletschke" />
<person posts="6" size="19" who="Emmanuel Fleury" />
<person posts="6" size="18" who="Keir Fraser" />
<person posts="6" size="16" who="&quot;Martin Schwidefsky&quot;" />
<person posts="5" size="143" who="Gerd Knorr" />
<person posts="5" size="26" who="David Lang" />
<person posts="5" size="25" who="Eyal Lebedinsky" />
<person posts="5" size="25" who="Hugo Mills" />
<person posts="5" size="25" who="&quot;Martin J. Bligh&quot;" />
<person posts="5" size="21" who="Andre Hedrick" />
<person posts="5" size="21" who="Stephen Hemminger" />
<person posts="5" size="21" who=" (Miles Bader)" />
<person posts="5" size="20" who="Brett" />
<person posts="5" size="17" who="&quot;Kevin P. Fleming&quot;" />
<person posts="5" size="17" who="&quot;J.A. Magallon&quot;" />
<person posts="5" size="16" who=" (bill davidsen)" />
<person posts="5" size="16" who="James Morris" />
<person posts="5" size="16" who="insecure" />
<person posts="5" size="16" who="Tigran Aivazian" />
<person posts="5" size="13" who="Stan Bubrouski" />
<person posts="5" size="13" who="Roman Zippel" />
<person posts="5" size="13" who="Jens Axboe" />
<person posts="5" size="10" who="&quot;Bill J.Xu&quot;" />
<person posts="4" size="82" who="Peter =?ISO-8859-1?Q?W=E4chtler?=" />
<person posts="4" size="40" who="Otavio Salvador" />
<person posts="4" size="28" who="Vinay K Nallamothu" />
<person posts="4" size="22" who="&quot;Daniel Blueman&quot;" />
<person posts="4" size="20" who="&quot;Christian Borntraeger&quot;" />
<person posts="4" size="20" who="Ookhoi" />
<person posts="4" size="17" who="&quot;Mudama, Eric&quot;" />
<person posts="4" size="17" who="Ian Pratt" />
<person posts="4" size="17" who="Michael Dreher" />
<person posts="4" size="16" who="Larry McVoy" />
<person posts="4" size="14" who="Andries Brouwer" />
<person posts="4" size="14" who="DervishD" />
<person posts="4" size="14" who="Ingo Oeser" />
<person posts="4" size="13" who="Joe Korty" />
<person posts="4" size="13" who="David Woodhouse" />
<person posts="4" size="13" who="Chris Friesen" />
<person posts="4" size="13" who="Daniel Drake" />
<person posts="4" size="13" who="Andreas Jellinghaus" />
<person posts="4" size="12" who="(reg)" />
<person posts="4" size="12" who="Ulrich Drepper" />
<person posts="4" size="12" who="Hacksaw" />
<person posts="4" size="12" who="Karim Yaghmour" />
<person posts="4" size="12" who="Sam Ravnborg" />
<person posts="4" size="12" who="Takashi Iwai" />
<person posts="4" size="11" who="&quot;Breno&quot;" />
<person posts="4" size="11" who="Rik van Riel" />
<person posts="4" size="10" who="Catalin BOIE" />
<person posts="4" size="10" who="Pascal Schmidt" />
<person posts="4" size="9" who="=?koi8-r?Q?=22?=Alexey Dobriyan=?koi8-r?Q?=22=20?=" />
<person posts="3" size="147" who="Tom Zanussi" />
<person posts="3" size="133" who="Arnd Bergmann" />
<person posts="3" size="106" who="Aniket Malatpure" />
<person posts="3" size="63" who="Arnaldo Carvalho de Melo" />
<person posts="3" size="44" who="Martin List-Petersen" />
<person posts="3" size="36" who="Michael Still" />
<person posts="3" size="33" who="Greg Stark" />
<person posts="3" size="31" who="Matthias Andree" />
<person posts="3" size="28" who="(haiquy)" />
<person posts="3" size="27" who="&quot;A Gift Of Poetry&quot;" />
<person posts="3" size="24" who="Jim Keniston" />
<person posts="3" size="23" who="Jesper Juhl" />
<person posts="3" size="21" who="Len Brown" />
<person posts="3" size="19" who="Erik Steffl" />
<person posts="3" size="19" who="Juliusz Chroboczek" />
<person posts="3" size="17" who="&quot;H. Peter Anvin&quot;" />
<person posts="3" size="17" who="John Lange" />
<person posts="3" size="17" who="Thomas Steudten" />
<person posts="3" size="16" who="Makan Pourzandi" />
<person posts="3" size="14" who="Kelledin" />
<person posts="3" size="13" who="Suparna Bhattacharya" />
<person posts="3" size="13" who="&quot;Tian, Kevin&quot;" />
<person posts="3" size="13" who="Gabriel Paubert" />
<person posts="3" size="12" who="Willy TARREAU" />
<person posts="3" size="12" who="Steve Modica" />
<person posts="3" size="12" who="Lionel Bouton" />
<person posts="3" size="12" who="Andreas Schwarz" />
<person posts="3" size="12" who="Paul Mundt" />
<person posts="3" size="11" who="Jakub Jelinek" />
<person posts="3" size="11" who="Manfred Spraul" />
<person posts="3" size="11" who="maximilian attems" />
<person posts="3" size="11" who="Matti Aarnio" />
<person posts="3" size="11" who="Martin Aspeli" />
<person posts="3" size="11" who="Dmitry Torokhov" />
<person posts="3" size="10" who="Erik Mouw" />
<person posts="3" size="10" who="&quot;Maciej W. Rozycki&quot;" />
<person posts="3" size="10" who="Alan Cox" />
<person posts="3" size="10" who="Dave O" />
<person posts="3" size="9" who="cliff white" />
<person posts="3" size="9" who="Geert Uytterhoeven" />
<person posts="3" size="9" who="James Stevenson" />
<person posts="3" size="9" who="=?ISO-8859-1?Q?Sven_K=F6hler?=" />
<person posts="3" size="9" who="Bjorn Helgaas" />
<person posts="3" size="9" who="Trond Myklebust" />
<person posts="3" size="9" who="Hans Reiser" />
<person posts="3" size="9" who="&quot;Ihar 'Philips' Filipau&quot;" />
<person posts="3" size="9" who="Dag Nygren" />
<person posts="3" size="9" who="Chris Wright" />
<person posts="3" size="9" who="Mike Dresser" />
<person posts="3" size="8" who="Andi Kleen" />
<person posts="3" size="8" who="Stephan von Krawczynski" />
<person posts="3" size="8" who="Vishwas Raman" />
<person posts="3" size="8" who="Georg Chini" />
<person posts="3" size="8" who="Christoph Hellwig" />
<person posts="3" size="8" who="Meelis Roos" />
<person posts="3" size="8" who="Roger Luethi" />
<person posts="3" size="8" who="Vitaly Fertman" />
<person posts="3" size="7" who="(tigran)" />
<person posts="3" size="7" who="herft" />
<person posts="3" size="7" who="Stefan Smietanowski" />
<person posts="2" size="100" who="Taner Halicioglu" />
<person posts="2" size="55" who="Thomas =?iso-8859-1?Q?Kj=E6r?=" />
<person posts="2" size="42" who="&quot;William Scott Lockwood III&quot;" />
<person posts="2" size="36" who="Patrick McHardy" />
<person posts="2" size="35" who="David van Hoose" />
<person posts="2" size="33" who="Michael Hunold" />
<person posts="2" size="27" who="&quot;Michal Semler (volny.cz)&quot;" />
<person posts="2" size="27" who="&quot;Nuno Monteiro&quot;" />
<person posts="2" size="26" who="&quot;Joshua M. Thompson&quot;" />
<person posts="2" size="24" who="Luiz Capitulino" />
<person posts="2" size="22" who="David Caldwell" />
<person posts="2" size="21" who="Srivatsa Vaddagiri" />
<person posts="2" size="20" who="Peter Osterlund" />
<person posts="2" size="14" who="(kernel)" />
<person posts="2" size="13" who="&quot;Lisa R. Nelson&quot;" />
<person posts="2" size="13" who="Andriy Rysin" />
<person posts="2" size="12" who="Hanna Linder" />
<person posts="2" size="11" who="Steven Pratt" />
<person posts="2" size="10" who="Krishna Akella" />
<person posts="2" size="10" who="Georg Nikodym" />
<person posts="2" size="9" who="Mrs Serena Jones" />
<person posts="2" size="9" who="James Cleverdon" />
<person posts="2" size="9" who="Juan Carlos Castro Y Castro" />
<person posts="2" size="9" who="Devin Henderson" />
<person posts="2" size="8" who="&quot;Robert L. Harris&quot;" />
<person posts="2" size="8" who="Tomasz Rola" />
<person posts="2" size="8" who="&quot;Nikolay Nikolov&quot;" />
<person posts="2" size="8" who="Bongani Hlope" />
<person posts="2" size="8" who="Jurriaan" />
<person posts="2" size="8" who="Jan Kara" />
<person posts="2" size="8" who="&quot;Brown, Len&quot;" />
<person posts="2" size="8" who="&quot;Clayton Weaver&quot;" />
<person posts="2" size="8" who=" (Eric W. Biederman)" />
<person posts="2" size="8" who="Jan Ischebeck" />
<person posts="2" size="8" who="Tom Sightler" />
<person posts="2" size="7" who="Anders Karlsson" />
<person posts="2" size="7" who="Peter Chubb" />
<person posts="2" size="7" who="Thomas Schlichter" />
<person posts="2" size="7" who="jw schultz" />
<person posts="2" size="7" who="Douglas Gilbert" />
<person posts="2" size="7" who="Pekka Pietikainen" />
<person posts="2" size="7" who="Robert Love" />
<person posts="2" size="7" who="Herbert Poetzl" />
<person posts="2" size="7" who="Martin Josefsson" />
<person posts="2" size="7" who="Martin Diehl" />
<person posts="2" size="7" who="Andreas Dilger" />
<person posts="2" size="7" who="dean gaudet" />
<person posts="2" size="7" who="Patrick Mansfield" />
<person posts="2" size="7" who="Bradley Chapman" />
<person posts="2" size="7" who="Gabor MICSKO" />
<person posts="2" size="7" who="Zwane Mwaikambo" />
<person posts="2" size="7" who="&quot;Giacomo A. Catenazzi&quot;" />
<person posts="2" size="7" who="Kees Bakker" />
<person posts="2" size="7" who="Sylvain Pasche" />
<person posts="2" size="7" who="Samuel Flory" />
<person posts="2" size="6" who="dacin" />
<person posts="2" size="6" who="James Bourne" />
<person posts="2" size="6" who="Thomas Winkler" />
<person posts="2" size="6" who="Chris Friesen" />
<person posts="2" size="6" who="Andreas Hauser" />
<person posts="2" size="6" who="Jaroslav Kysela" />
<person posts="2" size="6" who="Willy Tarreau" />
<person posts="2" size="6" who="Stefano Carlotto" />
<person posts="2" size="6" who="Marko Rauhamaa" />
<person posts="2" size="6" who="Zan Lynx" />
<person posts="2" size="6" who="Arjan van de Ven" />
<person posts="2" size="6" who="Nuno Monteiro" />
<person posts="2" size="6" who="&quot;Mr. James W. Laferriere&quot;" />
<person posts="2" size="6" who="Paul Mackerras" />
<person posts="2" size="6" who="Petr Vandrovec" />
<person posts="2" size="6" who="Krzysztof Benedyczak" />
<person posts="2" size="6" who="Mathieu Chouquet-Stringer" />
<person posts="2" size="6" who="Andreas Schwab" />
<person posts="2" size="6" who="Brad Boyer" />
<person posts="2" size="6" who="Andre Tomt" />
<person posts="2" size="6" who="Philippe =?ISO-8859-15?Q?Gramoull=E9?=" />
<person posts="2" size="5" who="Rodolfo Boer" />
<person posts="2" size="5" who="Ben Collins" />
<person posts="2" size="5" who="Michal Kochanowicz" />
<person posts="2" size="5" who="Bernd Eckenfels" />
<person posts="2" size="5" who="john stultz" />
<person posts="2" size="5" who="Olaf Dietsche" />
<person posts="2" size="5" who="Andrew de Quincey" />
<person posts="2" size="5" who="David Woodhouse" />
<person posts="2" size="5" who="Nuno Silva" />
<person posts="2" size="5" who="Rusty Trivial Russell" />
<person posts="2" size="5" who="Shine Mohamed" />
<person posts="2" size="5" who="Torsten Werner" />
<person posts="2" size="5" who="Jean-Guillaume" />
<person posts="2" size="5" who="Ian Kent" />
<person posts="2" size="5" who="(jlnance)" />
<person posts="2" size="5" who="Juan Carlos Castro y Castro" />
<person posts="2" size="5" who="Vishwanath K C" />
<person posts="2" size="5" who="Greg Ungerer" />
<person posts="2" size="5" who="Andrew Zabolotny" />
<person posts="2" size="5" who="Tupshin Harper" />
<person posts="2" size="5" who="Brice Figureau" />
<person posts="2" size="5" who="Christian" />
<person posts="2" size="5" who="Allen Martin" />
<person posts="2" size="5" who="&quot;Andrew Marold&quot;" />
<person posts="2" size="5" who="Tomas Szepe" />
<person posts="2" size="5" who="Erik Hensema" />
<person posts="2" size="4" who="&quot;Frederick, Fabian&quot;" />
<person posts="2" size="4" who="Petr Cisar" />
<person posts="2" size="4" who="Enrico Bartky" />
<person posts="2" size="4" who="(bvds)" />
<person posts="2" size="4" who="(fxcked)" />
<person posts="1" size="77" who="long" />
<person posts="1" size="61" who="&quot;Tolentino, Matthew E&quot;" />
<person posts="1" size="54" who="Mikko Korhonen" />
<person posts="1" size="45" who="Matt Tolentino" />
<person posts="1" size="35" who="=?ISO-8859-1?Q?Magos=E1nyi_=C1rp=E1d?=" />
<person posts="1" size="33" who="PALFFY Daniel" />
<person posts="1" size="32" who="Jeremy Fitzhardinge" />
<person posts="1" size="32" who="&quot;Gabor Z. Papp&quot;" />
<person posts="1" size="32" who="Darren Williams" />
<person posts="1" size="32" who="Jeremy Higdon" />
<person posts="1" size="30" who="Falk Stern" />
<person posts="1" size="29" who="(majek)" />
<person posts="1" size="27" who="Nick Orlov" />
<person posts="1" size="26" who="Randy Broman" />
<person posts="1" size="24" who="&quot;Shawn Starr&quot;" />
<person posts="1" size="23" who="Thomas Horsten" />
<person posts="1" size="23" who="Luciano Miguel Ferreira Rocha" />
<person posts="1" size="21" who="Alex Pires de Camargo" />
<person posts="1" size="19" who="vda" />
<person posts="1" size="15" who="Jonathan Briggs" />
<person posts="1" size="15" who="Mathias Kretschmer" />
<person posts="1" size="15" who="AG" />
<person posts="1" size="14" who="&quot;Zhang Jian&quot;" />
<person posts="1" size="14" who="Manoj Srivastava" />
<person posts="1" size="14" who="Jan Dittmer" />
<person posts="1" size="14" who="Anthony Best" />
<person posts="1" size="13" who="Corey Minyard" />
<person posts="1" size="12" who="&quot;Hughes, Tim M CONT&quot;" />
<person posts="1" size="10" who="&quot;jdow&quot;" />
<person posts="1" size="10" who="(Andries.Brouwer)" />
<person posts="1" size="9" who="Antonio Vargas" />
<person posts="1" size="9" who="Jon Burgess" />
<person posts="1" size="9" who="&quot;Dave Hatton&quot;" />
<person posts="1" size="9" who="Rex Coffin" />
<person posts="1" size="9" who="Zach Welch" />
<person posts="1" size="9" who="&quot;A Gift Of Poetry&quot;" />
<person posts="1" size="8" who="Andreas Hemel" />
<person posts="1" size="8" who="Arve Knudsen" />
<person posts="1" size="7" who="Olivier Dragon" />
<person posts="1" size="7" who="Steven Timm" />
<person posts="1" size="7" who="&quot;Moore, Robert&quot;" />
<person posts="1" size="6" who="David B Harris" />
<person posts="1" size="6" who="merwan kashouty" />
<person posts="1" size="6" who="Paulo Andre" />
<person posts="1" size="6" who="&quot;John William&quot;" />
<person posts="1" size="6" who="&quot;Norman Diamond&quot;" />
<person posts="1" size="6" who="Leigh Purdie" />
<person posts="1" size="6" who="Bjoern Brauel" />
<person posts="1" size="6" who="&quot;Pallipadi, Venkatesh&quot;" />
<person posts="1" size="6" who="Steven Michalske" />
<person posts="1" size="6" who="Pauli Borodulin" />
<person posts="1" size="5" who="Pau Aliagas" />
<person posts="1" size="5" who="Nathan" />
<person posts="1" size="5" who="&quot;Prashanth A Pandit&quot;" />
<person posts="1" size="5" who="Francois Romieu" />
<person posts="1" size="5" who="Harald Arnesen" />
<person posts="1" size="5" who="&quot;P. Christeas&quot;" />
<person posts="1" size="5" who="Sinelnikov Evgeny" />
<person posts="1" size="5" who="Erik Mouw" />
<person posts="1" size="5" who="&quot;Stephen C. Tweedie&quot;" />
<person posts="1" size="5" who="Harald Welte" />
<person posts="1" size="5" who="Mrs Serena Jones" />
<person posts="1" size="5" who="&quot;Nakajima, Jun&quot;" />
<person posts="1" size="4" who="Mrs Serena Jones" />
<person posts="1" size="4" who="Delian Krustev" />
<person posts="1" size="4" who="Florian Zwoch" />
<person posts="1" size="4" who="Malte =?iso-8859-1?q?Schr=F6der?=" />
<person posts="1" size="4" who="Joerg Hoh" />
<person posts="1" size="4" who="Jeremy Higdon" />
<person posts="1" size="4" who="Thomas Winischhofer" />
<person posts="1" size="4" who="Ruth Ivimey-Cook" />
<person posts="1" size="4" who="Rhino" />
<person posts="1" size="4" who="(mike.miller)" />
<person posts="1" size="4" who="Malte =?ISO-8859-1?Q?Schr=F6der?=" />
<person posts="1" size="4" who="Kimmo Sundqvist" />
<person posts="1" size="4" who="Massimo Dal Zotto" />
<person posts="1" size="4" who="Paul Jakma" />
<person posts="1" size="4" who="CJ" />
<person posts="1" size="4" who="Roelf Schreurs" />
<person posts="1" size="4" who="Con Kolivas" />
<person posts="1" size="4" who="Robert Williamson" />
<person posts="1" size="4" who="&quot;Murray J. Root&quot;" />
<person posts="1" size="4" who="Samuel Thibault" />
<person posts="1" size="4" who="&quot;Microsoft Inet Storage Service&quot;" />
<person posts="1" size="4" who="&quot;Mail Delivery Service&quot;" />
<person posts="1" size="4" who="Justin Cormack" />
<person posts="1" size="4" who="Radu Filip" />
<person posts="1" size="4" who=" (Kai Henningsen)" />
<person posts="1" size="4" who="Kevin Kahley" />
<person posts="1" size="4" who="Mark Hounschell" />
<person posts="1" size="4" who="David Gordon" />
<person posts="1" size="4" who="&quot;Leech, Christopher&quot;" />
<person posts="1" size="4" who="Frank Horowitz" />
<person posts="1" size="4" who="Fruhwirth Clemens" />
<person posts="1" size="4" who="Christopher Swingley" />
<person posts="1" size="4" who="=?ISO-8859-1?Q?Ram=F3n?= Rey Vicente" />
<person posts="1" size="4" who="David Gibson" />
<person posts="1" size="4" who="(jhf)" />
<person posts="1" size="4" who="tabris" />
<person posts="1" size="4" who="Chris Meadors" />
<person posts="1" size="4" who="&quot;Noah J. Misch&quot;" />
<person posts="1" size="4" who="Sander" />
<person posts="1" size="3" who="Ed Sweetman" />
<person posts="1" size="3" who="(jimbleferret)" />
<person posts="1" size="3" who="Adrian Bunk" />
<person posts="1" size="3" who="Felipe W Damasio" />
<person posts="1" size="3" who="Michael Hunold" />
<person posts="1" size="3" who="Madhavi" />
<person posts="1" size="3" who="Dan Merillat" />
<person posts="1" size="3" who="(pazke)" />
<person posts="1" size="3" who="David Gibson" />
<person posts="1" size="3" who="&quot;Howard Duck&quot;" />
<person posts="1" size="3" who="Ricky Beam" />
<person posts="1" size="3" who="Clemens Schwaighofer" />
<person posts="1" size="3" who="=?iso-8859-1?Q?Juanjo_Garc=EDa_Carr=E9?=" />
<person posts="1" size="3" who="war" />
<person posts="1" size="3" who="Sean Neakums" />
<person posts="1" size="3" who="Aaron Wrasman" />
<person posts="1" size="3" who="Martin Schlemmer" />
<person posts="1" size="3" who="Ingo Oeser" />
<person posts="1" size="3" who="Axel Siebenwirth" />
<person posts="1" size="3" who="Nicolas Mailhot" />
<person posts="1" size="3" who="Catalin Muresan" />
<person posts="1" size="3" who="Dax Kelson" />
<person posts="1" size="3" who="(ealgera)" />
<person posts="1" size="3" who="Greg Louis" />
<person posts="1" size="3" who="=?ISO-8859-1?Q?S=E9rgio?= Monteiro Basto" />
<person posts="1" size="3" who="George Anzinger" />
<person posts="1" size="3" who="Chris Lingard" />
<person posts="1" size="3" who="&quot;Paul Brett&quot;" />
<person posts="1" size="3" who="=?ISO-8859-1?Q?David_H=E4rdeman?=" />
<person posts="1" size="3" who="Alex Riesen" />
<person posts="1" size="3" who="Daniel Gryniewicz" />
<person posts="1" size="3" who="Sraphim" />
<person posts="1" size="3" who="Torrey Hoffman" />
<person posts="1" size="3" who="Bas Mevissen" />
<person posts="1" size="3" who="Stephen Satchell" />
<person posts="1" size="3" who="Nico Schottelius" />
<person posts="1" size="3" who="Daniel Egger" />
<person posts="1" size="3" who="Dax Kelson" />
<person posts="1" size="3" who="(ffrederick)" />
<person posts="1" size="3" who="Elmer" />
<person posts="1" size="3" who="&quot;E. Gryaznova&quot;" />
<person posts="1" size="3" who="&quot;Grover, Andrew&quot;" />
<person posts="1" size="3" who="Philippe Lochon" />
<person posts="1" size="3" who="&quot;M. Fioretti&quot;" />
<person posts="1" size="3" who="Thomas Elsen" />
<person posts="1" size="3" who="Andy Lutomirski" />
<person posts="1" size="3" who="Mariusz Kozlowski" />
<person posts="1" size="3" who="David Ashley" />
<person posts="1" size="3" who="david nicol" />
<person posts="1" size="3" who="Larry Kessler" />
<person posts="1" size="3" who="Thomas Glanzmann" />
<person posts="1" size="3" who="(P)" />
<person posts="1" size="3" who="&quot;Mark W. Alexander&quot;" />
<person posts="1" size="3" who="Theodore Ts'o" />
<person posts="1" size="3" who="Marcelo Tosatti" />
<person posts="1" size="3" who="Philippe Troin" />
<person posts="1" size="3" who="Felipe Alfaro Solana" />
<person posts="1" size="3" who="David Brownell" />
<person posts="1" size="3" who="(elmer)" />
<person posts="1" size="3" who="Nathan Poznick" />
<person posts="1" size="3" who="Scott West" />
<person posts="1" size="3" who="Sandy Harris" />
<person posts="1" size="3" who="Daniel Jacobowitz" />
<person posts="1" size="3" who="Oleg Drokin" />
<person posts="1" size="3" who="(ookhoi)" />
<person posts="1" size="3" who="Diego Calleja =?ISO-8859-15?Q?Garc=EDa?=" />
<person posts="1" size="3" who="&quot;&quot;" />
<person posts="1" size="3" who=" (Erik Tews)" />
<person posts="1" size="3" who="Steven Cole" />
<person posts="1" size="3" who="Adam Belay" />
<person posts="1" size="3" who="Norberto Bensa" />
<person posts="1" size="3" who="(beh)" />
<person posts="1" size="3" who="Robert Collins" />
<person posts="1" size="3" who="Nigel Cunningham" />
<person posts="1" size="3" who="&quot;Catani, Antonio&quot;" />
<person posts="1" size="3" who="Peter Waechtler" />
<person posts="1" size="3" who="&quot;rosemary williams&quot;" />
<person posts="1" size="3" who="David Whysong" />
<person posts="1" size="3" who="&quot;Giacomo A. Catenazzi&quot;" />
<person posts="1" size="3" who="Bruce Allen" />
<person posts="1" size="2" who="=?us-ascii?Q?obi=20paul?=" />
<person posts="1" size="2" who="Markus Schoder" />
<person posts="1" size="2" who="Robert Millan" />
<person posts="1" size="2" who="=?iso-8859-2?B?R+Fib3IgTOlu4XJ0?=" />
<person posts="1" size="2" who="Bryan O'Sullivan" />
<person posts="1" size="2" who="Mircea Ciocan" />
<person posts="1" size="2" who="Tigran Aivazian" />
<person posts="1" size="2" who="Dave McCracken" />
<person posts="1" size="2" who="&quot;Punj, Arun&quot;" />
<person posts="1" size="2" who="Daniel Luebke" />
<person posts="1" size="2" who="Guillaume Chazarain" />
<person posts="1" size="2" who=" (Arthur Othieno)" />
<person posts="1" size="2" who="Lars Marowsky-Bree" />
<person posts="1" size="2" who="Kai Germaschewski" />
<person posts="1" size="2" who="Piotr Michniewski" />
<person posts="1" size="2" who="Eugene Teo" />
<person posts="1" size="2" who="Denis Zaitsev" />
<person posts="1" size="2" who="Clemens Schwaighofer" />
<person posts="1" size="2" who="(juan.carlos)" />
<person posts="1" size="2" who="Dave Dillow" />
<person posts="1" size="2" who="=?iso-8859-1?q?Michael=20Zouridakis?=" />
<person posts="1" size="2" who="Krzysztof Halasa" />
<person posts="1" size="2" who="Marc Britten" />
<person posts="1" size="2" who="&quot;Javier Govea&quot;" />
<person posts="1" size="2" who="&quot;Leonard Milcin Jr.&quot;" />
<person posts="1" size="2" who="Josh Litherland" />
<person posts="1" size="2" who="Pedro Larroy" />
<person posts="1" size="2" who="=?ISO-8859-15?Q?Sven_K=F6hler?=" />
<person posts="1" size="2" who="&quot;Oliver M. Bolzer&quot;" />
<person posts="1" size="2" who="Yaroslav Halchenko" />
<person posts="1" size="2" who="Bdale Garbee" />
<person posts="1" size="2" who="Fruhwirth Clemens" />
<person posts="1" size="2" who="Yaroslav Halchenko" />
<person posts="1" size="2" who="&quot;Max A. Krasilnikov&quot;" />
<person posts="1" size="2" who="Jan Kara" />
<person posts="1" size="2" who="Edgar Toernig" />
<person posts="1" size="2" who="(jlhagen)" />
<person posts="1" size="2" who="Miek Gieben" />
<person posts="1" size="2" who="&quot;Jonathan A. George&quot;" />
<person posts="1" size="2" who="Tushar Telichari" />
<person posts="1" size="2" who="ph75" />
<person posts="1" size="2" who="Jonathan Brown" />
<person posts="1" size="2" who="Neale Banks" />
<person posts="1" size="2" who="Markus Schoder" />
<person posts="1" size="2" who="Bruce Harada" />
<person posts="1" size="2" who="(rwhron)" />
<person posts="1" size="2" who="Ivan Kokshaysky" />
<person posts="1" size="2" who="Tom Rini" />
<person posts="1" size="2" who="Herbert Xu" />
<person posts="1" size="2" who="Guennadi Liakhovetski" />
<person posts="1" size="2" who="&quot;Jai&quot;" />
<person posts="1" size="2" who="=?iso-8859-1?q?Chris=20Davies?=" />
<person posts="1" size="2" who="Mika Kukkonen" />
<person posts="1" size="2" who="&quot;Robert P. J. Day&quot;" />
<person posts="1" size="2" who="Jurgen Kramer" />
<person posts="1" size="2" who="Rogier Wolff" />
<person posts="1" size="2" who="Vincent Hanquez" />
<person posts="1" size="2" who="&quot;Tom Handal&quot;" />
<person posts="1" size="2" who="Karol Kozimor" />
<person posts="1" size="2" who="Zinx Verituse" />
<person posts="1" size="2" who="Doug McNaught" />
<person posts="1" size="2" who="Mitchell Blank Jr" />
<person posts="1" size="2" who="bert hubert" />
<person posts="1" size="2" who="Thomas Molina" />
<person posts="1" size="2" who="linuxcompilerdd" />
<person posts="1" size="2" who="Pontus Fuchs" />
<person posts="1" size="2" who="Mike Benoit" />
<person posts="1" size="2" who="Petri Koistinen" />
<person posts="1" size="2" who="(kuznet)" />
<person posts="1" size="2" who="Jurjen Oskam" />
<person posts="1" size="2" who="Steve Smith" />
<person posts="1" size="2" who="George France" />
<person posts="1" size="2" who="&quot;Paul Rolland&quot;" />
<person posts="1" size="2" who="=?iso-8859-1?b?RnLpZOlyaWM=?= St-Martin" />
<person posts="1" size="2" who="&quot;Josh Berry&quot;" />
<person posts="1" size="2" who="&quot;Patrick Themessl-Huber&quot;" />
<person posts="1" size="2" who="Joe Perches" />
<person posts="1" size="2" who="Bernd Schubert" />
<person posts="1" size="2" who="=?us-ascii?Q?Frank_Buttner?=" />
<person posts="1" size="2" who="(acme)" />
<person posts="1" size="2" who="(vda)" />
<person posts="1" size="2" who="&quot;Fredric Hess&quot;" />
<person posts="1" size="2" who="Boszormenyi Zoltan" />
<person posts="1" size="2" who="Harold Martin" />
<person posts="1" size="2" who="Niels Provos" />
<person posts="1" size="2" who="Keith Duthie" />
<person posts="1" size="2" who="Jan Killius" />
<person posts="1" size="2" who="&quot;Snelgrove, Steve&quot;" />
<person posts="1" size="2" who="Pete Clements" />
<person posts="1" size="2" who="Jorge Mauricio Hernandez Torres" />
<person posts="1" size="1" who="=?iso-8859-1?q?john=20wu?=" />

</stats>

<section
  title="Patch To Support Many Groups"
  archive="[PATCH] Many groups patch."
  subject=""
  posts="22"
  startdate="28 Sep 2003 23:19:50 -0800"
  enddate="02 Oct 2003 01:10:37 -0800"
>
<topic>Clustering: Beowulf</topic>
<topic>FS: InterMezzo</topic>
<topic>FS: smbfs</topic>
<topic>Ioctls</topic>
<topic>Samba</topic>

<p>Rusty Russell posted a patch by himself with help from Tim Hockin, to raise
the number of possible groups to greater than 200. Apparently SAMBA customers
had a particular desire for that. He explained, <quote who="Rusty Russell">This
version drops the internal groups array (it's so often shared that it's not
worth it, and the logic becomes a bit neater), and does vmalloc fallback in
case someone has massive number of groups.</quote> Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>Why?</p>

<p>kmalloc() works fine. Anybody who needs 200 groups may be sane, but anybody
who needs more than fits in a kmalloc() is definitely so far out that there
is no point.</p>

<p>The vmalloc space is limited, and the code just gets uglier.</p>

<p>Have you been looking at glibc sources lately, or why do you believe that
we should encourage insane usage?</p>

</quote>

<p>Pete Zaitcev from Red Hat said that his company did <quote who="Pete
Zaitcev">have some customers who run insane number of groups, with their own
patches. This practice is popular in the Beowulf crowd for some reason. I
should note this is not very mainstream.</quote> Tim Hockin said his company
also had customers who wanted more groups than kmalloc could handle. He
posted his own patch, saying, <quote who="Tim Hockin">My version uses a struct
group_info which has an array of pages.  The groups are sorted and bsearched,
instead of linear.  The perfomance is quite good.  An older version against
2.6.0-test1 or something is attached.  If this method will fly, I'll take
some of Rusty's good ideas and finish this version of it..</quote> Linus felt
this one was saner than Rusty's, though he still disapproved of supporting
thousands of groups. Tim did some more work and submitted a new patch against
2.6.0-test6, with a changelog entry:</p>

<quote who="Tim Hockin">

<p>Summary: Get rid of the NGROUPS hard limit.</p>

<p>This patch removes all fixed-size arrays which depend on NGROUPS, and
replaces them with struct group_info, which is refcounted, and holds an
array of pages in which to store groups.  groups_alloc() and groups_free()
are used to allocate and free struct group_info, and set_group_info is used
to actually put a group_info into a task.  Groups are sorted and b-searched
for efficiency.  Because groups are stored in a 2-D array, the GRP_AT()
macro was added to allow simple 1-D style indexing.</p>

<p>This patch touches all the compat code in the 64-bit architectures.
These files have a LOT of duplicated code from uid16.c.  I did not try to
reduce duplicated code, and instead followed suit.  A proper cleanup of
those architectures code-bases would be fun.  Any sysconf() which used to
return NGROUPS now returns INT_MAX - there is no hard limit.</p>

<p>This patch also touches nfsd by imposing a limit on the number of groups
in an svc_cred struct.</p>

<p>This patch modifies /proc/pid/status to only display the first 32
groups.</p>

<p>This patch removes the NGROUPS define from all architectures as well
as NGROUPS_MAX.</p>

<p>This patch changes the security API to check a struct group_info, rather
than an array of gid_t.</p>

<p>This patch totally horks Intermezzo.</p>

</quote>

<p>Linus said he was sorry to keep complaining, but that following the
code-duplication practice in the compat code just made the patch uglier than it
had been before. He suggested extracting the duplicated code into a new
kernel/gid16.c file, and adding a CONFIG_GID16 boolean config variable. Tim
posted a patch, but then said a bit later:</p>

<quote who="Tim Hockin">

<p>So I dug deeper into the problem, and I think it can be solved relatively
painlessly.</p>

<p>First a few observations, based on grep:</p>

<p>

<ul>

<li>uid16_t is only used once: fs/smbfs/ioctl.c</li>
<li>gid16_t is never used</li>
<li>every arch defines uid16_t/gid16_t to unsigned short</li>
<li>some arches define old_uid_t/old_gid_t the same as uid_t/gid_t, some
don't</li>
<li>ncpfs and smbfs use __kernel_old_uid_t</li>
<li>old_uid_t and old_gid_t are only used in highuid.h and uid16.c</li>
<li>every arch that defines UID16 defines old_uid_t and old_gid_t to ushort,
  except x86_64 (which I *think* is a bug)</li>

</ul>

</p>

<p>So what I'm thinking is this:</p>

<p>

<ol>

<li>convert uid16.c to use uid16_t and gid16_t, and NOT use highuid.h</li>
<li>build uid16.o iff CONFIG_UID16_SYSCALLS</li>
<li>anywhere that defines CONFIG_UID16 adds CONFIG_UID16_SYSCALLS</li>
<li>any 64-bit arch that wants uid16 stuff adds CONFIG_UID16_SYSCALLS</li>

</ol>

</p>

<p>Now, the 16-bit forms of the syscalls are available to all the interested
parties.  Then we go through the arch stuff and remove all the duplicated
uid16 stuff, where ever possible.</p>

<p>This will leave highuid.h unmolested, so all dependants of that will still
work.</p>

<p>Here's the really simple patch, without removing any arch code, yet.  What's
the preferred way in Kconfig to identify the proper arrangement of this
idea?</p>

</quote>

<p>But there was no reply.</p>

</section>

<section
  title="Separating Kernel Headers From User-Space Headers (The Saga Continues)"
  subject="[PATCH] linuxabi"
  posts="16"
  startdate="30 Sep 2003 16:01:23 -0800"
  enddate="03 Oct 2003 22:31:15 -0800"
>
<topic>BSD</topic>

<mention>Bernd Eckenfels</mention>
<mention>Matthew Wilcox</mention>
<mention>J.A. Magallon</mention>
<mention>Eric W. Biederman</mention>

<p>Continuing from (or in ignorance of) <kcref subject="kernel header
separation" startdate="02 Sep 2003 11:16:14 -0800"/>, Andries Brouwer said:</p>

<quote who="Andries Brouwer">

<p>Something we have talked about for a long time is
separating out from the kernel headers the parts
fit for inclusion in user space.</p>

<p>This is a very large project, and it will take a long
time, especially if we want the user space headers to
be a pleasure to look at, instead of just a cut-n-paste
copy of whatever we find in the current headers.</p>

<p>Some start is required, and the very first step is
making sure that you agree with the project.
Immediately following is the choice of directory names.</p>

<p>Below</p>

<p>

<ol>

<li>a small textfile "linuxabi" describing the naming
(subdirectories linuxabi and linuxabi-alpha etc of include),</li>
<li>the file linuxabi/mountflags.h with definitions for
MS_RDONLY and family,</li>
<li>the file linux/mountflags.h that includes
linuxabi/mountflags.h and moreover defines things like
MS_RMT_MASK and IS_NOATIME(inode), and</li>
<li>the patch on fs.h that removes these defines and
adds an include line.</li>

</ol>

</p>

</quote>

<p>And the text of his linuxabi file:</p>

<blockquote>

<p>The subdirectories  linuxabi  and  linuxabi-$ARCH (linuxabi-alpha,
linuxabi-arm, ...) of linux/include are meant for headers that are to be
used both by the kernel and in user space. The symbolic link  linuxabi-arch
points at  linuxabi-$ARCH  for the current architecture.</p>

<p>Be careful not to pollute namespace.</p>

<p>Typical material for such headers are manifest constants and structures
used by the kernel-userspace interface.</p>

<p>Make sure no symbolic types like dev_t, pid_t, ino_t and the like are used,
but only explicit types like char and int, or even more explicit types like
uint8_t and int64_t.</p>

<p>These headers are "append-only", in the sense that Linux tries to keep
supporting old interfaces.</p>

</blockquote>

<p>Bernd Eckenfels took issue with this last statement, saying that Linux did
not necessarily insist on keeping old interfaces, nor would it insist on that in
the future. Aside from that, he liked Andries' work. Elsewhere, J.A. Magallon
suggested calling the file 'abi' instead of 'linuxabi', so other systems like
the BSDs could follow the same convention.</p>

<p>Elsewhere, Eric W. Biederman said this whole thing was a 2.7 project,
but Andries disagreed, saying the restructuring was entirely unrelated to
kernel development, but Eric said that it would need a full development
cycle to get the feature right.</p>

<p>No one mentioned the work done earlier by Matthew Wilcox.</p>

</section>

<section
  title="Value Of DigSig Questioned By Developers"
  subject="Re: [ANNOUNCE] DigSig 0.2: kernel module for digital signature verification for binaries"
  posts="15"
  startdate="01 Oct 2003 02:26:31 -0800"
  enddate="01 Oct 2003 16:17:57 -0800"
>

<mention>Willy Tarreau</mention>

<p>Continuing from <kcref subject="[ANNOUNCE] DigSig 0.2: kernel module for
digital signature verification for binaries" startdate="25 Sep 2003 11:19:47 -0800"/>, Pavel Machek asked for an explanation of why someone would want to
use DigSig, since <quote who="Pavel Machek">if I want to exec something, I can
avoid exec() syscall and do mmaps by hand...</quote> Makan Pourzandi
replied:</p>

<quote who="Makan Pourzandi">

<p>There are different answers to this question because there are many
possible attack scenarios. I try to take the most realistic one and give a
short answer.</p>

<p>For the attacke described by you to be successful, one assumes that the
intruder  gained access to the system,  he wrote his own code on the system
(or brought it in),  and compile  it on the system (cannot execute its own
code as it is not signed), produced the binary to mmap the malicious code
to the memory, and run the code that call syscall mmap.</p>

<p>First digsig can help to avoid the access to the system by the intruder.
as it aborts the execution of malicious code which often leads to a root
access for the intruder.</p>

<p>Second, digsig can avoid the execution of the binary that allows to bring
in the code or other malicious binaries. AFAIK, the intruders generally use
their own binary to download malicious code. This is because in hardened
systems, the use of ftp ot other alike binaries, (when these binaries are not
completely removed from the system for security reasons) is closely monitored
and controled through firewalling rules. Even in simple desktops, it is rather
easy to control the use of ftp and alike to track down the intrusion source.
therefore, the intruder needs to run  his own binary to download the root
kit which is avoided by the use of digsig.</p>

<p>Third, the intruder now has access to the system, he cannot execute
the code he brought in with himself (not signed) or he cannot bring it in
(c.f. above). So he needs to compile the code on the system. AFAIK, for the
absolute majority of servers the admins remove all compilers (specially gcc)
on all servers. this is for several different security reasons  (I don't
want to get there). therefore, the above hypothesis gets even more difficult
to realize.</p>

<p>Last, but I believe the most important, the level of difficulty of execution
of such an attack is much higher than the average knowledge level of many
script kiddies. The absolute majority of attackers have little or absolutely
not any knowledge of the operating systems in general and linux in particular,
let aside the knowledge of writing a C program, calling mmaps in that progam
and run the malicious code to gain access as root, then remove the module
to execute a classical attack.</p>

<p>There is no such thing as 100% secure system, digsig increases the level
of security of the system as it just makes it much more difficult for the
intruder to succeed in his/her attack.</p>

</quote>

<p>A few posts down the line, Alexander Viro pointed out that DigSig might
have a temporary impact on 'script kiddies', but that <quote who="Alexander
Viro">in a month rootkits get updated and we are back to square 1, with
additional mess from patch...</quote> Willy Tarreau and Pavel agreed with
this. Close by, Valdis Kletnieks added, <quote who="Valdis Kletnieks">the
only thing the patch does is raise the bar on a purely temporary basis,
and that it provides little long-term benefit as soon as the rootkits start
working around it.  As has been pointed out, DigSig only secures one tiny
part of the way that executable code gets into memory.</quote></p>

</section>

<section
  title="Linux 2.4.23-pre6 Released"
  subject="Linux 2.4.23-pre6"
  posts="9"
  startdate="01 Oct 2003 09:44:18 -0800"
  enddate="09 Oct 2003 14:21:55 -0800"
>
<topic>Power Management: ACPI</topic>
<topic>USB</topic>

<p>Marcelo Tosatti put out 2.4.23-pre6, saying, <quote who="Marcelo Tosatti">It
contains several ACPI fixes (the USB "not working anymore" problems in
-pre5 should be gone), support for the SCTP protocol, x86-64/PPC/SH merges,
network drivers update (EMAC, e1000, sk98lin), megaraid update, amongst
others.</quote></p>

</section>

<section
  title="Kernel Port-Availability Security Suggestion"
  subject="A new model for ports and kernel security?"
  posts="8"
  startdate="01 Oct 2003 11:06:23 -0800"
  enddate="06 Oct 2003 00:06:20 -0800"
>
<topic>Backward Compatibility</topic>
<topic>FS: accessfs</topic>
<topic>Spam</topic>

<mention>Valdis Kletnieks</mention>

<p>John Lange proposed:</p>

<quote who="John Lange">

<p>why do we have this requirement that only root processes can connect to
low ports (under 1024) ?</p>

<p>My understanding is that this is a hold-over from ancient days gone past
where it was meant to be a security feature. Since only root processes can
listen on ports less than 1024, you could "trust" any connection made to
a low port to be "secure". In other words, nobody could be "bluffing" on a
telnet port that didn't have root access therefore it was "safe" to type in
your password.</p>

<p>I don't know if the above is the real reason or not but if it is, clearly
it has outlived its usefulness as a "security" feature.</p>

<p>Regardless, does not the requirement that only root can bind to low ports
now create more of a security problem than it ever solved?</p>

<p>Are not processes forced to run as root (at least at startup) that have
security holes in them not the leading cause of "remote root exploits"?</p>

<p>So if the root-low-port requirement isn't serving any purpose and is
indeed the cause of security problems is it not time to do away with it?</p>

<p>Furthermore, while only root can bind to low-ports, ANY user can bind to
high ports. This also causes a ton of security concerns as well!</p>

<p>So I would like to propose the following improvement to kernel security
and I invite your comments.</p>

<p>Suggestion: A groups based port binding security system for both outgoing
and incoming port binding.</p>

<p>For example, the group "root" is allowed to listen to ports "*" (all)
and allowed outgoing connections to "*" (all) as well.</p>

<p>The group "www" would be allowed to bind to ports "80, 443" (http, https)
and not allowed ANY outgoing connections.</p>

<p>The group "mail" (or postfix, or whatever) would be allowed to listen to
port "25" (smtp) and connect to "25".</p>

<p>The group "users" would not be allowed to listen at all but might be
allowed to connect to 20-21, 80, 443.</p>

<p>etc.</p>

<p>This accomplishes two major things:</p>

<p>

<ul>

<li>no process ever needs to run as root.</li>

<li>no unauthorized process can ever listen on a port or make connections.
On servers that allow remote users this prevents things like bots, spam
relays, ftp drops and all sorts of mischief.</li>

</ul>

</p>

<p>I envision a simplistic "/etc/ports" with the format,
"&lt;groupid&gt;,&lt;incoming ports&gt;,&lt;outgoing ports&gt;"</p>

<p>I realize similar things can be accomplished in other ways (with iptables
I believe) but it just seems to me that this should be a fundamental part
of the systems security and therefore should be in the kernel by default
(just as the root binding to low ports is currently).</p>

</quote>

<p>Valdis Kletnieks said he thought John's proposal was already written, as
the <a href="http://www.grsecurity.org">grsecurity patch</a>. Elsewhere,
James Morris also said a similar feature was implemented in <a
href="http://www.olafdietsche.de/linux/accessfs/">AccessFS</a>. But James
added, <quote who="James Morris">We should keep the standard behavior as
default in the core kernel.  Other security models can be implemented via
LSM, Netfilter, config options etc.</quote> John took it as a good sign that
other folks had implemented various versions of his idea; he said to James:</p>

<quote who="John Lange">

<p>I believe there are several compelling reasons why the standard behaviour
should be changed.</p>

<p>

<ul>

<li>patches are not a real solution. As a sysadmin I can't afford the extra
headache of applying patches after the fact every time I need to upgrade the
kernel. Also, if there is an urgent patch to the kernel then I would have
to wait for the external patch to be updated before I could do a kernel
compile. So generally external patches are problematic for your standard
sysadmin.</li>

<li>If the functionality is not built into the standard behaviour then no
one will code for it.</li>

<li>If it is generally agreed that the current behaviour is outdated and
creates problems with security then we have to ask "Is there any compelling
reason to keep it?" Would linux with the patch not be a better, more secure
Linux?</li>

</ul>

</p>

<p>Backward compatibility would not be a problem because most programs just
try and grab the port and error if they can't get it. They would work fine
under the /etc/ports idea.</p>

<p>Any other programs that might have problems (for example any which check
to see if they are root before starting) can still be started as root.
Again, no problem.</p>

</quote>

<p>Jesse Pollard said that application porting compatibility <i>would</i>
be an issue:</p>

<quote who="Jesse Pollard">

<p>Right now all that is necessary is to recompile the application. With
the patch, you also have to figure out how to apply appropriate ports to the
application, and you don't know ahead of time how many ports to allocate. Grid
applications tend to have one port for each node they communicate with. If two
users generate a 5 way connection you have to give two sets of groups... If
the user then wants a 10 way you have to reallcate again.</p>

<p>This is insufficent flexibility. What you want is to tie each port to
a capability (or tie port allocation to a capability) and then grant the
user the capability to allocate ports. This really calls for a LSM based
module that can pass the request to a security daemon to permit/deny port
allocation based on external rules.</p>

<p>This would be more flexable, maintainable, and is less intrusive of the
kernel core.</p>

</quote>

</section>

<section
  title="Big Updates To HFS+ And HFS"
  subject="[ANNOUNCE] new HFS(+) driver"
  posts="15"
  startdate="02 Oct 2003 00:37:32 -0800"
  enddate="06 Oct 2003 11:47:49 -0800"
>

<p>Roman Zippel announced:</p>

<quote who="Roman Zippel">

<p>This is a rather big update to the HFS+ driver. It includes now also an
updated HFS driver. Both drivers use now almost the same btree code and the
general structure is very similiar, so one day it will be possible to merge
both drivers. The HFS driver got a major cleanup and a lot of broken options
were removed, most notably if you want to continue using netatalk with this
driver, you have to fix netatalk first.</p>

<p>The HFS+ driver has a number of improvements and fixes:</p>

<p>

<ul>

<li>blocks are now preallocated.</li>
<li>allocation file is now in the page cache too</li>
<li>better extent caching</li>
<li>btrees are now able to grow arbitrarily</li>
<li>allocation block size can now be larger than a page</li>
<li>actual fs block size is adjusted to avoid alignment problems</li>
<li>cdrom session/partition support (note that this is a crutch and has
problems)</li>

</ul>

</p>

<p>This is basically the version I'd liked to get merged into 2.6 (minus
lots of ifdefs and some debug prints). You can find the driver at <a
href="http://www.ardistech.com/hfsplus/">http://www.ardistech.com/hfsplus/</a></p>

</quote>

</section>

<section
  title="New Xen Virtual Machine Monitor For x86"
  subject="[ANNOUNCE] Xen high-performance x86 virtualization"
  posts="24"
  startdate="02 Oct 2003 01:17:18 -0800"
  enddate="03 Oct 2003 05:14:08 -0800"
>
<topic>BSD: FreeBSD</topic>
<topic>Microsoft</topic>
<topic>User-Mode Linux</topic>

<mention>Theodore Ts'o</mention>
<mention>John Bradford</mention>
<mention>Lars Marowsky-Bree</mention>

<p>Ian Pratt announced:</p>

<quote who="Ian Pratt">

<p>We are pleased to announce the first stable release of the Xen virtual
machine monitor for x86, and port of Linux 2.4.22 as a guest OS.</p>

<p>Xen lets you run multiple operating system images at the same time on
the same PC hardware, with unprecedented levels of performance and resource
isolation. Even under the most demanding workloads the performance overhead
is just a few percent: considerably less than alternatives such as VMware
Workstation and User Mode Linux. This makes Xen ideal for use in providing
secure virtual hosting, or even just for running multiple OSes on a desktop
machine.</p>

<p>Xen requires guest operating systems to be ported to run over it. Crucially,
only the kernel needs to be ported, and all user-level application binaries and
libraries can run unmodified. We have a fully functional port of Linux 2.4.22
running over Xen, and regularly use it for running demanding applications like
Apache, PostgreSQL and Mozilla. Any Linux distribution should run unmodified
over the ported kernel. With assistance from Microsoft Research, we have a
port of Windows XP to Xen nearly complete, and are planning a FreeBSD 4.8
port in the near future.</p>

<p>Xen is brought to you by the University of Cambridge Computer Laboratory
Systems Research Group.  Visit the project homepage to find out more, and
download the project source code or the XenDemoCD, a bootable `live iso'
image that enables you to play with Xen/Linux 2.4 without needing to install
it on your hard drive. The CD also contains full source code, build tools,
and benchmarks. Our SOSP paper gives an overview of the design of Xen,
and evaluates the performance against other virtualization techniques.</p>

<p>Work on Xen is supported by UK EPSRC grant GR/S01894, Intel Research
Cambridge, and Microsoft Research Cambridge via an Embedded XP IFP award.</p>

<p>Home page : <a href="http://www.cl.cam.ac.uk/netos/xen">http://www.cl.cam.ac.uk/netos/xen</a><br />
SOSP paper : <a href="http://www.cl.cam.ac.uk/netos/papers/2003-xensosp.pdf">http://www.cl.cam.ac.uk/netos/papers/2003-xensosp.pdf</a></p>

</quote>

<p>Lars Marowsky-Bree was very happy to see this, and Karim Yaghmour asked
if there were any plans to port Xen to other architectures. Keir Fraser
replied, <quote who="Keir Fraser">Our aim was to implement an efficient VMM
for commodity hardware, and that really means x86. We're considering a port
to x86-64, but so far we're limited in man power (this is why *BSD is not
yet available, for example).</quote> Close by, John Bradford asked if Xen
could run within itself, recursively; and Keir replied, <quote who="Keir
Fraser">No --- Xen runs on x86 but exports a different 'x86-xeno' virtual
architecture that OSes must be ported to (basically, privileged ops must
go through Xen for validation).  x86 != x86-xeno, so Xen will not run on
Xen.</quote> Theodore Ts'o asked how hard it would be to port Xen to x86-xeno
in that case, and Keir replied:</p>

<quote who="Keir Fraser">

<p>To allow efficient switching in and out of Xen we take a small amount of
every virtual address space, and also grab ring 0. Since we don't hide that
from overlying OSes, we couldn't do a full recursive implementation of Xen --
we'd run out of rings (quickly) and address space (eventually) :-)</p>

<p>Full recursion needs full virtualization. Our approach offers much better
performance in the situations where full virtualization isn't required --
i.e., where it's feasible to distribute a ported OS.</p>

</quote>

<p>Karim Yaghmour said:</p>

<quote who="Karim Yaghmour">

I noticed that the SOSP Xen paper
briefly mentions Jacques Gelinas' work on VServers (<a
href="http://www.solucorp.qc.ca/miscprj/s_context.hc">http://www.solucorp.qc.ca/miscprj/s_context.hc</a>).
While Jacques' work hasn't attracted as much public attention as other Linux
virtualization efforts, I've personally found the approach and concepts
quite fascinating. Among other things, most of the code implementing the
contexts is architecture-independent (save for a few syscalls added to
arch/*/kernel/entry.S). So, thinking aloud here, I'm wondering in what
circumstances I'd prefer using something as architecture specific as Xen
over something as architecture independent as Jacques' VServers?  (Granted
VServers can't run Windows, but I'm asking this from the angle of people
looking for resource isolation in the Linux context.) Among other things,
VServers are already in use by many ISPs to provide simultaneous hosting of
many "virtual machines" on the same box while maintaining strict separation
between machines and still providing a secure environment.

<p>For those who aren't familiar
with Jacques' stuff, have a look at this document here: <a
href="http://www.solucorp.qc.ca/miscprj/s_context.hc?prjstate=1&amp;nodoc=0">http://www.solucorp.qc.ca/miscprj/s_context.hc?prjstate=1&amp;nodoc=0</a>.
The actual concepts implemented in VServers are here: <a
href="http://www.solucorp.qc.ca/miscprj/s_context.hc?s1=2&amp;s2=0&amp;s3=0&amp;s4=0&amp;full=0&amp;prjstate=1&amp;nodoc=0"></a>http://www.solucorp.qc.ca/miscprj/s_context.hc?s1=2&amp;s2=0&amp;s3=0&amp;s4=0&amp;full=0&amp;prjstate=1&amp;nodoc=0</p>

</quote>

<p>Keir replied, <quote who="Keir Fraser">One of the main differences is
that we provide resource isolation, so that each virtual machine only gets
the resources that its sponsor paid for. This allows companies providing
virtual servers to provide differentiated service according to the amount
paid.</quote></p>

</section>

</kc>

