<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="332" date="17 Oct 2005 00:00:00 -0800" />

<headquote>

<p>In general, if you act like I've got all the attention span of a slightly
retarded golden retriever, you'll be pretty close to the mark.</p>

<p>--Linus Torvalds</p>

</headquote>

<mailbox-stats>
	<global-stats>
		<generated-at>Sun Oct 16 21:50:13 2005</generated-at>
		<first-message>Mon Sep 26 10:02:10 2005</first-message>
		<last-message>Thu Oct 13 11:51:03 2005</last-message>
		<totals>
			<n-messages>1437</n-messages>
			<n-is-reply>1110</n-is-reply>
			<avg-resp-time>17:13:47</avg-resp-time>
			<n-pgp-signed>53</n-pgp-signed>
			<total-size>9MB</total-size>
			<avg-size>7KB</avg-size>
			<n-attachments>56</n-attachments>
			<att-size>644KB</att-size>
			<bussiest-day-in-n day="2005-10-07"><n-msgs>231</n-msgs><n-bytes>2MB</n-bytes></bussiest-day-in-n>
			<bussiest-day-in-bytes day="2005-10-10"><n-msgs>209</n-msgs><n-bytes>2MB</n-bytes></bussiest-day-in-bytes>
			<n-writers>536</n-writers>
			<wrote-more-then-1-message>201</wrote-more-then-1-message>
			<n-lines>169824</n-lines>
			<header-size>78321</header-size>
			<n-user-agents>69</n-user-agents>
			<n-organisations>42</n-organisations>
			<n-toplevel-domains>32</n-toplevel-domains>
			<avg-spam-score>-14.757133</avg-spam-score>
				<spammiest-writer><score>1.699000</score><name>linda&#32;tril</name></spammiest-writer>
		</totals>
		<averages>
			<lines-per-message>118</lines-per-message>
			<lines-per-header>54</lines-per-header>
			<header-percent-of-message>46.12%</header-percent-of-message>
			<header-percent-of-total>42.10%</header-percent-of-total>
			<line-length>28</line-length>
		</averages>
		<importance>
			<low>0.00%</low>
			<normal>0.77%</normal>
			<high>0.00%</high>
		</importance>

	</global-stats>
	<top-writers>
		<top-writer rank="1">
			<e-mail-addr>luke&#32;kenneth&#32;casson&#32;leighton</e-mail-addr>
			<n-messages>63</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>272KB</total-size>
			<mostly-written-at>12:48</mostly-written-at>
		</top-writer>
		<top-writer rank="2">
			<e-mail-addr>ingo&#32;molnar</e-mail-addr>
			<n-messages>45</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>184KB</total-size>
			<mostly-written-at>12:50</mostly-written-at>
		</top-writer>
		<top-writer rank="3">
			<e-mail-addr>steven&#32;rostedt</e-mail-addr>
			<n-messages>41</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>166KB</total-size>
			<mostly-written-at>07:53</mostly-written-at>
		</top-writer>
		<top-writer rank="4">
			<e-mail-addr>mark&#32;knecht</e-mail-addr>
			<n-messages>33</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>189KB</total-size>
			<mostly-written-at>14:28</mostly-written-at>
		</top-writer>
		<top-writer rank="5">
			<e-mail-addr>al&#32;viro</e-mail-addr>
			<n-messages>33</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>154KB</total-size>
			<mostly-written-at>12:08</mostly-written-at>
		</top-writer>
	</top-writers>
	<top-subjects>
		<top-subject rank="1">
			<subject>what's&#32;next&#32;for&#32;the&#32;linux&#32;kernel?</subject>
			<n-messages>234</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>1020KB</total-size>
			<mostly-written-at>14:06</mostly-written-at>
			<first-msg>1128299872</first-msg>
			<last-msg>1128846429</last-msg>
		</top-subject>
		<top-subject rank="2">
			<subject>2.6.14-rc3-rt2</subject>
			<n-messages>75</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>355KB</total-size>
			<mostly-written-at>12:22</mostly-written-at>
			<first-msg>1128441097</first-msg>
			<last-msg>1129053711</last-msg>
		</top-subject>
		<top-subject rank="3">
			<subject>[rfc]&#32;atomic&#32;create+open</subject>
			<n-messages>39</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>173KB</total-size>
			<mostly-written-at>16:00</mostly-written-at>
			<first-msg>1128631264</first-msg>
			<last-msg>1129182810</last-msg>
		</top-subject>
		<top-subject rank="4">
			<subject>latency&#32;data&#32;-&#32;2.6.14-rc3-rt13</subject>
			<n-messages>26</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>123KB</total-size>
			<mostly-written-at>13:40</mostly-written-at>
			<first-msg>1128979018</first-msg>
			<last-msg>1129151020</last-msg>
		</top-subject>
		<top-subject rank="5">
			<subject>[keyrings]&#32;[patch]&#32;keys:&#32;add&#32;lsm&#32;hooks&#32;for&#32;key&#32;management</subject>
			<n-messages>26</n-messages>
			<avg-size>7KB</avg-size>
			<total-size>159KB</total-size>
			<mostly-written-at>11:45</mostly-written-at>
			<first-msg>1128545047</first-msg>
			<last-msg>1128717401</last-msg>
		</top-subject>
	</top-subjects>
	<top-receivers>
		<top-receiver rank="1">
			<e-mail-addr>linux-kernel@vger.kernel.org</e-mail-addr>
			<n-messages>272</n-messages>
			<avg-size>11KB</avg-size>
			<total-size>3MB</total-size>
			<mostly-written-at>14:00</mostly-written-at>
		</top-receiver>
		<top-receiver rank="2">
			<e-mail-addr>akpm@osdl.org</e-mail-addr>
			<n-messages>70</n-messages>
			<avg-size>10KB</avg-size>
			<total-size>660KB</total-size>
			<mostly-written-at>16:22</mostly-written-at>
		</top-receiver>
		<top-receiver rank="3">
			<e-mail-addr>luke&#32;kenneth&#32;casson&#32;leighton</e-mail-addr>
			<n-messages>67</n-messages>
			<avg-size>5KB</avg-size>
			<total-size>290KB</total-size>
			<mostly-written-at>15:00</mostly-written-at>
		</top-receiver>
		<top-receiver rank="4">
			<e-mail-addr>ingo&#32;molnar</e-mail-addr>
			<n-messages>49</n-messages>
			<avg-size>11KB</avg-size>
			<total-size>517KB</total-size>
			<mostly-written-at>12:14</mostly-written-at>
		</top-receiver>
		<top-receiver rank="5">
			<e-mail-addr>torvalds@osdl.org</e-mail-addr>
			<n-messages>48</n-messages>
			<avg-size>9KB</avg-size>
			<total-size>405KB</total-size>
			<mostly-written-at>13:31</mostly-written-at>
		</top-receiver>
	</top-receivers>
	<top-ccers>
		<top-ccers rank="1">
			<e-mail-addr>linux-kernel@vger.kernel.org</e-mail-addr>
			<n-messages>684</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>4MB</total-size>
			<mostly-written-at>13:57</mostly-written-at>
		</top-ccers>
		<top-ccers rank="2">
			<e-mail-addr>andrew&#32;morton</e-mail-addr>
			<n-messages>114</n-messages>
			<avg-size>13KB</avg-size>
			<total-size>2MB</total-size>
			<mostly-written-at>13:33</mostly-written-at>
		</top-ccers>
		<top-ccers rank="3">
			<e-mail-addr>ingo&#32;molnar</e-mail-addr>
			<n-messages>73</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>390KB</total-size>
			<mostly-written-at>13:20</mostly-written-at>
		</top-ccers>
		<top-ccers rank="4">
			<e-mail-addr>linux-fsdevel@vger.kernel.org</e-mail-addr>
			<n-messages>48</n-messages>
			<avg-size>18KB</avg-size>
			<total-size>859KB</total-size>
			<mostly-written-at>14:29</mostly-written-at>
		</top-ccers>
		<top-ccers rank="5">
			<e-mail-addr>linus&#32;torvalds</e-mail-addr>
			<n-messages>47</n-messages>
			<avg-size>6KB</avg-size>
			<total-size>241KB</total-size>
			<mostly-written-at>13:26</mostly-written-at>
		</top-ccers>
	</top-ccers>
	<top-level-domains>
		<tld rank="1">
			<name>com</name>
			<freq>525</freq>
			<avg-size>8KB</avg-size>
			<total-size>4MB</total-size>
		</tld>
		<tld rank="2">
			<name>org</name>
			<freq>237</freq>
			<avg-size>5KB</avg-size>
			<total-size>2MB</total-size>
		</tld>
		<tld rank="3">
			<name>net</name>
			<freq>156</freq>
			<avg-size>6KB</avg-size>
			<total-size>810KB</total-size>
		</tld>
		<tld rank="4">
			<name>de</name>
			<freq>106</freq>
			<avg-size>5KB</avg-size>
			<total-size>467KB</total-size>
		</tld>
		<tld rank="5">
			<name>uk</name>
			<freq>78</freq>
			<avg-size>6KB</avg-size>
			<total-size>432KB</total-size>
		</tld>
	</top-level-domains>
	<top-timezones>
		<tz rank="1">
			<name>+0200</name>
			<freq>373</freq>
			<avg-size>6KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
		<tz rank="2">
			<name>-0700</name>
			<freq>263</freq>
			<avg-size>7KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
		<tz rank="3">
			<name>-0400</name>
			<freq>252</freq>
			<avg-size>6KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
		<tz rank="4">
			<name>+0100</name>
			<freq>212</freq>
			<avg-size>6KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
		<tz rank="5">
			<name>-0500</name>
			<freq>68</freq>
			<avg-size>16KB</avg-size>
			<total-size>2MB</total-size>
		</tz>
	</top-timezones>
	<top-organisations>
		<org rank="1">
			<name>linutronix</name>
			<freq>11</freq>
			<bytes>46KB</bytes>
		</org>
		<org rank="2">
			<name>red&#32;hat,&#32;inc.</name>
			<freq>9</freq>
			<bytes>190KB</bytes>
		</org>
		<org rank="3">
			<name>ypo4</name>
			<freq>7</freq>
			<bytes>91KB</bytes>
		</org>
		<org rank="4">
			<name>firmix&#32;software&#32;gmbh</name>
			<freq>5</freq>
			<bytes>19KB</bytes>
		</org>
		<org rank="5">
			<name>none,&#32;usuallly&#32;detectable&#32;by&#32;casual&#32;observers</name>
			<freq>4</freq>
			<bytes>15KB</bytes>
		</org>
	</top-organisations>
	<top-user-agents>
		<useragent rank="1">
			<name>mozilla</name>
			<freq>43</freq>
			<bytes>673KB</bytes>
		</useragent>
		<useragent rank="2">
			<name>evolution</name>
			<freq>33</freq>
			<bytes>920KB</bytes>
		</useragent>
		<useragent rank="3">
			<name>mutt/1.5.9i</name>
			<freq>24</freq>
			<bytes>276KB</bytes>
		</useragent>
		<useragent rank="4">
			<name>mozilla/5.0</name>
			<freq>18</freq>
			<bytes>400KB</bytes>
		</useragent>
		<useragent rank="5">
			<name>mutt/1.4.1i</name>
			<freq>14</freq>
			<bytes>2MB</bytes>
		</useragent>
	</top-user-agents>
	<messages-per-day>
		<Sunday><msgs>166</msgs><bytes>2MB</bytes></Sunday>
		<Monday><msgs>261</msgs><bytes>3MB</bytes></Monday>
		<Tuesday><msgs>241</msgs><bytes>2MB</bytes></Tuesday>
		<Wednesday><msgs>248</msgs><bytes>2MB</bytes></Wednesday>
		<Thursday><msgs>167</msgs><bytes>826KB</bytes></Thursday>
		<Friday><msgs>243</msgs><bytes>2MB</bytes></Friday>
		<Saturday><msgs>102</msgs><bytes>537KB</bytes></Saturday>
	</messages-per-day>
	<messages-per-month>
		<Jan><msgs>0</msgs><bytes>0</bytes></Jan>
		<Feb><msgs>0</msgs><bytes>0</bytes></Feb>
		<Mar><msgs>0</msgs><bytes>0</bytes></Mar>
		<Apr><msgs>0</msgs><bytes>0</bytes></Apr>
		<May><msgs>0</msgs><bytes>0</bytes></May>
		<Jun><msgs>0</msgs><bytes>0</bytes></Jun>
		<Jul><msgs>0</msgs><bytes>0</bytes></Jul>
		<Aug><msgs>0</msgs><bytes>0</bytes></Aug>
		<Sep><msgs>41</msgs><bytes>320KB</bytes></Sep>
		<Oct><msgs>1387</msgs><bytes>9MB</bytes></Oct>
		<Nov><msgs>0</msgs><bytes>0</bytes></Nov>
		<Dec><msgs>0</msgs><bytes>0</bytes></Dec>
	</messages-per-month>
	<messages-per-day-of-month>
		<day-1><msgs>3</msgs><bytes>18KB</bytes></day-1>
		<day-2><msgs>42</msgs><bytes>200KB</bytes></day-2>
		<day-3><msgs>51</msgs><bytes>222KB</bytes></day-3>
		<day-4><msgs>58</msgs><bytes>301KB</bytes></day-4>
		<day-5><msgs>133</msgs><bytes>644KB</bytes></day-5>
		<day-6><msgs>153</msgs><bytes>741KB</bytes></day-6>
		<day-7><msgs>231</msgs><bytes>2MB</bytes></day-7>
		<day-8><msgs>99</msgs><bytes>520KB</bytes></day-8>
		<day-9><msgs>124</msgs><bytes>853KB</bytes></day-9>
		<day-10><msgs>209</msgs><bytes>2MB</bytes></day-10>
		<day-11><msgs>176</msgs><bytes>2MB</bytes></day-11>
		<day-12><msgs>106</msgs><bytes>591KB</bytes></day-12>
		<day-13><msgs>2</msgs><bytes>9KB</bytes></day-13>
		<day-14><msgs>0</msgs><bytes>0</bytes></day-14>
		<day-15><msgs>0</msgs><bytes>0</bytes></day-15>
		<day-16><msgs>0</msgs><bytes>0</bytes></day-16>
		<day-17><msgs>0</msgs><bytes>0</bytes></day-17>
		<day-18><msgs>0</msgs><bytes>0</bytes></day-18>
		<day-19><msgs>0</msgs><bytes>0</bytes></day-19>
		<day-20><msgs>0</msgs><bytes>0</bytes></day-20>
		<day-21><msgs>0</msgs><bytes>0</bytes></day-21>
		<day-22><msgs>0</msgs><bytes>0</bytes></day-22>
		<day-23><msgs>0</msgs><bytes>0</bytes></day-23>
		<day-24><msgs>0</msgs><bytes>0</bytes></day-24>
		<day-25><msgs>0</msgs><bytes>0</bytes></day-25>
		<day-26><msgs>1</msgs><bytes>5KB</bytes></day-26>
		<day-27><msgs>7</msgs><bytes>151KB</bytes></day-27>
		<day-28><msgs>9</msgs><bytes>40KB</bytes></day-28>
		<day-29><msgs>12</msgs><bytes>78KB</bytes></day-29>
		<day-30><msgs>12</msgs><bytes>48KB</bytes></day-30>
		<day-31><msgs>0</msgs><bytes>0</bytes></day-31>
	</messages-per-day-of-month>
	<messages-per-hour>
		<hour-1><msgs>33</msgs><bytes>148KB</bytes></hour-1>
		<hour-2><msgs>26</msgs><bytes>110KB</bytes></hour-2>
		<hour-3><msgs>6</msgs><bytes>24KB</bytes></hour-3>
		<hour-4><msgs>15</msgs><bytes>62KB</bytes></hour-4>
		<hour-5><msgs>10</msgs><bytes>42KB</bytes></hour-5>
		<hour-6><msgs>17</msgs><bytes>113KB</bytes></hour-6>
		<hour-7><msgs>19</msgs><bytes>82KB</bytes></hour-7>
		<hour-8><msgs>27</msgs><bytes>111KB</bytes></hour-8>
		<hour-9><msgs>75</msgs><bytes>433KB</bytes></hour-9>
		<hour-10><msgs>105</msgs><bytes>621KB</bytes></hour-10>
		<hour-11><msgs>102</msgs><bytes>514KB</bytes></hour-11>
		<hour-12><msgs>102</msgs><bytes>2MB</bytes></hour-12>
		<hour-13><msgs>97</msgs><bytes>422KB</bytes></hour-13>
		<hour-14><msgs>85</msgs><bytes>422KB</bytes></hour-14>
		<hour-15><msgs>69</msgs><bytes>325KB</bytes></hour-15>
		<hour-16><msgs>117</msgs><bytes>767KB</bytes></hour-16>
		<hour-17><msgs>85</msgs><bytes>460KB</bytes></hour-17>
		<hour-18><msgs>62</msgs><bytes>460KB</bytes></hour-18>
		<hour-19><msgs>74</msgs><bytes>527KB</bytes></hour-19>
		<hour-20><msgs>61</msgs><bytes>480KB</bytes></hour-20>
		<hour-21><msgs>83</msgs><bytes>559KB</bytes></hour-21>
		<hour-22><msgs>56</msgs><bytes>313KB</bytes></hour-22>
		<hour-23><msgs>46</msgs><bytes>290KB</bytes></hour-23>
	</messages-per-hour>
	<urls>
		<url-1><freq>1152</freq><url>http://vger.kernel.org/majordomo-info.html</url></url-1>
		<url-2><freq>1151</freq><url>http://www.tux.org/lkml/</url></url-2>
		<url-3><freq>15</freq><url>http://redhat.com/~mingo/realtime-preempt/</url></url-3>
		<url-4><freq>6</freq><url>http://mail.yahoo.com</url></url-4>
		<url-5><freq>6</freq><url>http://r300.sourceforge.net/</url></url-5>
	</urls>
	<top-avg-resp>
		<resp-pers rank="1">
			<name>greg&#32;kh</name>
			<avg-resp-time>00:00:53</avg-resp-time>
			<n-replies>7</n-replies>
		</resp-pers>
		<resp-pers rank="2">
			<name>ananth&#32;n&#32;mavinakayanahalli</name>
			<avg-resp-time>00:01:17</avg-resp-time>
			<n-replies>7</n-replies>
		</resp-pers>
		<resp-pers rank="3">
			<name>david&#32;mosberger-tang</name>
			<avg-resp-time>00:04:21</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="4">
			<name>benoit&#32;boissinot</name>
			<avg-resp-time>00:08:26</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
		<resp-pers rank="5">
			<name>arjan&#32;van&#32;de&#32;ven</name>
			<avg-resp-time>00:13:43</avg-resp-time>
			<n-replies>2</n-replies>
		</resp-pers>
		<resp-pers rank="6">
			<name>simon&#32;richter</name>
			<avg-resp-time>00:15:22</avg-resp-time>
			<n-replies>1</n-replies>
		</resp-pers>
	</top-avg-resp>
	<created-with><name>mboxstats</name><version>2.8</version><developer>folkert@vanheusden.com</developer><url>http://www.vanheusden.com/mboxstats/</url></created-with>
</mailbox-stats>

<section
  title="Security Module Hooks For Key Management"
  subject="[PATCH] Keys: Add LSM hooks for key management"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/da3dec4d441c116c"
  posts="28"
  startdate="05 Oct 2005 12:44:07 -0800"
  enddate="07 Oct 2005 12:36:41 -0800"
>

<p>David Howells said:</p>

<quote who="David Howells">

<p>The attached patch adds LSM hooks for key management facilities. The
notable changes are:</p>

<ol>

<li>The key struct now supports a security pointer for the use of security
modules. This will permit key labelling and restrictions on which programs
may access a key.</li>

<li>Security modules get a chance to abort the allocation of a key.</li>

<li>Two new keyctl functions have been added to associate security data
with a key and to retrieve it. They talk directly to the security modules
and have no other function.</li>

<li>The key permission checking can now be overridden by or enhanced by the
security modules. It has also been moved out of the key-ui.h header file
into permission.c file since it's quite large and it's used a lot.</li>

<li>Security modules may review the data with which a key will be instantiated
or updated.</li>

</ol>

<p>Note that there isn't an LSM hook specifically for each keyctl() operation,
but rather the permissions hook allows control of individual operations
based on the permission request bits.</p>

<p>Key management access control through LSM is enabled by
CONFIG_SECURITY_KEYS.</p>

</quote>

<p>James Morris liked the patch so much, he asked why bother making it
configurable. David had no objection, and said he'd just made it configurable
because other stuff was. He was willing to take that part out.</p>

<p>Elsewhere, James said:</p>

<quote who="James Morris">

<p>I think this looks ok from an SELinux point of view if keys are treated
as opaque objects, i.e. like files.</p>

<p>We could do something like create a new object class (kernkey or something)
and implement SELinux permissions for the class such as read, write, search,
link, setattr and getattr. Your KEY_VIEW perm could be translated to
SELinux getattr.</p>

<p>More thought needs to go into whether we need to implement an SELinux
create permission (and add hooks into the code), for control over whether
a process can create an anonymous keyring.</p>

<p>I'm not sure if we need user-level labeling of keys via the set &amp;
get security ops, although LSPP may require some form of get_security. If
we don't need to manually set security attributes but still view them,
they could be displayed via /proc/keys rather than implementing a separate
multiplexed syscall.</p>

<p>It seems that there are no LSM checks for the following:</p>

<blockquote>

<p>  keyctl_chown_key()<br />
  keyctl_setperm_key()<br />
  keyctl_set_reqkey_keyring()</p>

<p>  keyctl_join_session_keyring()  [only if we add a 'create' perm]</p>

</blockquote>

<p>All users of key_permission() need to propagate the error code from the
LSM back to the user.</p>

</quote>

</section>

<section
  title="An Attempt To Clean Up The Boot Code"
  subject="[PATCH 1/3] Gujin linux.kgz boot format"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/b78e57a8a99f3e65"
  posts="13"
  startdate="06 Oct 2005 10:46:23 -0800"
  enddate="11 Oct 2005 16:56:30 -0800"
>
<topic>Assembly</topic>
<topic>Backward Compatibility</topic>
<topic>Disks: IDE</topic>
<topic>Executable File Format</topic>
<topic>PCI</topic>
<topic>USB</topic>
<topic>Virtual Memory</topic>

<p>Etienne Lorrain said:</p>

<quote who="Etienne Lorrain">

<p>This is following that set of patch: <a
href="http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=112557274910448&amp;w=4">http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=112557274910448&amp;w=4</a>
to get a simpler structure of the vmlinux boot file, named like:
/boot/linux-2.6.14.kgz</p>

<p>This linux-*.kgz format is the "native" format of the Gujin bootloader
which can be found here: <a href="http://gujin.org">http://gujin.org</a></p>

<p>The main change of this set of patch is the rewrite of nearly all the
ia16/ia32 assembler of Linux into a C file named "realmode.c", and its include
"realmode.h". The mapping of the 4 Kbytes memory page exchanged in between
real mode and protected mode is exactly the same, but is described in a C
structure - a lot cleaner.</p>

<p>Another big change is that the GZIP compressed file produced during Linux
compilation now contains a comment describing some important information:
which processor this kernel has been compiled for (so no invalid instruction
crash when running a Athlon compiled kernel on a Pentium - but a nice error
message from the bootloader), which video mode the kernel support (VGA text
or VESA, and which VESA)...</p>

<p>If you apply this set of patch, you still can use the old method to boot
a kernel with LILO, Loadlin, Grub or SYSLINUX, and this patch will not
modify any assembler instruction executed on this boot path when you use
"make bzImage" or the like.</p>

<p>To produce the new format you just have to apply at least the first two
patch and type "make /boot/linux-gujin.kgz ROOT=auto", or apply the 3rd patch
to get root autodetection (based on the partition/directory of the linux*.kgz
file loaded) and type "make /boot/linux-gujin.kgz". (also see "make help")</p>

<p>This set has few changes: applies on all distributions (end-of-line
at end-of-file problem on Fedora3), updated to apply on 2.6.13-rc3 - or
2.6.13.rc2-mm2 with few offsets, compiles also without warnings on GCC-2.95.3
and GCC-4.0.*, links without problem (no more memcpy()/memset() called).</p>

<p>It perfectly works for me, and even after reading those tens of times I
no more find anything to change or improve.</p>

<p>Can someone propose a way forward, either in the direction of
linux-2.6.14/15 or in the -mm tree, and/or propose improvement or point me
to my bug(s) ?</p>

<p>Attached first patch just add two standalone executable, one to manage
GZIP comments, the other to display a text line of the parameters used to
compile the kernel.</p>

</quote>

<p>Pavel Machek did not see the win, and pointed out that <quote who="Pavel
Machek">Having to maintain both C and assembly version does not seem like
improvement to me.</quote> Etienne replied:</p>

<quote who="Etienne Lorrain">

<p>The problem is that you call the assembly version "maintained". When I
started hacking that part, in 1998, I tried to rewrite it cleanly and fix
obvious bugs - but assembler is not the right tool for this job and touching
those assembler files would break some configuration - even if some other
configuration would work better.</p>

<p>I am not alone to not want to touch those assembler files: If you have
a look at Linux/arch/x86_64/boot/video.S you will see that on an X86_64
architecture, people are doing I/O port and PCI peek/poke all over the place
to detect video cards which have only been available on ISA bus, two bus
generation ago! I seriously doubt you can even imagine an AMD 64 bits with
an ISA trident 8900 video card inside, even for fun: you cannot plug it in.</p>

<p>The problem of assembler is that when it has been put in, you cannot
remove anything because at the time you want to remove old stuff, you no
more understand the implications. You can not, like in C, stop calling a
function and hope everything will be right. With my code, when you will want
to get rid of the APM stuff, you just remove the function call vmlinuz_APM()
and recompile.</p>

<p>I am, with this set of patch, proposing a new way to boot. This way enable
you to boot unlimited size kernel ("make allyesconfig" produces a bootable
linux.kgz kernel) and the BIOS information collection is done in C while in
real mode. This real mode function can be a lot bigger than it is currently,
so that you can temporarily call some printf() equivalent while collecting data
- instead of trying to get a clue of what has happen *after* the crash.</p>

<p>There is no extended time spent in protected mode (unlike Grub) before
collecting BIOS information, so that the BIOS environment has not been broken
(for instance older BIOS APM power saving system would be active at startup
on some PC, setting timer interrupt to slowly reduce power consumption in
real mode. Grub switching to protected mode stop serving those interrupts,
and may not work on this PC, or the BIOS information may be invalid).</p>

</quote>

<p>Pavel saw <i>some</i> merit in Etienne's plan, and asked, <quote
who="Pavel Machek">Will your C version work with lilo and grub?</quote>
Etienne replied:</p>

<quote who="Etienne Lorrain">

<p>Tricky question. In short no, it cannot.</p>

<p>It is in fact theoretically possible to boot the same way for LILO,
Grub and SYSLINUX to still work, and then call this linux_set_params()
function but involves a lot of assembler programming and linker setup.
I have done this exact work once with Gujin, but then I was in full control
of the bootloader, in a setup which was already in C, has the stack setup,
where I can free the first 4 Kbytes of data (located at address 0) for use
by this kernel function. It was far to be simple.</p>

<p>One of the problem I can see is that you currently have two link being done
by the linker, one in real mode and one in protected mode. You cannot have
cross references in between those two links, and for instance with Gujin,
you are filling the content of the LnxParam pointer, which is transparently
copied at its right position before jumping to the Linux kernel code. You
will need a seriously more complex linker file to forbid cross references,
and duplicate Gujin treatment about memory setup (in this case that may
involve HIMEM/EMM primitive calling if starting under DOS).</p>

<p>Note that if this kernel function returns an error, Gujin will display
an error message and you can select another kernel to boot, but you cannot
return to LILO or Grub with an error...</p>

<p>Modifying the bootloader may be possible, but lately I had another look at
LILO source and I do not want to touch it. If you run Grub, you loose the
"BIOS information gathering before switching to protected mode" advantage,
BIOS environment may still be broken. SYSLINUX is probably at lot more
accessible, and Gujin still do not support network booting (It can be added,
but my TODO list is long), but you will want to call a function which is
curently at the end of a still compressed image.</p>

<p>Sorry I cannot be compatible with them, please note that Gujin is also
GPL.</p>

</quote>

<p>Pavel replied, <quote who="Pavel Machek">I do not see a point, then. We
have bad assembly bootup code. Adding good C bootup code, that is incompatible
with lilo/grub does nothing to clean the mess up.</quote> Kalin Kozhuharov
agreed that this would be a hard sell, and Etienne replied:</p>

<quote who="Etienne Lorrain">

<p>It is even worse than that, I not only said to change the bootloader but
also to remove one of the two links produced during a standard "make bzImage",
the one which handle the real mode ia32 code, in Linux/arch/i386/boot/*.</p>

<p>Sometimes, to simplify, you need to remove things. As I said, a Linux
kernel "linux.kgz" is just a compressed binary image of an ELF file - it no
more deals with real mode, its first instruction is in protected mode (no
virtual memory, just flat one, and interrupts disabled). It still contains
the processor it is compiled for in the GZIP comment part, in text mode.</p>

<p>That has advantages like that you use a clean real mode environment to get
all the BIOS information you want, the first kernel assembler instruction can
be located anywhere in memory (even at an address currently used by BIOS/DOS
because the relocation is very late), and there is no more any limit to the
kernel size.</p>

<p>So, at the bootloader time, you can start a FreeDOS environment with DOS
USB drivers and load your kernel at any address you want, or decide that
you do not want to touch the BIOS environment and boot from a simulated
floppy on a ATAPI IDE CDROM. If your kernel no more boots (got a HD with
SMART failure lately), you can get an error while loading the kernel and
just can boot a CDROM with a IDE disk RMA generator. When network support
will be included in Gujin, because the processor is still in real mode,
it will be able to use the network BIOS with its IRQ in a transparent way.</p>

<p>Note that there is no more any development for LILO or the real mode part
of the kernel, probably people no more want to deal with assembler software. I
can't blame them, I stopped too to use assembler in Gujin. I can't talk to
the development teams of LILO or the real mode part of the kernel...</p>

<p>Anyway, it is technically not possible to rely on the old real mode
interface because things are not done at the right time, complete backward
compatibility is kept because you just describe what you want at the "make"
time, by typing "make bzImage" or "make /boot/linux-2.13.kgz".</p>

<p>I can't force anybody to switch to Gujin; I am just proposing a way to
start Linux which is a lot simpler, involves a lot less assembler code so
is a lot easier to maintain, which is working right now, which is quite
easy to debug (with the DBG*.exe files). You can boot your PC with your
USB FLASH disk, your CD/DVD-ROM or a simple disk / partition / floppy right
now, there isn't any configuration file because everything is autodetected -
at least anything which cannot be selected by the graphic/mouse interface.
<a href="http://gujin.org">http://gujin.org</a></p>

</quote>

<p>The discussion ended there.</p>

</section>

<section
  title="New Linux Networking Wiki"
  subject="[ANNOUNCE] linux-net wiki"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/5d4d8d9ab58c225b"
  posts="6"
  startdate="06 Oct 2005 14:00:07 -0800"
  enddate="07 Oct 2005 14:34:10 -0800"
>
<topic>Networking</topic>

<p>Stephen Hemminger said:</p>

<quote who="Stephen Hemminger">

<p>There is now a wiki for Linux networking related activities and documentation.</p>

<p><a href="http://linux-net.osdl.org">http://linux-net.osdl.org</a></p>

<p>This is an experiment to see if it would be more useful to have
an online and editable documentation source rather than bits and pieces.</p>

<p>Also, it should interact well with Wikipedia, since we can link to have
the generic descriptions of things like protocols (TCP, bridging, bonding,
VLAN's,...) and the Linux implementation.</p>

<p>I filled in my stuff, and Acme and Ian have been adding DCCP and
the TODO list.</p>

</quote>

<p>Greg KH suggested, <quote who="Greg KH">Why
not just work with the existing kernelnewbies wiki: <a
href="http://wiki.kernelnewbies.org">http://wiki.kernelnewbies.org</a> instead
of creating another site?</quote> Stephen replied, <quote who="Stephen
Hemminger">Mainly because I started it out for my own linux networking
projects, then generalized it. If you look on kernelnewbies you will see
that there was already an MM wiki.</quote></p>

</section>

<section
  title="Review Cycle Leading To 2.6.13.4"
  subject="[patch 0/7] -stable review"
  archive="http://groups.google.com/group/linux.kernel/msg/0b85833a41707fd2"
  posts="23"
  startdate="07 Oct 2005 16:53:53 -0800"
  enddate="08 Oct 2005 12:18:26 -0800"
>
<topic>Hot-Plugging</topic>
<topic>Security</topic>

<mention>Stephen Hemminger</mention>
<mention>David S. Miller</mention>
<mention>Rick Lindsley</mention>
<mention>David Howells</mention>
<mention>Stefan Richter</mention>
<mention>Linus Torvalds</mention>
<mention>Chris Wright</mention>
<mention>Dave Jones</mention>
<mention>Ben Collins</mention>

<p>Greg KH said:</p>

<quote who="Greg KH">

<p>This is the start of the stable review cycle for the 2.6.13.4
release.  There are 7 patches in this series, all will be posted as a
response to this one.  If anyone has any issues with these being
applied, please let us know.  If anyone is a maintainer of the proper
subsystem, and wants to add a signed-off-by: line to the patch, please
respond with it.</p>

<p>These patches are sent out with a number of different people on the Cc:
line.  If you wish to be a reviewer, please email stable@kernel.org to
add your name to the list.  If you want to be off the reviewer list,
also email us.</p>

<p>Responses should be made by Sunday, October 9, 24:00:00 UTC.  Anything
received after that time, might be too late.</p>

<ul>

<li>

<p>From: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;</p>

<p>Fixes for reference counting problems, deadlocks, and delays when SBP-2
devices are unplugged or unbound from sbp2, or when unloading of sbp2/
ohci1394/ pcilynx is attempted.</p>

<p>Most often reported symptoms were hotplugs remaining undetected once
a FireWire disk was unplugged since the knodemgrd kernel thread went to
uninterruptible sleep, and "modprobe -r sbp2" being unable to complete
because still being in use.</p>

<p>Patch is equivalent to commit abd559b1052e28d8b9c28aabde241f18fa89090b in
2.6.14-rc3 plus a fix which is necessary together with 2.6.13's scsi core API
(linux1394.org commit r1308 by Ben Collins).</p>

<p>Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;<br />
Cc: Ben Collins &lt;bcollins@debian.org&gt;<br />
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;<br />
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;</p>

</li>

<li>

<p>From: Pavel Roskin &lt;proski@gnu.org&gt;</p>

<p>The orinoco driver can send uninitialized data exposing random pieces of
the system memory.  This happens because data is not padded with zeroes
when its length needs to be increased.</p>

<p>Reported by Meder Kydyraliev &lt;meder@o0o.nu&gt;</p>

<p>Signed-off-by: Pavel Roskin &lt;proski@gnu.org&gt;<br />
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;<br />
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;</p>

</li>

<li>

<p>From: Stephen Hemminger &lt;shemminger@osdl.org&gt;</p>

<p>Please consider this change for 2.6.13-stable   Since BIC is
the default congestion control algorithm, this fix is quite
important.</p>

<p>Missing parenthesis in causes BIC to be slow in increasing congestion
window.</p>

<p>Spotted by Injong Rhee.</p>

<p>Signed-off-by: Stephen Hemminger &lt;shemminger@osdl.org&gt;<br />
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;<br />
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;<br />
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;</p>

</li>

<li>

<p>From: Dave Jones &lt;davej@redhat.com&gt;</p>

<p>Please consider for next 2.6.13, it is a minor security issue allowing
users to turn on drm debugging when they shouldn't...</p>

<p>This fell through the cracks. Until Josh pointed me at
http://bugs.gentoo.org/show_bug.cgi?id=107893</p>

<p>Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;<br />
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;</p>

</li>

<li>

<p>From: "David S. Miller" &lt;davem@davemloft.net&gt;</p>

<p>We need to use stricter memory barriers around the block
load and store instructions we use to save and restore the
FPU register file.</p>

<p>Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;<br />
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;<br />
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;</p>

</li>

<li>

<p>From: Linus Torvalds &lt;torvalds@osdl.org&gt;</p>

<p>Avoid 'names_cache' memory leak with CONFIG_AUDITSYSCALL</p>

<p>The nameidata "last.name" is always allocated with "__getname()", and
should always be free'd with "__putname()".</p>

<p>Using "putname()" without the underscores will leak memory, because the
allocation will have been hidden from the AUDITSYSCALL code.</p>

<p>Arguably the real bug is that the AUDITSYSCALL code is really broken,
but in the meantime this fixes the problem people see.</p>

<p>Reported by Robert Derr, patch by Rick Lindsley.</p>

<p>Acked-by: Al Viro &lt;viro@ftp.linux.org.uk&gt;<br />
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;<br />
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;<br />
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;</p>

</li>

<li>

<p>From: David Howells &lt;dhowells@redhat.com&gt;</p>

<p>Plug request_key_auth memleak.  This can be triggered by unprivileged
users, so is local DoS.</p>

<p>Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;<br />
Signed-Off-By: David Howells &lt;dhowells@redhat.com&gt;<br />
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;</p>

</li>

</ul>

</quote>

<p>There was no significant discussion. Just a stray character in one of
the patches, doing no harm; and an odd subject line on another.</p>

</section>

<section
  title="Touchkit PS/2 Based On Existing Touchscreen Drivers"
  subject="touchkit PS/2 touchscreen driver"
  archive="http://groups.google.com/group/linux.kernel/msg/49cde5a529beb5b5"
  posts="2"
  startdate="09 Oct 2005 09:26:24 -0800"
  enddate="10 Oct 2005 09:10:16 -0800"
>
<topic>Touchscreen</topic>
<topic>USB</topic>

<mention>Andrey Panin</mention>

<p>Stefan Lucke said:</p>

<quote who="Stefan Lucke">

<p>based on the touchkit USB and livebook PS/2 touchscreen driver, I made
a driver for the touchkit PS/2 version. The work is based upon kernel
2.6.13.2 .</p>

<p>The egalax touchsreen controller (PS/2 or USB version) is used
in this 7" device:
<a href="http://www.cartft.com/catalog/il/449">http://www.cartft.com/catalog/il/449</a></p>

<p>Currently I'm using the PS/2 version in a DirectFB enviroment.<br />
<a href="http://www.directfb.org/">http://www.directfb.org/</a><br />
<a href="http://mail.directfb.org/pipermail/directfb-dev/2005-September/000705.html">http://mail.directfb.org/pipermail/directfb-dev/2005-September/000705.html</a><br />
<a href="http://mail.directfb.org/pipermail/directfb-dev/2005-September/000706.html">http://mail.directfb.org/pipermail/directfb-dev/2005-September/000706.html</a></p>

<p>Could you please have a look at it and tell my your comments on what
would be additional required to get it included into kernel tree.</p>

</quote>

<p>Andrey Panin liked what he saw, but had a few technical suggestions. There
was no discussion.</p>

</section>

<section
  title="Linux 2.6.13.4 Released"
  subject="Linux 2.6.13.4"
  archive="http://groups.google.com/group/fa.linux.kernel/msg/b1e71e8661cdcb84"
  posts="2"
  startdate="10 Oct 2005 12:55:42 -0800"
  enddate="10 Oct 2005 12:56:03 -0800"
>

<p>Greg KH said:</p>

<quote who="Greg KH">

<p>We (the -stable team) are announcing the release of the 2.6.13.3 kernel.</p>

<p>The diffstat and short summary of the fixes are below.</p>

<p>I'll also be replying to this message with a copy of the patch between
2.6.13.3 and 2.6.13.4, as it is small enough to do so.</p>

<p>The updated 2.6.13.y git tree can be found at:<br />
        rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/linux-2.6.13.y.git<br />
and can be browsed at the normal kernel.org git web browser:<br />
        <a href="http://www.kernel.org/git/">www.kernel.org/git/</a></p>

</quote>

</section>

<section
  title="Linux 2.6.14-rc4 Released"
  subject="Linux v2.6.14-rc4"
  archive="http://groups.google.com/group/linux.kernel/msg/30cdc588a807b704"
  posts="17"
  startdate="10 Oct 2005 18:31:12 -0800"
  enddate="12 Oct 2005 10:27:07 -0800"
>
<topic>Kernel Release Announcement</topic>

<p>Linus Torvalds announced Linux 2.6.14-rc4, saying:</p>

<quote who="Linus Torvalds">

<p>Here's the final -rc before a 2.6.14 release.</p>

<p>In the diffstat, most of the changes are one-liners, with the main
exceptions being some sparc64 work (fix user-space corruption due to FP
save/restore) and the new Megaraid SAS driver. There's some networking
fixes, and a couple of driver updates (scsi: aacraid, net: cassini, and
watchdog: pcwd_pci).</p>

<p>Along with a x86-64 suspend/resume page table corruption and some new
defconfig files for ARM, that rounds out the bigger chunks.</p>

</quote>

</section>

</kc>

