<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="265" date="30 Jun 2004 00:00:00 -0800" />

<stats posts="2035" size="10603" contrib="497" multiples="245" lastweek="248">

<person posts="70" size="469" who="Vojtech Pavlik" />
<person posts="64" size="320" who="Andrew Morton" />
<person posts="63" size="361" who="Paul Jackson" />
<person posts="52" size="244" who="William Lee Irwin III" />
<person posts="45" size="160" who="Greg KH" />
<person posts="40" size="178" who="Linus Torvalds" />
<person posts="39" size="242" who="=?iso-8859-1?Q?J=F6rn?= Engel" />
<person posts="36" size="199" who="Con Kolivas" />
<person posts="34" size="202" who="Jeff Garzik" />
<person posts="33" size="180" who="Sau Dan Lee" />
<person posts="31" size="99" who="(viro)" />
<person posts="29" size="170" who="Dmitry Torokhov" />
<person posts="28" size="104" who="Nick Piggin" />
<person posts="26" size="163" who="Ingo Molnar" />
<person posts="24" size="80" who="Pavel Machek" />
<person posts="23" size="105" who="Jens Axboe" />
<person posts="22" size="120" who="Arjan van de Ven" />
<person posts="22" size="101" who="Rusty Russell" />
<person posts="21" size="93" who="(Valdis.Kletnieks)" />
<person posts="21" size="82" who="&quot;David S. Miller&quot;" />
<person posts="20" size="74" who="John Bradford" />
<person posts="20" size="73" who="Mikael Pettersson" />
<person posts="19" size="64" who="Pavel Machek" />
<person posts="18" size="78" who="&quot;Buddy Lumpkin&quot;" />
<person posts="18" size="78" who="Denis Vlasenko" />
<person posts="18" size="73" who="Bartlomiej Zolnierkiewicz" />
<person posts="18" size="68" who="Andi Kleen" />
<person posts="17" size="68" who="Christoph Hellwig" />
<person posts="16" size="100" who="Paul Mackerras" />
<person posts="16" size="60" who="Phy Prabab" />
<person posts="15" size="70" who="Bill Davidsen" />
<person posts="15" size="55" who="Yury Umanets" />
<person posts="14" size="102" who="Maneesh Soni" />
<person posts="14" size="45" who="Trond Myklebust" />
<person posts="13" size="64" who="Jesper Juhl" />
<person posts="13" size="41" who="Andi Kleen" />
<person posts="12" size="43" who="Benjamin Herrenschmidt" />
<person posts="11" size="69" who="Takashi Iwai" />
<person posts="11" size="58" who="&quot;Patrick J. LoPresti&quot;" />
<person posts="11" size="49" who="Sebastian Kloska" />
<person posts="11" size="43" who="Russell King" />
<person posts="10" size="90" who="Andy Lutomirski" />
<person posts="10" size="37" who="Dipankar Sarma" />
<person posts="9" size="97" who="Adrian Bunk" />
<person posts="9" size="42" who="FabF" />
<person posts="9" size="38" who="Markus Lidel" />
<person posts="9" size="32" who="Manfred Spraul" />
<person posts="9" size="31" who="Andrea Arcangeli" />
<person posts="9" size="30" who="Dave Jones" />
<person posts="9" size="29" who="Rik van Riel" />
<person posts="8" size="142" who="Pekka J Enberg" />
<person posts="8" size="109" who="Takao Indoh" />
<person posts="8" size="68" who="Matthias Andree" />
<person posts="8" size="46" who="Peter Williams" />
<person posts="8" size="43" who="&quot;Zephaniah E. Hull&quot;" />
<person posts="8" size="35" who="Herbert Xu" />
<person posts="8" size="32" who="&quot;Richard B. Johnson&quot;" />
<person posts="8" size="28" who="Anton Blanchard" />
<person posts="7" size="30" who="Andries Brouwer" />
<person posts="7" size="29" who="&quot;Zhu, Yi&quot;" />
<person posts="7" size="28" who="Joe Korty" />
<person posts="7" size="27" who="Helge Hafting" />
<person posts="7" size="25" who="Roger Luethi" />
<person posts="6" size="52" who="Alexander Gran" />
<person posts="6" size="30" who="Nigel Kukard" />
<person posts="6" size="29" who="Kevin Corry" />
<person posts="6" size="28" who="Zoltan Menyhart" />
<person posts="6" size="25" who="Giuseppe Bilotta" />
<person posts="6" size="23" who="Chris Mason" />
<person posts="6" size="21" who="Horst von Brand" />
<person posts="6" size="18" who="Zwane Mwaikambo" />
<person posts="5" size="31" who="Sid Boyce" />
<person posts="5" size="29" who="Rick Jansen" />
<person posts="5" size="26" who="Andrew Zabolotny" />
<person posts="5" size="25" who="Felipe Alfaro Solana" />
<person posts="5" size="25" who="john stultz" />
<person posts="5" size="24" who="Alan Cox" />
<person posts="5" size="23" who="&quot;Robert T. Johnson&quot;" />
<person posts="5" size="23" who="Dominik Brodowski" />
<person posts="5" size="21" who="nardelli" />
<person posts="5" size="20" who="=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=" />
<person posts="5" size="20" who="Nathan Scott" />
<person posts="5" size="20" who="Sam Ravnborg" />
<person posts="5" size="20" who="&quot;Jeff V. Merkey&quot;" />
<person posts="5" size="19" who="David Woodhouse" />
<person posts="5" size="18" who="Andreas Schwab" />
<person posts="5" size="18" who="&quot;Randy.Dunlap&quot;" />
<person posts="5" size="17" who="Duncan Sands" />
<person posts="5" size="17" who="Matt Mackall" />
<person posts="5" size="16" who="Bruce Allen" />
<person posts="5" size="16" who="Oliver Neukum" />
<person posts="5" size="15" who="Sebastian" />
<person posts="5" size="14" who="Chris Wedgwood" />
<person posts="4" size="73" who="Eric BEGOT" />
<person posts="4" size="41" who="(mikem)" />
<person posts="4" size="31" who="&quot;Prakash K. Cheemplavam&quot;" />
<person posts="4" size="28" who="Benoit Dejean" />
<person posts="4" size="22" who="Francois Romieu" />
<person posts="4" size="21" who="Jouni Malinen" />
<person posts="4" size="21" who="Hanna Linder" />
<person posts="4" size="20" who="Olaf Hering" />
<person posts="4" size="19" who="Matt Domsch" />
<person posts="4" size="18" who="David Mosberger" />
<person posts="4" size="18" who="Brian Gerst" />
<person posts="4" size="17" who="John Cherry" />
<person posts="4" size="17" who="&quot;David Schwartz&quot;" />
<person posts="4" size="17" who="&quot;Pods&quot;" />
<person posts="4" size="16" who="Matthias Schniedermeyer" />
<person posts="4" size="16" who="Mark Gross" />
<person posts="4" size="16" who="Jan De Luyck" />
<person posts="4" size="16" who="Davide Libenzi" />
<person posts="4" size="16" who="Clemens Schwaighofer" />
<person posts="4" size="16" who="Bjorn Helgaas" />
<person posts="4" size="16" who="Stephen Hemminger" />
<person posts="4" size="16" who="Marcelo Tosatti" />
<person posts="4" size="15" who="Stuart Young" />
<person posts="4" size="15" who="Keith Owens" />
<person posts="4" size="14" who="&quot;Prakash K. Cheemplavam&quot;" />
<person posts="4" size="14" who="Andries Brouwer" />
<person posts="4" size="12" who="Anthony DiSante" />
<person posts="3" size="78" who="&quot;R. J. Wysocki&quot;" />
<person posts="3" size="68" who="Dominik Karall" />
<person posts="3" size="39" who="Gabriel Ebner" />
<person posts="3" size="36" who="Andrew Walrond" />
<person posts="3" size="35" who="(ktech)" />
<person posts="3" size="25" who="David Eger" />
<person posts="3" size="23" who="Hugh Dickins" />
<person posts="3" size="19" who="Stephen Rothwell" />
<person posts="3" size="19" who="Paul Fulghum" />
<person posts="3" size="18" who="Tuukka Toivonen" />
<person posts="3" size="17" who="Corey Minyard" />
<person posts="3" size="17" who="David Ford" />
<person posts="3" size="17" who="Frediano Ziglio" />
<person posts="3" size="17" who="Jan Kasprzak" />
<person posts="3" size="14" who="Jean Tourrilhes" />
<person posts="3" size="14" who="Guido Guenther" />
<person posts="3" size="14" who="Ivan Gyurdiev" />
<person posts="3" size="13" who="Jesse Barnes" />
<person posts="3" size="13" who="Stephen Smalley" />
<person posts="3" size="12" who="bert hubert" />
<person posts="3" size="12" who=" (Dmitry Baryshkov)" />
<person posts="3" size="12" who="(reg)" />
<person posts="3" size="12" who="&quot;Thomas Gleixner&quot;" />
<person posts="3" size="12" who="&quot;Mikael Starvik&quot;" />
<person posts="3" size="12" who="&quot;Mario 'BitKoenig' Holbe&quot;" />
<person posts="3" size="12" who="Christian Borntraeger" />
<person posts="3" size="12" who="Jan-Benedict Glaw" />
<person posts="3" size="11" who="Andy" />
<person posts="3" size="11" who="Daniel Egger" />
<person posts="3" size="11" who="(ingo)" />
<person posts="3" size="11" who="Nuno Ferreira" />
<person posts="3" size="10" who="Aric Cyr" />
<person posts="3" size="10" who="Jan Dittmer" />
<person posts="3" size="10" who="Nigel Cunningham" />
<person posts="3" size="10" who="Keith Owens" />
<person posts="3" size="10" who="Keith Duthie" />
<person posts="3" size="9" who="Bernd Eckenfels" />
<person posts="3" size="9" who="Jan-Frode Myklebust" />
<person posts="3" size="9" who="(jlnance)" />
<person posts="3" size="8" who="Marc-Christian Petersen" />
<person posts="3" size="8" who="(ckkashyap)" />
<person posts="3" size="7" who="&quot;interscan MSS&quot;" />
<person posts="2" size="98" who="(jfock)" />
<person posts="2" size="72" who="&quot;Peter J. Braam&quot;" />
<person posts="2" size="68" who="Jan Killius" />
<person posts="2" size="32" who="Aaron Mulder" />
<person posts="2" size="21" who="Daniel Schmitt" />
<person posts="2" size="14" who="Ray Bryant" />
<person posts="2" size="13" who="Paul Serice" />
<person posts="2" size="12" who="Roland McGrath" />
<person posts="2" size="11" who="&quot;Piszcz, Justin Michael&quot;" />
<person posts="2" size="11" who="Zoltan Boszormenyi" />
<person posts="2" size="11" who=" (Luis R. Rodriguez)" />
<person posts="2" size="10" who="(linux-kernel-owner)" />
<person posts="2" size="10" who="Russell Leighton" />
<person posts="2" size="10" who=" (Eric W. Biederman)" />
<person posts="2" size="10" who="&quot;Antonino A. Daplas&quot;" />
<person posts="2" size="10" who="&quot;Anil&quot;" />
<person posts="2" size="9" who="Andy Whitcroft" />
<person posts="2" size="9" who="Jari Ruusu" />
<person posts="2" size="9" who="Ben Greear" />
<person posts="2" size="9" who="Jeremy Kerr" />
<person posts="2" size="9" who="&quot;Sy, Dely L&quot;" />
<person posts="2" size="9" who="Mark Watts" />
<person posts="2" size="9" who="(khandelw)" />
<person posts="2" size="9" who="Suresh Siddha" />
<person posts="2" size="8" who="Andreas Dilger" />
<person posts="2" size="8" who="Andreas Gruenbacher" />
<person posts="2" size="8" who="Martin Olsson" />
<person posts="2" size="8" who="Craig Tierney" />
<person posts="2" size="8" who="Ari Pollak" />
<person posts="2" size="8" who="Daniel Drake" />
<person posts="2" size="8" who="Paulo Marques" />
<person posts="2" size="8" who="Mike Jagdis" />
<person posts="2" size="8" who="Jurriaan" />
<person posts="2" size="8" who="Jakub Jelinek" />
<person posts="2" size="8" who="&quot;Harald Dunkel&quot;" />
<person posts="2" size="8" who="Richard A Nelson" />
<person posts="2" size="8" who="(clemens)" />
<person posts="2" size="8" who="&quot;Luiz Fernando N. Capitulino&quot;" />
<person posts="2" size="8" who="Bernd Petrovitsch" />
<person posts="2" size="7" who="Ian Abbott" />
<person posts="2" size="7" who="Karsten Keil" />
<person posts="2" size="7" who="Michael De Nil" />
<person posts="2" size="7" who="Ruben Puettmann" />
<person posts="2" size="7" who="Ulrich Drepper" />
<person posts="2" size="7" who="(el_kazeem)" />
<person posts="2" size="7" who="Jasper Spaans" />
<person posts="2" size="7" who="Rob Landley" />
<person posts="2" size="7" who="Matthew Wilcox" />
<person posts="2" size="7" who="&quot;Luck, Tony&quot;" />
<person posts="2" size="7" who="&quot;Eric Lammerts&quot;" />
<person posts="2" size="7" who="Robin Rosenberg" />
<person posts="2" size="7" who="Chris Friesen" />
<person posts="2" size="7" who="Dave Airlie" />
<person posts="2" size="7" who="&quot;Jinu M.&quot;" />
<person posts="2" size="7" who="&quot;Robert P. J. Day&quot;" />
<person posts="2" size="7" who="Bart Trojanowski" />
<person posts="2" size="7" who="Nirendra Awasthi" />
<person posts="2" size="6" who="Dave Kleikamp" />
<person posts="2" size="6" who="Byron Stanoszek" />
<person posts="2" size="6" who="Klink" />
<person posts="2" size="6" who="Stelian Pop" />
<person posts="2" size="6" who="Colin Leroy" />
<person posts="2" size="6" who="Gerhard Mack" />
<person posts="2" size="6" who="Paul Clements" />
<person posts="2" size="6" who="James Buchanan" />
<person posts="2" size="6" who="=?ISO-8859-1?Q?Lenar_L=F5hmus?=" />
<person posts="2" size="6" who="(jsimmons)" />
<person posts="2" size="6" who="(raven)" />
<person posts="2" size="6" who="Ben Collins" />
<person posts="2" size="6" who="&quot;Martin J. Bligh&quot;" />
<person posts="2" size="6" who="Gianni Tedesco" />
<person posts="2" size="6" who="Matthias Urlichs" />
<person posts="2" size="6" who="&quot;Ameer Armaly&quot;" />
<person posts="2" size="6" who="Stian Jordet" />
<person posts="2" size="6" who="Wakko Warner" />
<person posts="2" size="6" who="Timothy Miller" />
<person posts="2" size="6" who="Flavio Stanchina" />
<person posts="2" size="6" who="Peter Korsgaard" />
<person posts="2" size="5" who="Yaoping Ruan" />
<person posts="2" size="5" who="linux lover" />
<person posts="2" size="5" who="&quot;Francois Pernet&quot;" />
<person posts="2" size="5" who="Sushant Sharma" />
<person posts="2" size="5" who="Steve Bergman" />
<person posts="1" size="83" who="&quot;Kai OM&quot;" />
<person posts="1" size="57" who="dual_bereta_r0x" />
<person posts="1" size="35" who="Miles Lane" />
<person posts="1" size="33" who="Lars Knudsen" />
<person posts="1" size="33" who="Tony Lill" />
<person posts="1" size="32" who="Norberto Bensa" />
<person posts="1" size="30" who="Vincent van de Camp" />
<person posts="1" size="27" who="&quot;Michael H. Warfield&quot;" />
<person posts="1" size="26" who="Jean-Christophe Dubacq" />
<person posts="1" size="25" who=" &lt;andreamrl@tiscali.it&gt;" />
<person posts="1" size="24" who="Jan Brezina" />
<person posts="1" size="19" who="Christian Hoelbling" />
<person posts="1" size="19" who="Brian Lazara" />
<person posts="1" size="19" who="Nico Schottelius" />
<person posts="1" size="18" who="Petr Vandrovec" />
<person posts="1" size="15" who="Sergiusz Pawlowicz" />
<person posts="1" size="15" who="Pablo" />
<person posts="1" size="11" who=" (Robert Varga)" />
<person posts="1" size="11" who="&quot;Casey Tucker&quot;" />
<person posts="1" size="9" who="Luis Miguel =?iso-8859-1?q?Garc=EDa_Mancebo?=" />
<person posts="1" size="9" who="long" />
<person posts="1" size="9" who="Vincent Hanquez" />
<person posts="1" size="9" who="Tim Connors" />
<person posts="1" size="8" who="Marc Heckmann" />
<person posts="1" size="8" who="&quot;Rodolfo Guluarte Hale&quot;" />
<person posts="1" size="8" who="Michelle Konzack" />
<person posts="1" size="7" who="Pantelis Antoniou" />
<person posts="1" size="7" who="Michael Clark" />
<person posts="1" size="7" who=" (=?iso-8859-1?q?H=E5vard_Lygre?=)" />
<person posts="1" size="7" who="&quot;Nakajima, Jun&quot;" />
<person posts="1" size="7" who="Jonathan Corbet" />
<person posts="1" size="7" who="&quot;Pokey the Penguin&quot;" />
<person posts="1" size="6" who="Grzegorz Kulewski" />
<person posts="1" size="6" who="Pedro Ramalhais" />
<person posts="1" size="6" who="Miquel van Smoorenburg" />
<person posts="1" size="6" who="Tobias Weisserth" />
<person posts="1" size="6" who="Haoqiang Zheng" />
<person posts="1" size="6" who="Gene Heskett" />
<person posts="1" size="6" who="Todd Poynor" />
<person posts="1" size="6" who="Vadim Lobanov" />
<person posts="1" size="6" who="Anupam Kapoor" />
<person posts="1" size="6" who="Andrey Panin" />
<person posts="1" size="5" who="Pozsar Balazs" />
<person posts="1" size="5" who="Steve Lord" />
<person posts="1" size="5" who="=?iso-8859-1?Q?Treasure=20Chest=20Sweepstakes=20Lottery?=" />
<person posts="1" size="5" who="Andreas Haumer" />
<person posts="1" size="5" who="Alberto Nava" />
<person posts="1" size="5" who="Anton Altaparmakov" />
<person posts="1" size="5" who="Hamish Whittal" />
<person posts="1" size="5" who="Henrik Persson" />
<person posts="1" size="5" who="Martin Schlemmer" />
<person posts="1" size="5" who="Steve Hill" />
<person posts="1" size="5" who="&quot;Alexander Stohr&quot;" />
<person posts="1" size="5" who="Sebastian Ley" />
<person posts="1" size="5" who="info" />
<person posts="1" size="5" who="Takashi Ikebe" />
<person posts="1" size="5" who="Soeren Sonnenburg" />
<person posts="1" size="5" who="&quot;Dunn, Charles&quot;" />
<person posts="1" size="5" who="Bernardo Innocenti" />
<person posts="1" size="5" who="Krzysztof &quot;Sierota (o2.pl/tlen.pl)&quot;" />
<person posts="1" size="5" who="Ed Tomlinson" />
<person posts="1" size="5" who="Daniel Ritz" />
<person posts="1" size="5" who="Raghavan" />
<person posts="1" size="4" who="Lars Marowsky-Bree" />
<person posts="1" size="4" who="Yury Umanets" />
<person posts="1" size="4" who="Thierry Coutelier" />
<person posts="1" size="4" who="Kai Engert" />
<person posts="1" size="4" who="AKIYAMA Nobuyuki" />
<person posts="1" size="4" who="Russell Cattelan" />
<person posts="1" size="4" who="Grant Byers" />
<person posts="1" size="4" who="John Hendrikx" />
<person posts="1" size="4" who="Dinakar Guniguntala" />
<person posts="1" size="4" who="Hans Kristian Rosbach" />
<person posts="1" size="4" who="Henry Yen" />
<person posts="1" size="4" who="Catalin BOIE" />
<person posts="1" size="4" who="Sam Leffler" />
<person posts="1" size="4" who="&quot;mattia&quot;" />
<person posts="1" size="4" who="Chris Johns" />
<person posts="1" size="4" who="Satoshi Oshima" />
<person posts="1" size="4" who="Vid Strpic" />
<person posts="1" size="4" who="mattia" />
<person posts="1" size="4" who="Tim Connors" />
<person posts="1" size="4" who="Ferenc Engard" />
<person posts="1" size="4" who="=?ISO-8859-15?Q?Mika_Penttil=E4?=" />
<person posts="1" size="4" who="&quot;David B. Stevens&quot;" />
<person posts="1" size="4" who="Christian Kujau" />
<person posts="1" size="4" who="Davide Rossetti" />
<person posts="1" size="4" who="Marty Ridgeway" />
<person posts="1" size="4" who="Wim Coekaerts" />
<person posts="1" size="4" who="Joel Becker" />
<person posts="1" size="4" who="Kurt Garloff" />
<person posts="1" size="4" who="Eduard Bloch" />
<person posts="1" size="4" who="Jeff Mahoney" />
<person posts="1" size="4" who="Daniel Phillips" />
<person posts="1" size="4" who="Wolfgang Fritz" />
<person posts="1" size="4" who="David van Hoose" />
<person posts="1" size="4" who="Sharma Sushant" />
<person posts="1" size="4" who="Ard van Breemen" />
<person posts="1" size="4" who="BlaisorBlade" />
<person posts="1" size="4" who="&quot;Tvrtko A. =?iso-8859-2?q?Ur=B9ulin?=&quot;" />
<person posts="1" size="4" who="Marc Herbert" />
<person posts="1" size="4" who="Greg Weeks" />
<person posts="1" size="4" who="&quot;Nguyen, Tom L&quot;" />
<person posts="1" size="4" who="Peter Lundkvist" />
<person posts="1" size="4" who="Michael Brown" />
<person posts="1" size="4" who="Joel Soete" />
<person posts="1" size="4" who="Tim Connors" />
<person posts="1" size="4" who="&quot;Petr Vandrovec&quot;" />
<person posts="1" size="4" who="&quot;Steve Lee&quot;" />
<person posts="1" size="3" who="Stefan Seyfried" />
<person posts="1" size="3" who="Wichert Akkerman" />
<person posts="1" size="3" who="&quot;Timothy Webster&quot;" />
<person posts="1" size="3" who="&quot;kazeem elsheikh&quot;" />
<person posts="1" size="3" who="Tim Connors" />
<person posts="1" size="3" who="Grant Grundler" />
<person posts="1" size="3" who="David Eger" />
<person posts="1" size="3" who="&quot;David A. Desrosiers&quot;" />
<person posts="1" size="3" who="Jesper Juhl" />
<person posts="1" size="3" who="Jun Sun" />
<person posts="1" size="3" who="Ryan Anderson" />
<person posts="1" size="3" who="Eduard Bloch" />
<person posts="1" size="3" who="&quot;Miquel van Smoorenburg&quot;" />
<person posts="1" size="3" who="David Weinehall" />
<person posts="1" size="3" who="Joshua Kwan" />
<person posts="1" size="3" who="Doug McNaught" />
<person posts="1" size="3" who="&quot;kazeem elsheikh&quot;" />
<person posts="1" size="3" who="Chris Wright" />
<person posts="1" size="3" who="&quot;Alexander V. Inyukhin&quot;" />
<person posts="1" size="3" who="(jyotiraditya)" />
<person posts="1" size="3" who="Vivek Goyal" />
<person posts="1" size="3" who="Stephen Wille Padnos" />
<person posts="1" size="3" who="Auzanneau Gregory" />
<person posts="1" size="3" who="THroLL" />
<person posts="1" size="3" who="Herbert Poetzl" />
<person posts="1" size="3" who="Tom Rini" />
<person posts="1" size="3" who="&quot;Eric D. Mudama&quot;" />
<person posts="1" size="3" who="Ian Stirling" />
<person posts="1" size="3" who="Brad Campbell" />
<person posts="1" size="3" who="Michel =?ISO-8859-1?Q?D=E4nzer?=" />
<person posts="1" size="3" who="Kenneth =?iso-8859-1?q?Aafl=F8y?=" />
<person posts="1" size="3" who="Chris Osicki" />
<person posts="1" size="3" who="Thomas Winischhofer" />
<person posts="1" size="3" who="Roland Lezuo" />
<person posts="1" size="3" who="Theodore Ts'o" />
<person posts="1" size="3" who="Clint Byrum" />
<person posts="1" size="3" who="Larry McVoy" />
<person posts="1" size="3" who="Michael Brennan" />
<person posts="1" size="3" who="(A1tmblwd)" />
<person posts="1" size="3" who="Tomas Szepe" />
<person posts="1" size="3" who="Manu Abraham" />
<person posts="1" size="3" who="Ingo Oeser" />
<person posts="1" size="3" who="Kyle Moffett" />
<person posts="1" size="3" who="Mariusz Mazur" />
<person posts="1" size="3" who="&quot;Paul E. McKenney&quot;" />
<person posts="1" size="3" who="Tom Felker" />
<person posts="1" size="3" who="Stefan Seyfried" />
<person posts="1" size="3" who="David Lang" />
<person posts="1" size="3" who="&quot;James H. Cloos Jr.&quot;" />
<person posts="1" size="3" who="Wim Van Sebroeck" />
<person posts="1" size="3" who="Pascal Schmidt" />
<person posts="1" size="3" who="Jaroslav Kysela" />
<person posts="1" size="3" who="Pete Zaitcev" />
<person posts="1" size="3" who="Daniele Venzano" />
<person posts="1" size="3" who="Guy Sotomayor" />
<person posts="1" size="3" who="Matt Porter" />
<person posts="1" size="3" who="Arthur Perry" />
<person posts="1" size="3" who="Arkadiusz Miskiewicz" />
<person posts="1" size="3" who="Peter Chubb" />
<person posts="1" size="3" who="Andy Hawkins" />
<person posts="1" size="3" who="(cbjohns)" />
<person posts="1" size="3" who="&quot;Mail Notification&quot;" />
<person posts="1" size="3" who="(EXPERIENCE.SUPPORT)" />
<person posts="1" size="3" who="&quot;Wesley W. Terpstra&quot;" />
<person posts="1" size="3" who="Geert Uytterhoeven" />
<person posts="1" size="3" who="Tim Bird" />
<person posts="1" size="3" who="&quot;H. Peter Anvin&quot;" />
<person posts="1" size="3" who="Hans Reiser" />
<person posts="1" size="3" who="Jakob Oestergaard" />
<person posts="1" size="3" who="Sean Estabrooks" />
<person posts="1" size="3" who="Erik Steffl" />
<person posts="1" size="3" who="Sean Neakums" />
<person posts="1" size="3" who="Walter Hofmann" />
<person posts="1" size="3" who="&quot;Magnus Naeslund(t)&quot;" />
<person posts="1" size="3" who="Marc Giger" />
<person posts="1" size="3" who="&quot;Anastasia Sizemore&quot;" />
<person posts="1" size="3" who="&quot;Sean Kaufman&quot;" />
<person posts="1" size="3" who="Alex Romosan" />
<person posts="1" size="3" who="walt" />
<person posts="1" size="3" who="Dax Kelson" />
<person posts="1" size="3" who="(EXPERIENCE.SUPPORT)" />
<person posts="1" size="3" who="&quot;Nemosoft Unv.&quot;" />
<person posts="1" size="3" who="&quot;Lever, Charles&quot;" />
<person posts="1" size="3" who="(hch)" />
<person posts="1" size="3" who="Tony Lindgren" />
<person posts="1" size="3" who="Daniel Gryniewicz" />
<person posts="1" size="3" who="=?iso-8859-1?q?Patric=20Ho?=" />
<person posts="1" size="3" who="athul acharya" />
<person posts="1" size="3" who="Paul Dickson" />
<person posts="1" size="3" who="&quot;Goldwyn Rodrigues&quot;" />
<person posts="1" size="3" who="Christoph Hellwig" />
<person posts="1" size="3" who="Yoichi Yuasa" />
<person posts="1" size="3" who="Bradley Chapman" />
<person posts="1" size="3" who="&quot;Matt H.&quot;" />
<person posts="1" size="3" who="Jan Harkes" />
<person posts="1" size="3" who="&quot;Emma&quot;" />
<person posts="1" size="3" who="Bjoern Schmidt" />
<person posts="1" size="3" who="&quot;Emma&quot;" />
<person posts="1" size="3" who="Vibol Hou" />
<person posts="1" size="3" who=" (Jack Howarth)" />
<person posts="1" size="3" who="&quot;Pekka J Enberg&quot;" />
<person posts="1" size="3" who="Alex Riesen" />
<person posts="1" size="3" who="Mikhail Kshevetskiy" />
<person posts="1" size="3" who="Jan Kara" />
<person posts="1" size="3" who="&quot;Brad Mattick&quot;" />
<person posts="1" size="3" who="&quot;Uwe E. Bilger&quot;" />
<person posts="1" size="3" who="Daniel Andersen" />
<person posts="1" size="2" who="Pat LaVarre" />
<person posts="1" size="2" who="Panagiotis Papadakos" />
<person posts="1" size="2" who="Zwane Mwaikambo" />
<person posts="1" size="2" who="Otto Wyss" />
<person posts="1" size="2" who="Glen Nakamura" />
<person posts="1" size="2" who="Yury Umanets" />
<person posts="1" size="2" who="Harald Dunkel" />
<person posts="1" size="2" who="Oswald Buddenhagen" />
<person posts="1" size="2" who="Miklos Szeredi" />
<person posts="1" size="2" who="&quot;Jeremy D. May&quot;" />
<person posts="1" size="2" who="Krzysztof Halasa" />
<person posts="1" size="2" who="Nobuhiro Tachino" />
<person posts="1" size="2" who="&quot;pancham_pan1&quot;" />
<person posts="1" size="2" who="Peter Williams" />
<person posts="1" size="2" who="&quot;Simon Chow&quot;" />
<person posts="1" size="2" who="Peter Horton" />
<person posts="1" size="2" who="jjluza" />
<person posts="1" size="2" who="Steve French" />
<person posts="1" size="2" who="Lukas Hejtmanek" />
<person posts="1" size="2" who="Luciano Moreira - igLnx" />
<person posts="1" size="2" who="Tim Schmielau" />
<person posts="1" size="2" who="Phil Oester" />
<person posts="1" size="2" who="(ndiamond)" />
<person posts="1" size="2" who="Fabian Fenaut" />
<person posts="1" size="2" who="Raphael Jacquot" />
<person posts="1" size="2" who="(mail)" />
<person posts="1" size="2" who="root" />
<person posts="1" size="2" who="Thomas Zehetbauer" />
<person posts="1" size="2" who="Florian Weimer" />
<person posts="1" size="2" who="Guennadi Liakhovetski" />
<person posts="1" size="2" who="Albert Cahalan" />
<person posts="1" size="2" who="Samantha Bee" />
<person posts="1" size="2" who="&quot;Christian Gmeiner&quot;" />
<person posts="1" size="2" who="Thomas Glanzmann" />
<person posts="1" size="2" who="Hal Nine" />

</stats>

<section
  title="Some Explanation Of Disk Geometry Handling In 2.4 And 2.6"
  subject="2.6.x partition breakage and dual booting"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=21CV1-8bE-11%40gated-at.bofh.it"
  posts="33"
  startdate="30 May 2004 10:04:03 -0800"
  enddate="03 Jun 2004 07:55:51 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>FS: FAT</topic>
<topic>Ioctls</topic>

<p>Jeff Garzik said:</p>

<quote who="Jeff Garzik">

<p>So it seems that the 2.6.x geometry code breaks dual booting, since
Windows wants "sane" CHS values.  See the thread on slashdot, or <a
href="http://www.redhat.com/archives/fedora-devel-list/2004-May/msg00908.html">http://www.redhat.com/archives/fedora-devel-list/2004-May/msg00908.html</a></p>

<p>Although Fedora Core is current taking grief for this, it's really a
2.6.x kernel problem AFAICT.</p>

<p>Has anybody taken the time to hunt down the csets that cause this massive
partition table breakage?  If so, it will save me some time tracking this
down.</p>

</quote>

<p>Andries Brouwer said that the slashdot thread related only to a user-space
problem, and that the fdisk program maintained by Andries worked perfectly. He
said, <quote who="Andries Brouwer">I can tell you in great detail all about
disk geometry, and the 2.4 situation and the 2.6 situation.</quote> Jeff
asked for this great detail, and Andries replied:</p>

<quote who="Andries Brouwer">

<p>I already wrote several many-page texts on this stuff.  See, e.g., <a
href="http://www.win.tue.nl/~aeb/linux/Large-Disk.html">http://www.win.tue.nl/~aeb/linux/Large-Disk.html</a></p>

<p>Attempt at a brief summary:</p>

<p>

<ol>

<li>

<p>Hardware:</p>

<p>In the ancient past a disk (MFM or RLL) had a geometry
describing how many sectors per track, how many tracks (cylinders),
and how many heads the thing had.</p>

<p>With the advent of IDE it no longer was true that a disk has a
well-determined geometry: the ATA command INITIALIZE DRIVE PARAMETERS
will tell the disk what geometry it is supposed to have today.</p>

<p>An IDE disk can be accessed in CHS and in LBA mode, and the
geometry specified, or read via the ATA IDENTIFY command,
defines the meaning of a CHS command. With LBA access
no geometry plays a role.</p>

<p>SCSI disks never had this geometry nonsense.</p>

<p>Linux uses LBA and does not need to concern itself with geometry.</p>

</li>

<li>

<p>DOS / Windows:</p>

<p>The DOS disk interface used CHS. If the disk uses LBA the driver
has to convert CHS to LBA and hence needs a geometry (at least H, S).</p>

<p>Because DOS (BIOS INT 13) had 10 bits for C, and 6- bits for S,
while ATA uses 4 bits for H, this scheme could address only
somewhat less than 2^20 sectors. The 528 MB limit.</p>

<p>All kinds of translation schemes were invented to give the
BIOS interface a geometry different from that used at the ATA
interface. The user chooses a translation scheme in the BIOS setup.
The geometry is now unrelated to the disk, but is known to the BIOS.</p>

<p>Various BIOS calls exist that report on various versions of the
geometry.</p>

</li>

<li>

<p>Partition tables:</p>

<p>A DOS-type partition table (see, e.g.,
<a href="http://www.win.tue.nl/~aeb/partitions/partition_tables.html">http://www.win.tue.nl/~aeb/partitions/partition_tables.html</a>)
gives the location of a partition in two ways.
One is the way used by Linux (the starting sector and length,
both given in 32 bits). The other, used by DOS, given CHS
for the first and for the last sector (both in 24 bits).</p>

<p>Even when nobody cares about geometry any longer, is it still
necessary to fill these CHS fields.</p>

<p>If the filesystem living in the partition is a FAT filesystem,
then the boot sector of the FAT filesystem again gives information
on the size of the partition.</p>

</li>

<li>

<p>Linux:</p>

<p>There is an ioctl HDIO_GETGEO that returns the geometry of a disk
and the starting sector (offset) of a partition.
There is an ioctl BLKGETSIZE that returns the size (in 512-byte sectors)
of a block device in 32 bits.
There is an ioctl BLKGETSIZE64 that returns the size (in bytes)
of a block device in 64 bits.</p>

<p>Clearly, BLKGETSIZE is obsolescent - it should be replaced by
BLKGETSIZE64 everywhere. 2^41 B is 2 TB, and some RAIDs are larger.</p>

<p>The HDIO_GETGEO ioctl gives heads, sectors and cylinders -
fields of 1, 1, 2 bytes. On the one hand that is reasonable -
no interface exists that can use more than 16 bits for the
number of cylinders. On the other hand there is still some
broken software that computes the size of a disk as C*H*S,
and obtains C, H, S by HDIO_GETGEO. Of course this is broken,
and introducing a new ioctl is no good - such software must
be fixed to use BLKGETSIZE64.</p>

</li>

<li>

<p>Geometry use under Linux:</p>

<p>Roughly speaking geometry was needed under Linux for two
purposes: LILO (and similar bootloaders) and *fdisk.
Of course, also programs that tried to emulate aspects
of DOS/Windows are interested in a geometry.</p>

<p>The LILO aspect has disappeared - with options like linear, or lba32,
lilo uses linear sector numbers at install time, and converts them
to CHS, when needed, at boot time.</p>

<p>The fdisk aspect has also disappeared - after this geometry business
had become infinitely complicated, nobody any longer tried to
understand geometry, but just inferred from the partition table
what geometry was used by the program that last wrote it.</p>

<p>How did the kernel find a geometry?
Mainly in three ways: (i) from boot parameters, (ii) by looking
at the partition table, (iii) by asking the BIOS at boot time,
before switching to protected mode.</p>

<p>Information (i) - explicit specification - and (ii) - partition table -
is also available to user space, no kernel needed.
Remains the question whether (iii) is a good idea.</p>

<p>It didnt always work, but often it worked. (And only on i386 of course.)
Examples of failure: The code we had only asked the BIOS for info
on the first two disks. An often-posed question was: I have two
identical disks, how come they get different geometries?
Also, the code we had failed when the system had SCSI disks.
Also, the code we had assumed that the first two BIOS disks
were hda and hdb. But there is no reason why that would be
the case. For example, many people kept their large disks out of the
BIOS since it would crash upon seeing big disks.</p>

<p>So, this (iii) was a bit messy stuff with many problems, but
OK for most people.</p>

</li>

<li>

<p>The present</p>

<p>Linux no longer makes any attempt to invent a geometry.
If someone needs a geometry, he is responsible himself
for choosing one of the many concepts of geometry, and
determining a value. What most software does is looking
at the partition table, and that works.</p>

<p>Maybe parted has not yet been updated to do this,
that is why I conjectured that Fedora problems might be
due to the use of parted.</p>

<p>Was this a loss? I don't think so, but there is at least
one use of the old situation that fails today:
the installation of Windows systems from Linux media
on a completely blank disk.</p>

</li>

</ol>

</p>

</quote>

</section>

<section
  title="Linux 2.6.7-rc2-mm1 Released; Linux 2.7 May Require GCC Version Greater Than 2.x"
  subject="2.6.7-rc2-mm1"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=22dBi-3Hb-27%40gated-at.bofh.it&amp;prev=/groups%3Fas_ugroup%3Dlinux.kernel%26as_uauthors%3DAndrew%2520Morton%26as_usubject%3D2.6.7-rc2-mm1%26as_drbb%3Db%26as_mind%3D01%26as_minm%3DJun%26as_miny%3D2004%26as_maxd%3D01%26as_maxm%3DJun%26as_maxy%3D2004"
  posts="69"
  startdate="01 Jun 2004 01:15:39 -0800"
  enddate="06 Jun 2004 00:02:12 -0800"
>
<topic>FS: NFS</topic>
<topic>Kernel Release Announcement</topic>
<topic>Networking</topic>
<topic>Profiling</topic>

<mention>Adrian Bunk</mention>

<p>Andrew Morton announced Linux 2.6.7-rc2-mm1, saying:</p>

<quote who="Andrew Morton">

<p><a
href="ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7-rc2/2.6.7-rc2-mm1/">ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.7-rc2/2.6.7-rc2-mm1/</a></p>

<p>

<ul>

<li>NFS server udpates</li>

<li>md updates</li>

<li>big x86 dmi_scan.c cleanup</li>

<li>merged perfctr.  No documentation though :(</li>

<li>cris architecture update</li>

</ul>

</p>

</quote>

<p>Alexander Gran remarked, <quote who="Alexander Gran">I can neither enter
nor activate the gigabit ethernet driver section in menuconfig.</quote>
Andrew replied that he had no problem with that; and David S. Miller said,
<quote who="David S. Miller">It seems you have to enable the 10/100 section
in order to get to the gigabit section.  This is the case in the standard
tree too, nothing in -mm changed this.</quote> Alexander tried and confirmed
this, saying, <quote who="Alexander Gran">Ahh, all right. Than the bug was
introduced with 2.6.7-rc2.</quote></p>

<p>Elsewhere, Adrian Bunk reported seeing a lot of warnings about dereferencing
void pointers during compilation, when compiling with GCC 2.95; Linus
Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>Yes. Apparently gcc-2.95 doesn't like to dereference a "void *" even just
inside of a "__typeof__". Which is a bit silly, since the result is a perfectly
valid _type_. It's obviously been fixed since, so I never saw this.</p>

<p>(Aside - with anon unions also not working in older gcc's, I suspect we'll
start requiring gcc-3+ in the 2.7.x timeframe. I know it's a lot slower, but
apparently at least it now is starting to generate comparable code again).</p>

<p>Anyway, the easiest work-around would be to just avoid derefencing
the pointer, but then you have to add strange modifiers (both "const" and
"volatile" at the same time) to make sure that gcc won't complain about the
assignment dropping any modifiers.</p>

<p>So the fix I'm going to check in is to just make "__chk_user_ptr()" be
something that gcc never even sees, which allows us to simplify it for the
sparse case too.</p>

<p>In other words, this should work for even old versions of gcc.. Just to
be anal, you should probably test on gcc-2.95 ;)</p>

</quote>

<p>Adrian tried Linus' fix and confirmed that it worked with GCC 2.95.</p>

</section>

<section
  title="Status Of SysFS Maintainership"
  subject="Sysfs maintainer"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=22mlc-2AW-5%40gated-at.bofh.it"
  posts="2"
  startdate="01 Jun 2004 10:30:44 -0800"
  enddate="04 Jun 2004 14:37:09 -0800"
>
<topic>FS: sysfs</topic>
<topic>MAINTAINERS File</topic>

<p>Christian Gmeiner was trying to contact the SysFS maintainer, but
couldn't seem to find any information on who that person might be; Greg
KH replied, <quote who="Greg KH">I'm the de-facto sysfs and driver core
maintainer these days, I guess I should add that to the MAINTAINERS file
eventually...</quote></p>

</section>

<section
  title="'NX' Security Features Coming To 2.6"
  subject="[announce] [patch] NX (No eXecute) support for x86, 2.6.7-rc2-bk2"
  archive="http://groups.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;safe=off&amp;selm=22L0f-5Ci-11%40gated-at.bofh.it&amp;prev=/groups%3Fq%3D%2522%255Bannounce%255D%2B%255Bpatch%255D%2BNX%2B(No%2BeXecute)%2Bsupport%2Bfor%2Bx86,%2B2.6.7-rc2-bk2%2522%26hl%3Den%26lr%3D%26ie%3DUTF-8%26safe%3Doff%26selm%3D22L0f-5Ci-11%2540gated-at.bofh.it%26rnum%3D1"
  posts="66"
  startdate="02 Jun 2004 12:50:25 -0800"
  enddate="08 Jun 2004 09:15:32 -0800"
>
<topic>Executable File Format</topic>
<topic>Microsoft</topic>
<topic>Security</topic>
<topic>Spam</topic>
<topic>Virtual Memory</topic>

<mention>Gerhard Mack</mention>
<mention>Jun Nakajima</mention>
<mention>Rusty Russell</mention>

<p>Ingo Molnar said on behalf of Red Hat:</p>

<quote who="Ingo Molnar">

<p>we'd like to announce the availability of the following kernel patch:</p>

<p><a
href="http://redhat.com/~mingo/nx-patches/nx-2.6.7-rc2-bk2-AE">http://redhat.com/~mingo/nx-patches/nx-2.6.7-rc2-bk2-AE</a></p>

<p>which makes use of the 'NX' x86 feature pioneered in AMD64 CPUs and for
which support has also been announced by Intel. (other x86 CPU vendors,
Transmeta and VIA announced support as well. Windows support for NX has also
been announced by Microsoft, for their next service pack.) The NX feature
is also being marketed as 'Enhanced Virus Protection'. This patch makes sure
Linux has full support for this hardware feature on x86 too.</p>

<p>What does this patch do? The pagetable format of current x86 CPUs does
not have an 'execute' bit. This means that even if an application maps a
memory area without PROT_EXEC, the CPU will still allow code to be executed
in this memory. This property is often abused by exploits when they manage
to inject hostile code into this memory, for example via a buffer overflow.</p>

<p>The NX feature changes this and adds a 'dont execute' bit to the PAE
pagetable format. But since the flag defaults to zero (for compatibility
reasons), all pages are executable by default and the kernel has to be taught
to make use of this bit.</p>

<p>If the NX feature is supported by the CPU then the patched kernel turns
on NX and it will enforce userspace executability constraints such as a
no-exec stack and no-exec mmap and data areas. This means less chance for
stack overflows and buffer-overflows to cause exploits.</p>

<p>furthermore, the patch also implements 'NX protection' for kernelspace
code: only the kernel code and modules are executable - so even kernel-space
overflows are harder (in some cases, impossible) to exploit. Here is how
kernel code that tries to execute off the stack is stopped:</p>

<pre> kernel tried to access NX-protected page - exploit attempt? (uid: 500)
 Unable to handle kernel paging request at virtual address f78d0f40
  printing eip:
 ...</pre>

<p>The patch is based on a prototype NX patch written for 2.4 by Intel -
special thanks go to Suresh Siddha and Jun Nakajima @ Intel. The existing
NX support in the 64-bit x86_64 kernels has been written by Andi Kleen and
this patch is modeled after his code.</p>

<p>Arjan van de Ven has also provided lots of feedback and he has integrated
the patch into the Fedora Core 2 kernel. Test rpms are available for download
at:</p>

<p><a
href="http://redhat.com/~arjanv/2.6/RPMS.kernel/">http://redhat.com/~arjanv/2.6/RPMS.kernel/</a></p>

<p>the kernel-2.6.6-1.411 rpms have the NX patch applied.</p>

<p>here's a quickstart to recompile the vanilla kernel from source with the
NX patch:</p>

<p><a
href="http://redhat.com/~mingo/nx-patches/QuickStart-NX.txt">http://redhat.com/~mingo/nx-patches/QuickStart-NX.txt</a></p>

</quote>

<p>There were a lot of technical suggestions and comments from folks like
Christoph Hellwig, Andi Kleen, Rusty Russell, and Gerhard Mack. Also, Linus
Torvalds asked:</p>

<quote who="Linus Torvalds">

<p>Just out of interest - how many legacy apps are broken by this? I assume
it's a non-zero number, but wouldn't mind to be happily surprised.</p>

<p>And do we have some way of on a per-process basis say "avoid NX because this
old version of Oracle/flash/whatever-binary-thing doesn't run with it"?</p>

</quote>

<p>In answer to the first question, Ingo and Arjan van de Ven (also from Red
Hat) confirmed that the amount of legacy breakage was in fact zero. Ingo also
explained that just in case, any breakage from this would be less than other
breakage already introduced by Red Hat. He put it, <quote who="Ingo Molnar">in
the full install of FC1 and FC2 the number is zero - and Fedora has exec-shield
which does a couple of things more: it makes the heap non-executable as well
[this broke X], it randomizes the address-space layout and has a 4:4 VM [which
broke the Sun JVM].</quote> Doug McNaught added, close by, <quote who="Doug
McNaught">Lisp systems like CMUCL and SBCL (plus commercial Lisps) had problems
with FC1 due to execshield.  They tend to do things like compile code on the
fly to heap memory and expect to be able to run it.</quote> And Jakub Jelinek
(also from Red Hat) replied, <quote who="Jakub Jelinek">They will still work,
as long as you don't recompile them with recent toolchain.  When you recompile
them, they either needs to be taught to DTRT (i.e.  use mmap with PROT_EXEC
for executable stuff), or can be linked with -Wl,-z,execstack to mark them as
needing executable stack.  prelink package also contains execstack(8) utility
which can be used on already linked binaries/shared libraries.</quote></p>

<p>To Linus' second question, about the possibility of per-process avoidance
of NX for compatibility reasons, Ingo explained:</p>

<quote who="Ingo Molnar">

<p>we have three mechanisms for this in Fedora:</p>

<p>

<ol>

<li>

<p>the PT_GNU_STACK flag itself - you can turn executability on/off
   compile-time or even after the fact via the execstack(8) utility
   Jakub wrote. This only affects the stack's executability - if an
   application assumes a non-PROT_EXEC mmap() can be executed it might
   still break with NX - but based on experience with Fedora Core i'd
   say there's almost no such application.</p>

<p>this method works in 2.6 too, since it supports PT_GNU_STACK. gcc's
PT_GNU_STACK mechanism is very conservative - e.g. if an application
does an asm() then gcc assumes that it might rely on stack executability
and emits the X flag. [applications can then turn this off in the source
if stack executability is not required.] Likewise, if gcc emits
trampolines then the X flag is emitted too. (glibc knows about
PT_GNU_STACK all across - so e.g. if a nonexec stack application
dlopen()s a library that needs stack executability then glibc makes the
stack executable on the fly via PROT_GROWSDOWN/GROWSUP.)</p>

</li>

<li>

<p>via a runtime method: via the i386 personality. So an application can
   trigger the 'legacy' Linux VM layout by e.g doing 'i386 java
   ./test.class'.</p>

<p>this is a hack in Fedora - we wanted to have a finegrained runtime
mechanism just in case. But it would be nice to have this upstream too -
e.g. via a PERSONALITY_3G?</p>

</li>

<li>

<p>via a kernel boot parameter (exec-shield=0)</p>

<p>with the NX patch this becomes noexec=off [the same flag works on x86_64
too]. This method is the most inflexible one, and is a last-resort
thing. (Fedora also has a runtime global switch to turn off the VM
layout changes.)</p>

</li>

</ol>

</p>

<p>here's a list of applications that we had to fix/work around in Fedora
when the VM layout changed:</p>

<p>

<ul>

<li>emacs _rebuild_. (it coredumps itself during build ... xemacs is OK.)</li>

<li>some JDKs. Since they generate code and try to be as fast as possible
   they tend to rely more on VM details than normal applications.</li>

<li>X's module loader assumed that brk was executable. (fixed)</li>

<li>Wine. (it implements another OS so it's by definition very sensitive
   to layout changes.)</li>

</ul>

</p>

<p>most of the breakages were unclean x86-only code that would have broken
if ported over to 64-bit anyway.</p>

<p>old, legacy applications dont have the PT_GNU_STACK flag so they all
work fine.</p>

</quote>

<p>Regarding Wine's breakage when the Virtual Memory Subsystem changed, Brian
Gerst disagreed with Ingo's explanation, and remarked, <quote who="Brian
Gerst">Wine breaks because of the part of exec-shield that relocates shared
libs to low addresses, where the (stripped) Windows binaries expect to
be loaded at.  NX stack doesn't affect it.</quote> Ingo accepted this,
adding, <quote who="Ingo Molnar">I think Wine could get around this by
creating a dummy ELF section in the Wine binary that covers the first 1GB or
so. Wine could still use ordinary dynamic libraries - those would go above
that 1GB. Then once Wine has loaded up it can munmap() that first 1GB.
(this would not work if Wine has to dlopen() new libraries after this
phase - does that happen?)</quote> But Christoph Hellwig suggested, <quote
who="Christoph Hellwig">Why can't wine just implement it's own binfmt_pecoff?
Sounds like the much simpler solutuion.</quote> And William Lee Irwin III
said, <quote who="William Lee Irwin III">I'd be in favor of this also. An
executable format with wide enough usage is worth adding kernel support for
loading it.</quote></p>

<p>Ingo replied also to his own long post, dealing with his item 2 above,
the runtime method of triggering the legacy Linux VM subsystem. He said:</p>

<quote who="Ingo Molnar">

<p>i've attached a patch that provides a cleaner solution. It does 3
changes:</p>

<p>

<ul>

<li>it adds a ADDR_SPACE_EXECUTABLE bit to the personality 'bug bits'
section. This bit if set will make the stack executable. (if in the future
we decide to make the malloc() heap non-exec [which i definitely think we
should], that property will also listen to this bit.)</li>

<li>in elf.h, it changes the x86 personality inheritance code to match that
of x86_64 - which is a much saner method. This means if a complex app that
does exec()s will all run with the personality of the parent(s).</li>

<li>in exec.c, since address-space executability is a security-relevant item,
we must clear the personality when we exec a setuid binary. I believe this is
also a (small) security robustness fix for current 64-bit architectures.</li>

</ul>

</p>

<p>(the patch also adds a break to the elf_ex.e_phnum loop - there can only
be one STACK header in the binary and once we found it we should not iterate
through the remaining program headers (if any).)</p>

<p>we didnt want to add a non-standard personality flag to Fedora so we abused
PER_LINUX32 as the compatibility flag - but this only works on x86. With the
ADDR_SPACE_EXECUTABLE flag there would be a standard method to fall back to
'legacy' executability assumptions Linux applications might make.</p>

</quote>

<p>Andi replied to the third item in the list above, regarding clearing the
'personality' when executing a setuid binary. He said, <quote who="Andi
Kleen">This means I cannot easily force an i386 uname or 3GB address space
on suid programs anymore on x86-64.  While in theory it could be a small
security problem I think the utility is much greater.  It's hard to see how
setting NX could cause a security hole. The program may crash, but it is
unlikely to be exploitable.</quote> Andy Lutomirski replied:</p>

<quote who="Andy Lutomirski">

<p>The whole point of NX, though, is that it prevents certain classes of
exploits.  If a setuid binary is vulnerable to one of these, then Ingo's patch
"fixes" it.  Your approach breaks that.</p>

<p>I don't like Ingo's fix either, though.  At least it should check CAP_PTRACE
or some such.  A better fix would be for LSM to pass down a flag indicating
a change of security context.  I'll throw that in to my caps/apply_creds
cleanup, in case that ever gets applied.</p>

</quote>

<p>Andi thought it would be overkill to require an LSM module, but he agreed
that Andy had a good point, although Andi also objected, <quote who="Andi
Kleen">that only applies to the NX personality bit. For the uname emulation
it is not an issue.  So maybe the dropping on exec should only zero a few
selected personality bits, but not all.</quote> This made sense to Andy;
and close by, Ingo said, <quote who="Ingo Molnar">ok, how about the attached
patch then? There's a PERS_DROP_ON_SUID mask that we drop upon setuid - all the
other personality bits get inherited.</quote> Andy replied, <quote who="Andy
Lutomirski">This is wrong on SELinux (and presumably with other LSMs).
It also does unexpected things if you fail to exec a setuid executable.</quote>
He posted his own patch, and Linus Torvalds came in with:</p>

<quote who="Linus Torvalds">

<p>Let's not do this at all.</p>

<p>Anything that changes subtle behaviour at suid-execute time is just wrong.
Imagine an app that has been tested in normal use, and then has a subtle bug
when executed set-uid, simply because the address space layout changes. Or
something that mysteriously works when you're root, but not when you're
anything else. Ouch.</p>

<p>I think we should just look at the executable itself, not whether it is
suid. If the executable says it is "NX-approved", then it's NX-approved.
End of story - just try to make sure that as many executables as possible
get compiled with the newer compiler suite that enables it.</p>

<p>Add a tool to let people turn on/off the NX bit on an executable if it
turns out the executable can't work with it (let's say it was compiled and
tested on a CPU without NX support), and everybody should be happy. You can
have a trivial script that turns on the NX bit on all the legacy apps too,
and then if testing shows iot wasn't a good idea, you can turn it off again
on a per-executable basis.</p>

</quote>

<p>Ingo did a bunch more work, posting patches; and Arjan also remarked, <quote
who="Arjan van de Ven">the prelink rpm on Fedora has such a tool</quote> [to
flip the NX bit on an executable] <quote who="Arjan van de Ven">already fwiw.
(it's part of prelink because the elf manipulations needed are quite similar to
the ones prelink does so infrastructure is shared)</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>Just for fun, can somebody that has the required hardware just test old
apps with NX turned on?</p>

<p>I know we used to put the signal handler trampoline on the stack, but
these days that should all be handled with the magic executable syscall page,
so _normally_ I don't think an old application should even really care.</p>

<p>In fact, it would be interesting to just hear somebody running an older
distribution with a new CPU and a new kernel, and see just how many programs
need to be marked non-NX in "normal running".</p>

</quote>

<p>Arjan replied, <quote who="Arjan van de Ven">I know that in a FC1 full
install there are less than 5 binaries that don't run with NX. (one uses
nested functions in C and passes function pointers to the inner function
around which causes gcc to emit a stack trampoline, and gcc then marks the
binary as non-NX, the others have asm in them that we didn't fix in time to
be properly marked).</quote> And Linus said:</p>

<quote who="Linus Torvalds">

<p>If things are really that good, why are we even worrying about this?</p>

<p>It sounds like we should just have NX on by default even for executables
that don't have any NX info records, and have some way of marking the (very
few) executables that don't want it. Maybe have the NX fault print a warning
when it happens for an executable that defaulted to NX on.</p>

<p>I think most people have seen the security disaster that causes most of
the emails on the net to be spam. So this should be _trivial_ to explain to
people when they complain about default behaviour breaking their strange
legacy app. Especially if there's a trivial tool to add an elf section to
make it work again.</p>

<p>So instead of having complex things to try to turn NX on for suid, we
should aim to turn ot on as widely as possible, _even_if_ that means that
people who upgrade hardware might have to do some trivial MIS stuff.</p>

<p>Make a kernel bootup option to default to legacy mode if somebody literally
has trouble booting and fixing their thing due to "init" or similar being one
of the problematic cases. Together with a printk() that says which executable
triggered, it should be trivial to clean up a system.</p>

</quote>

</section>

<section
  title="exec-shield Patch Updated For 2.6.7-rc2-bk2"
  subject="[patch] exec-shield patch for 2.6.7-rc2-bk2, integrated with NX"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=22La1-5Qt-23%40gated-at.bofh.it"
  posts="4"
  startdate="02 Jun 2004 13:04:21 -0800"
  enddate="04 Jun 2004 09:19:44 -0800"
>
<topic>Big Memory Support</topic>

<p>Ingo Molnar said:</p>

<quote who="Ingo Molnar">

<p>Here's the latest exec-shield patch for 2.6.7-rc2-bk2, integrated with
the 'NX' feature (see the announcement from earlier today):</p>

<p><a href="http://redhat.com/~mingo/exec-shield/exec-shield-on-nx-2.6.7-rc2-bk2-A7">http://redhat.com/~mingo/exec-shield/exec-shield-on-nx-2.6.7-rc2-bk2-A7</a></p>

<p>you first have to apply the NX patch, which can be found at:</p>

<p><a href="http://redhat.com/~mingo/nx-patches/nx-2.6.7-rc2-bk2-AE">http://redhat.com/~mingo/nx-patches/nx-2.6.7-rc2-bk2-AE</a></p>

<p>prebuild kernel RPMs for Fedora Core 2, with this latest version of
exec-shield, are available at:</p>

<p><a href="http://redhat.com/~arjanv/2.6/RPMS.kernel/">http://redhat.com/~arjanv/2.6/RPMS.kernel/</a></p>

<p>(kernel-2.6.6-1.411 has this latest, NX-aware exec-shield.)</p>

<p>if the CPU supports NX (and the kernel has been compiled with
CONFIG_HIGHMEM64G) then exec-shield will use NX to provide page-level
finegrained control over execution. On legacy CPUs that dont support NX
the segment-limit method is used to control execution (in a coarser
way). In the NX case the segment-limit is turned off altogether.</p>

<p>e.g. on an Athlon64 box the boot message looks:</p>

<p>  NX (Execute Disable) protection: active</p>

<p>on a CPU without NX the boot message is:</p>

<p>  NX (Execute Disable) protection: not present!<br />
  Using x86 segment limits to approximate NX protection</p>

<p>note: the NX patch will also protect against kernel-space code
injection.</p>

<p>all the other components of exec-shield are identical between NX and
non-NX: the brk area is non-executable, libraries and PIE binaries are
moved into the ascii-shield as much as possible, and all aspects of the
address space are randomized.</p>

</quote>

<p>Christoph Hellwig thought the patch was too big and included more stuff
than some folks would want. He asked, <quote who="Christoph Hellwig">Any
chance to split this up a bit?  Having the pure non-exec stack (and maybe
heap) would be really nice while the randomization feature are a litte bit
too much security by obscurity for my taste.</quote> Joe Korty disagreed,
<quote who="Joe Korty">It's no more security by obscurity than keeping your
key secret is security by obscurity.  (One can think of the randomization
as a white-noise key).</quote> Nevertheless, Ingo posted a new patch with
the randomization code removed. But he added, <quote who="Ingo Molnar">but
i still think randomization is useful as a last-resort barrier, against
worm-alike mass attacks. There's a huge difference between a 1-packet
infection and a 2-hour brute-force search over broadband, in terms of the
'economy' of worms.</quote></p>

</section>

<section
  title="Linux 2.4.27-pre5 Released"
  subject="Linux 2.4.27-pre5"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=22Q9z-1kp-5%40gated-at.bofh.it"
  posts="9"
  startdate="02 Jun 2004 18:24:33 -0800"
  enddate="06 Jun 2004 10:11:02 -0800"
>

<p>Marcelo Tosatti announced Linux 2.4.27-pre5, saying, <quote who="Marcelo
Tosatti">This time we have merges from Jeff's -netdrivers tree, David's
-net tree, including a fix for compilation error without CONFIG_SCTP set,
SPARC64 update, i810_audio fixes, amongst others.</quote></p>

</section>

<section
  title="Linux Test Project Updated"
  subject="[ANNOUNCE] JUne LTP release now available"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=238zs-7P0-5%40gated-at.bofh.it"
  posts="1"
  startdate="03 Jun 2004 13:59:41 -0800"
>

<p>Marty Ridgeway announced the Linux Test Project version 20040603,
saying:</p>

<quote who="Marty Ridgeway">

<p>LTP-20040603</p>

<p>

<ul>

<li>Minor corrections to the NUM_PROCS patch</li>

<li>Added the ability to pass NUM_PROCS to the -c option for runalltests.sh</li>

<li>Fix genload in runalltests.sh, it was trying to run it in all caps, but the binary is all lower case. Should actually run genload now.</li>

<li>Patch from Alastair McKinstry to allow LTP to build on Linux/HPPA</li>

<li>Changes for parameters passed to aio-sparse for correct offsets and restrictions on sizes.</li>

<li>Add new security tests to syscalls testsuite</li>

<li>In acl_file_test.c and acl_link_test.c syscalls regarding xattrs are still done via syscall, although libc functions are available. Furthermore I found out that on older distros for non-intel architectures both attr/xattr.h and constants like __NR_getxattr are not available, so in this case the these testcases are not built.</li>

<li>Updates for the DMPAI testsuite ppc64 support.</li>

<li>Fix failure on rwtest versions rwtest03 and rwtest04 due to mmap running out of resources.</li>

<li>Made changes to get thread ID vs get PID for NPTL threads for unique filenames where child/parent PIDs are the same.</li>

<li>Changes to diotest5 and diotest_routines to eliminate random/intermitant failures on data compare.</li>

<li>Fixed memory leak in mmstress testcase.</li>

<li>Changed clone02 to use tid instead of pid to eliminate failures on NPTL threads(same PIDs for parent/child)</li>

<li>Changed fcntl15 getpid to gettid (syscall(gettid)) to get unique thread ID vs common PID in NPTL threads.</li>

<li>Added adp testcases.</li>

</ul>

</p>

</quote>

</section>

<section
  title="Some Developer Disconnect Over ia64 Maintainership"
  subject="[PATCH] ia64 MAINTAINERS update"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=23vZ6-1t8-9%40gated-at.bofh.it"
  posts="2"
  startdate="04 Jun 2004 14:51:25 -0800"
  enddate="04 Jun 2004 15:43:01 -0800"
>
<topic>MAINTAINERS File</topic>
<topic>Version Control</topic>

<mention>Jesse Barnes</mention>

<p>Jesse Barnes noticed that the ia64 web site and mailing list, as listed
in the MAINTAINERS file, no longer worked. He posted a patch to point to
the linux-ia64@vger.kernel.org mailing list instead, and to remove the URL
altogether. Grant Grundler replied:</p>

<quote who="Grant Grundler">

<p>The correct URL still is:
        <a href="http://www.ia64-linux.org/">http://www.ia64-linux.org/</a></p>

<p>Please update the URL.</p>

<p>grundler &lt;512&gt;host www.ia64-linux.org<br />
www.ia64-linux.org has address 192.25.206.7</p>

<p>192.25.206.7 also hosted parisc-linux.org.
But recently all the parisc-linux services migrated to another box.
I'm not sure when/why the "old" box was disconnected or
if it just crashed.</p>

<p>In any case, despite being at gcc-summit conf, willy did find time to
migrate ia64-linux.org to the same host as parisc-linux.org.
IIRC, that was yesterday. The DNS just hasn't propagated yet
but ISTR willy said it would today at some point.</p>

<p>The entire ia64-linux web site is available via anon CVS.
See cvs.parisc-linux.org but use "ia64-web" instead as
the repository.</p>

<p>I've checked out a snapshot anyone can access for now on
        <a href="http://iou.parisc-linux.org/ia64-web/">http://iou.parisc-linux.org/ia64-web/</a></p>

</quote>

</section>

<section
  title="SMBIOS Driver Removed From 2.6 Kernel; Some Developers Want It Back In"
  subject="EFI-support for SMBIOS driver"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=23xHE-2GF-31%40gated-at.bofh.it"
  posts="6"
  startdate="04 Jun 2004 16:52:21 -0800"
  enddate="05 Jun 2004 16:07:59 -0800"
>
<topic>Version Control</topic>

<mention>Greg KH</mention>
<mention>Bartlomiej Zolnierkiewicz</mention>

<p>David Mosberger said:</p>

<quote who="David Mosberger">

<p>The patch below adds EFI support to the SMBIOS driver.  Since EFI already
knows the address of the SMBIOS, this avoids having to scan for the table.
It also enables use of the driver on ia64 machines.  The patch also adds
code to handle the case where the SMBIOS table resides in memory, which is
the case at least for HP's zx1-based ia64 machines.  If CONFIG_EFI is off,
the resulting code should be unchanged (except for replacing a readb()
loop into a memcpy_fromio()).</p>

<p>One observation: I believe find_table_max_address() is missing some readb()
calls (it's dereferencing ioremap'pped addresses directly).  I didn't try
to fix that since I wasn't sure why it wasn't done in the first place.</p>

</quote>

<p>Bartlomiej Zolnierkiewicz pointed out that according to <a
href="http://linus.bkbits.net:8080/linux-2.5/cset@40b6702axansvQIxOVjTSIp7_DVoHA">a
BitKeeper patch</a>, the SMBIOS driver was no longer in the tree. David
replied:</p>

<quote who="David Mosberger">

<p>Man, talk about going in circles!</p>

<p>If folks are serious about discouraging /dev/mem, then the SMBIOS driver
makes tons of sense.</p>

</quote>

<p>Close by, Greg KH pointed out that the driver was removed because everything
it did could be done from userspace. David said, <quote who="David Mosberger">I
know full well that it can be done in user-level --- via /dev/mem, which lots
of people dislike.  I certainly don't feel strongly about it, but the SMBIOS
driver made sense to me.</quote> At this point, Michael Brown offered:</p>

<quote who="Michael Brown">

<p>I was the original submitter. Somebody kindly pointed out to me (offline)
the error of my ways, and I was able to get my userspace lib to work just
fine using mmap() instead of read(). This takes care of two out of three of
the main reasons I orignally submitted this driver.</p>

<p>Since my library was the only user of this lib, and I no longer need it,
I asked several people if it would make sense to continue to support it or
to pull it. The consensus was not to "bloat" the kernel with extra stuff if
it can be done via /dev/mem.</p>

<p>If there are strong sentiments the other way, the code is still out there
if somebody else wants to take over. I looked at what it would take to add
EFI support for this, and it would be trivial. I just didn't want to become
yet another absentee-maintainer if I no longer need the code.</p>

</quote>

</section>

<section
  title="Improving Mousedev Button-Handling"
  subject="[PATCH 2.6] Mousedev - better button handling under load"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=23Eg8-7CJ-11%40gated-at.bofh.it"
  posts="6"
  startdate="04 Jun 2004 23:49:00 -0800"
  enddate="06 Jun 2004 09:16:01 -0800"
>

<mention>Vojtech Pavlik</mention>

<p>Dmitry Torokhov said:</p>

<quote who="Dmitry Torokhov">

<p>Currently mousedev combines all hardware motion data that arrivers since
last time userspace read data into one cooked PS/2 packet. The problem
is that under heavy or even moderate load, when userspace can't read data
quickly enough, we start loosing valuable data which manifests in:</p>

<p>

<ul>

<li>ignoring buton presses as by the time userspace gets to read the data
button has already been released;</li>

<li>click starts in wrong place - by the time userspace got aroungd and read
the packet mouse moved half way across the screen.</li>

</ul>

</p>

<p>The patch below corrects the issue - it will start accumulating new packet
every time userspace is behind and button set changes. Size of the buffer
is 16 packets, i.e. up to 8 pairs of press/release events which should be
more than enough.</p>

<p>The patch is against Vojtech's tree and shuld apply to -mm. I also have
cumulative mousedev patch done against 2.6.7-pre2 at:</p>

<p><a
href="http://www.geocities.com/dt_or/input/misc/mousedev-2.6.7-rc2-cumulative.patch.gz">http://www.geocities.com/dt_or/input/misc/mousedev-2.6.7-rc2-cumulative.patch.gz</a></p>

</quote>

<p>Vojtech Pavlik was happy to see this.</p>

</section>

<section
  title="uClinux Cross-Compiler Toolchain Updated"
  subject="[ANNOUNCE] GCC 3.4 ColdFire/ARM toolchain for uClinux (20040604)"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=23FYo-Ce-1%40gated-at.bofh.it"
  posts="1"
  startdate="05 Jun 2004 01:37:39 -0800"
>
<topic>Backward Compatibility</topic>
<topic>FS: ROMFS</topic>

<p>Bernardo Innocenti said:</p>

<quote who="Bernardo Innocenti">

<p>a new version of the uClinux cross-compiler toolchain
based on GCC 3.4 is available here:</p>

<p><a
href="http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/gcc-3/">http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/gcc-3/</a></p>

<p>This release adds preliminary ARM support and includes binaries for Linux
(both glibc23 and glibc22 distros) and Cygwin.</p>

<p>Many other things have been changed since the last public announcement:</p>

<p>Changes in release 20040605:</p>

<p>

<ul>

<li>Preliminary GCC 3.5 support.</li>

<li>Add some GCC 3.4 patches by Peter Barada.</li>

<li>Add support for GDB 6.1.</li>

<li>Update m68k-bdm to 1.3.0 and use GDB patches distributed with it.</li>

<li>Integrate preliminary ARM support. (Contributed by Steve Miller &lt;steve.miller@st.com&gt;).</li>

<li>Fix genromfs patch for CygWin. (Reported by Jens Heilig &lt;jens@familie-heilig.net&gt;).</li>

</ul>

</p>

<p>Changes in release 20040425:</p>

<p>

<ul>

<li>Update GCC 3.4 to the official 3.4.0 release.</li>

<li>Update m68k-bdm to 1.2.0.</li>

</ul>

</p>

<p>Changes in release 20040323:</p>

<p>

<ul>

<li>Update GCC 3.4 to the 20040317 snapshot.</li>

<li>Update binutils to 2.15.90.0.1.1, which already contains all the required uClinux patches.</li>

<li>Backport argument pointer corruption fix to GCC 3.3.3</li>

</ul>

</p>

<p>Changes in release 20040309:</p>

<p>

<ul>

<li>Drop Insight support (DDD is better anyway) and install GDB in $PREFIX.</li>

<li>Rename "interrupt" attribute to "interrupt_handler" in 3.3.x patches to match GCC 3.4.</li>

</ul>

</p>

<p>Changes in release 20040112:</p>

<p>

<ul>

<li>Update GCC 3.4 to 3.4-20040114.</li>

<li>Update uClibc to 0.9.26.</li>

<li>Update binutils to 2.14.90.0.8 (and drop some integrated patches).</li>

<li>Cleanup support for backwards compatibility links to m68k-elf- tools.</li>

<li>Correctly detect GCC version for interim releases.</li>

<li>Apply a couple of rogue patches to GCC 3.4.</li>

<li>Fix build with gcc-java, but don't expect it to work right now.</li>

</ul>

</p>

<p>Changes in release 20031230:</p>

<p>

<ul>

<li>Switch to m68k-uclinux for all components of the GCC 3.4 toolchain.</li>

<li>GCC's compiler driver now adds required linker flags when building executables with -mid-shared-libary.</li>

<li>Update uClibc to 0.9.24.</li>

<li>Update m68k-bdm to 20031207 and import latest GDB patches.</li>

<li>Update GCC 3.4 to 3.4-20031222.</li>

<li>Update GCC 3.3.x to 3.3-20031222.</li>

<li>Merge-in patches by Andrea Tarani for uClibc 0.9.23 and m68k-bdm.</li>

</ul>

</p>

</quote>

</section>

<section
  title="Supporting SCO Binaries Under Linux"
  subject="linux-abi dead?"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=24lEj-809-3%40gated-at.bofh.it"
  posts="5"
  startdate="06 Jun 2004 22:07:19 -0800"
  enddate="09 Jun 2004 05:07:51 -0800"
>
<topic>Executable File Format</topic>
<topic>IBCS</topic>
<topic>Version Control</topic>

<mention>Eric Youngdale</mention>

<p>Steve Bergman wanted to run an old SCO binary, and noticed that the
<a href="http://linux-abi.sf.net">linux-abi.sf.net</a> project seemed
dead. He asked if there were any other projects working on running foreign
binaries under Linux. Later he said, <quote who="Steve Bergman">It seems
that there is a patch, released just today (and just for me, I guess?) at: <a
href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=968070&amp;group_id=13130&amp;atid=313130">http://sourceforge.net/tracker/index.php?func=detail&amp;aid=968070&amp;group_id=13130&amp;atid=313130</a></quote>
Elsewhere, Mike Jagdis commented:</p>

<quote who="Mike Jagdis">

<p>iBCS ceased when I decided that "enough" vendors were targetting Linux as
a Tier-1 platform and what was left was legacy proprietry stuff that either
worked or would be painful to fix. iBCS then became linux-abi which ported
to newer kernels and added UnixWare support. I guess there just isn't enough
SYSV stuff left to keep any momentum behind linux-abi anymore either...</p>

<p>SCO stated a long time ago that they saw nothing in linux-abi to worry
them.</p>

<p>Which is kind of interesting because iBCS started life pretty much as a
way for Eric Youngdale to test his ELF loader code, which subsequently moved
into the main kernel.</p>

<p>(iBCS CVS is still available on <a
href="http://sf.net/projects/ibcs">http://sf.net/projects/ibcs</a> even if
nothing else is. It doesn't go back quite to the start - I think my initial
import was 1993...)</p>

</quote>

</section>

<section
  title="Linux 2.6.7-rc3 Released"
  subject="Linux 2.6.7-rc3"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=24y8z-1r0-11%40gated-at.bofh.it"
  posts="10"
  startdate="07 Jun 2004 11:32:45 -0800"
  enddate="08 Jun 2004 19:15:44 -0800"
>
<topic>Kernel Release Announcement</topic>

<p>Linus Torvalds announced Linux 2.6.7-rc2, saying:</p>

<quote who="Linus Torvalds">

<p>Ok, let's calm down for a while before the final 2.6.7.</p>

<p>-rc3 does a lot of sparse type cleanup, mainly thanks to Al Viro (but
his work ended up getting some other people involved too, since the list of
sparse warnings isn't as daunting any more). Some of that has unearthed real
bugs which Al fixed.</p>

<p>But there are DRM, AGP, cpufreq, sparc64, and input updates there too.</p>

</quote>

</section>

<section
  title="udev 026 Released"
  subject="[ANNOUNCE] udev 026 release"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=24Bzs-4fm-23%40gated-at.bofh.it"
  posts="3"
  startdate="07 Jun 2004 15:14:41 -0800"
  enddate="08 Jun 2004 08:09:07 -0800"
>
<topic>FS: devfs</topic>
<topic>FS: sysfs</topic>
<topic>Hot-Plugging</topic>
<topic>Version Control</topic>

<p>Greg KH announced:</p>

<quote who="Greg KH">

<p>I've released the 026 version of udev.  It can be found at:</p>

<p>        <a
href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-026.tar.gz">kernel.org/pub/linux/utils/kernel/hotplug/udev-026.tar.gz</a></p>

<p>(yes, there was a 025 release, I just forgot to announce it, full
 changelog is below)</p>

udev allows users to have a dynamic /dev and provides the ability to
have persistent device names.  It uses sysfs and /sbin/hotplug and runs
entirely in userspace.  It requires a 2.6 kernel with CONFIG_HOTPLUG
enabled to run.  Please see the udev FAQ for any questions about it:

<p>        <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ">kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ</a></p>

<p>For any udev vs devfs questions anyone might have, please see:</p>

<p><a href="kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs">kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs</a></p>

<p>Major changes since 024:</p>

<p>

<ul>

<li>lots of minor bugfixes</li>

<li>added udev_volume_id from Kay Sievers which is an excellent way to read
block volume ids to create udev rules.</li>

<li>deleted the dbus and selinux programs as they were not the way to integrate
udev with those packages.  DBUS integration with udev is now handled by the
HAL project using the /etc/dev.d/ notifiers.</li>

<li>update documentation.  Thanks to Daniel Drake for this.</li>

</ul>

</p>

<p>Thanks to everyone who has send me patches for this release, a full list
of everyone, and their changes is below.</p>

<p>udev development is done in a BitKeeper repository located at:<br />
        bk://linuxusb.bkbits.net/udev</p>

<p>Daily snapshots of udev from the BitKeeper tree can be found at:<br />
        <a href="http://www.codemonkey.org.uk/projects/bitkeeper/udev/">http://www.codemonkey.org.uk/projects/bitkeeper/udev/</a><br />
If anyone ever wants a tarball of the current bk tree, just email me.</p>

</quote>

</section>

<section
  title="bridge-utils Version 1.0.4 Released"
  subject="[ANNOUNCE] bridge-utils-1.0.4"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=24TwC-1Fi-11%40gated-at.bofh.it"
  posts="1"
  startdate="08 Jun 2004 10:24:30 -0800"
>
<topic>FS: sysfs</topic>

<p>Stephen Hemminger said:</p>

<quote who="Stephen Hemminger">

<p>Released a new version of bridge utilities that supports both new 2.6.7
interface and older 2.6/2.4 releases.  The only changes since 1.0 were
internal to fix compatibility issues.</p>

<p>The tarball can be downloaded from:</p>

<p>        <a href="http://prdownloads.sourceforge.net/bridge">http://prdownloads.sourceforge.net/bridge</a></p>

<p>Getting full functionality requires a build system with:</p>

<p>

<ul>

<li>libsysfs from the sysfsutils package<br />
          <a href="http://linux-diag.sourceforge.net/Sysfsutils.html">http://linux-diag.sourceforge.net/Sysfsutils.html</a></li>
<li>kernel (and headers) from 2.6.7-rc1 or later</li>

</ul>

</p>

<p>Note: libsysfs has not been fully integrated by the main linux vendors.
So producing a full functional package is not possible with the default spec
file.</p>

<p>The utilities will build (and run) on earlier systems it will just default to
the old interface and which doesn't have 32/64 bit compatibility.</p>

</quote>

</section>

<section
  title="linux-libc-headers Version 2.6.6.0 Released"
  subject="[ANNOUNCE] linux-libc-headers 2.6.6.0"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=25cyZ-10x-13%40gated-at.bofh.it"
  posts="1"
  startdate="09 Jun 2004 06:37:55 -0800"
>

<p>Mariusz Mazur announce linux-libc-headers Version 2.6.6.0, saying:</p>

<quote who="Mariusz Mazur">

<p>Available at <a
href="http://ep09.pld-linux.org/~mmazur/linux-libc-headers/">http://ep09.pld-linux.org/~mmazur/linux-libc-headers/</a></p>

<p>Changes:</p>

<p>

<ul>

<li>updated to 2.6.6 kernel</li>

<li>readded allmost all of the sound/* headers; some of those contain driver
specific definitions that might be used in userland apps to control various
hardware features</li>

<li>added scsi headers - more on that below</li>

<li>fixed macros in byteorder/swab.h - now hdparm on big endian machines
really builds</li>

<li>other fixes (eg. frottle should build)</li>

<li>I've made linux/audit.h parse out of the box; if I understand correctly
this is supposed to be a "kernel talks to userland" thing</li>

</ul>

</p>

<p>First of all sorry for the long delay - this version should be here
three weeks ago, but I've been kind of busy. This shouldn't happen anymore
and new version should be released no more than a week after the kernel.
(yes, I know 2.6.7 will probably be here in a week or so :)</p>

<p>As for the addition of sanitized scsi headers - I've had some requests
for it.  Up until now I've encountered only one app that wanted something
more than glibc had to offer and am not entirely sure if using these headers
instead of glibc's won't break more things than it fixes. Test it if you
like and do send a bugreport if you find that it breaks something.</p>

</quote>

</section>

<section
  title="Linus Moving To Portland, Oregon"
  subject="Linus is moving to Portland, OR"
  archive="http://www.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;selm=25gO8-5Az-601%40gated-at.bofh.it"
  posts="2"
  startdate="09 Jun 2004 11:14:11 -0800"
  enddate="09 Jun 2004 12:26:03 -0800"
>

<p>Samantha Bee said, <quote who="Samantha Bee">It's not mentioned
anywhere in google news yet, but this morning's Willamette Week claims that
Linus has bought a house in Portland and enrolled his kids in school here. <a
href="http://www.wweek.com/story.php?story=5172">http://www.wweek.com/story.php?story=5172</a></quote>
Andrew Walrond quipped, <quote who="Andrew Walrond">At least it's not Redmond
;)</quote></p>

</section>

</kc>

