<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git, branch v2.6.27.1</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.27.1</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.27.1'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2008-10-15T23:02:53+00:00</updated>
<entry>
<title>Linux 2.6.27.1</title>
<updated>2008-10-15T23:02:53+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-10-15T23:02:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bc5b8bb64a2dc740d8b99635931e689a8b13daf2'/>
<id>urn:sha1:bc5b8bb64a2dc740d8b99635931e689a8b13daf2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>disable CONFIG_DYNAMIC_FTRACE due to possible memory corruption on module unload</title>
<updated>2008-10-15T23:02:33+00:00</updated>
<author>
<name>Steven Rostedt</name>
<email>rostedt@goodmis.org</email>
</author>
<published>2008-10-15T22:21:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d23d43386311fde5f11e06c16d4185e94a8d6d06'/>
<id>urn:sha1:d23d43386311fde5f11e06c16d4185e94a8d6d06</id>
<content type='text'>
While debugging the e1000e corruption bug with Intel, we discovered
today that the dynamic ftrace code in mainline is the likely source of
this bug.

For the stable kernel we are providing the only viable fix patch: labeling
CONFIG_DYNAMIC_FTRACE as broken. (see the patch below)

We will follow up with a backport patch that contains the fixes. But since
the fixes are not a one liner, the safest approach for now is to
disable the code in question.

The cause of the bug is due to the way the current code in mainline
handles dynamic ftrace.  When dynamic ftrace is turned on, it also
turns on CONFIG_FTRACE which enables the -pg config in gcc that places
a call to mcount at every function call. With just CONFIG_FTRACE this
causes a noticeable overhead.  CONFIG_DYNAMIC_FTRACE works to ease this
overhead by dynamically updating the mcount call sites into nops.

The problem arises when we trace functions and modules are unloaded.
The first time a function is called, it will call mcount and the mcount
call will call ftrace_record_ip. This records the calling site and
stores it in a preallocated hash table. Later on a daemon will
wake up and call kstop_machine and convert any mcount callers into
nops.

The evolution of this code first tried to do this without the kstop_machine
and used cmpxchg to update the callers as they were called. But I
was informed that this is dangerous to do on SMP machines if another
CPU is running that same code. The solution was to do this with
kstop_machine.

We still used cmpxchg to test if the code that we are modifying is
indeed code that we expect to be before updating it - as a final
line of defense.

But on 32bit machines, ioremapped memory and modules share the same
address space. When a module would load its code into memory and execute
some code, that would register the function.

On module unload, ftrace incorrectly did not zap these functions from
its hash (this was the bug). The cmpxchg could have saved us in most
cases (via luck) - but with ioremap-ed memory that was exactly the wrong
thing to do - the results of cmpxchg on device memory are undefined.
(and will likely result in a write)

The pending .28 ftrace tree does not have this bug anymore, as a general push
towards more robustness of code patching, this is done differently: we do not
use cmpxchg and we do a WARN_ON and turn the tracer off if anything deviates
from its expected state. Furthermore, patch sites are statically identified
during build time so there's no runtime discovery of dynamic code areas
anymore, and no room for code unmaps to cause the hash to become out of date.

We believe the fragility of dynamic patching has been sufficiently
addressed in the development code via the static patching method, but further
suggestions to make it more robust are welcome.

Signed-off-by: Steven Rostedt &lt;srostedt@goodmis.org&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>Linux 2.6.27</title>
<updated>2008-10-09T22:13:53+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-10-09T22:13:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3fa8749e584b55f1180411ab1b51117190bac1e5'/>
<id>urn:sha1:3fa8749e584b55f1180411ab1b51117190bac1e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't allow splice() to files opened with O_APPEND</title>
<updated>2008-10-09T21:26:38+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-10-09T21:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=efc968d450e013049a662d22727cf132618dcb2f'/>
<id>urn:sha1:efc968d450e013049a662d22727cf132618dcb2f</id>
<content type='text'>
This is debatable, but while we're debating it, let's disallow the
combination of splice and an O_APPEND destination.

It's not entirely clear what the semantics of O_APPEND should be, and
POSIX apparently expects pwrite() to ignore O_APPEND, for example.  So
we could make up any semantics we want, including the old ones.

But Miklos convinced me that we should at least give it some thought,
and that accepting writes at arbitrary offsets is wrong at least for
IS_APPEND() files (which always have O_APPEND set, even if the reverse
isn't true: you can obviously have O_APPEND set on a regular file).

So disallow O_APPEND entirely for now.  I doubt anybody cares, and this
way we have one less gray area to worry about.

Reported-and-argued-for-by: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Acked-by: Jens Axboe &lt;ens.axboe@oracle.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6</title>
<updated>2008-10-09T19:23:54+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-10-09T19:23:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=07f405541892bd9bab4cca6c12499091ef4dd556'/>
<id>urn:sha1:07f405541892bd9bab4cca6c12499091ef4dd556</id>
<content type='text'>
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
  hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X
  hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X
  hwmon: (adt7473) Fix some bogosity in documentation file
  hwmon: Define sysfs interface for energy consumption register
  hwmon: (it87) Prevent power-off on Shuttle SN68PT
  eeepc-laptop: Fix hwmon interface
</content>
</entry>
<entry>
<title>Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq</title>
<updated>2008-10-09T19:23:35+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-10-09T19:23:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9283dfed51b223eddf68bdf91c5cddc4a9abbdbe'/>
<id>urn:sha1:9283dfed51b223eddf68bdf91c5cddc4a9abbdbe</id>
<content type='text'>
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] correct broken links and email addresses
</content>
</entry>
<entry>
<title>SLOB: fix bogus ksize calculation fix</title>
<updated>2008-10-09T19:18:27+00:00</updated>
<author>
<name>Matt Mackall</name>
<email>mpm@selenic.com</email>
</author>
<published>2008-10-08T19:51:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=70096a561d1e09120bae1f293f3632cedbfd5c68'/>
<id>urn:sha1:70096a561d1e09120bae1f293f3632cedbfd5c68</id>
<content type='text'>
This fixes the previous fix, which was completely wrong on closer
inspection. This version has been manually tested with a user-space
test harness and generates sane values. A nearly identical patch has
been boot-tested.

The problem arose from changing how kmalloc/kfree handled alignment
padding without updating ksize to match. This brings it in sync.

Signed-off-by: Matt Mackall &lt;mpm@selenic.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[CPUFREQ] correct broken links and email addresses</title>
<updated>2008-10-09T17:52:40+00:00</updated>
<author>
<name>Németh Márton</name>
<email>nm127@freemail.hu</email>
</author>
<published>2008-10-09T12:59:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8d5922572038bae9f7b16fcb974eee806727b44c'/>
<id>urn:sha1:8d5922572038bae9f7b16fcb974eee806727b44c</id>
<content type='text'>
Replace the no longer working links and email address in the
documentation and in source code.

Signed-off-by: Márton Németh &lt;nm127@freemail.hu&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
</content>
</entry>
<entry>
<title>hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X</title>
<updated>2008-10-09T13:33:59+00:00</updated>
<author>
<name>Alistair John Strachan</name>
<email>alistair@devzero.co.uk</email>
</author>
<published>2008-10-09T13:33:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5e5cddbc3f2936c9fefbae64633c522e242c350d'/>
<id>urn:sha1:5e5cddbc3f2936c9fefbae64633c522e242c350d</id>
<content type='text'>
Enable driver checking of the DMI product name (when enabled) on
an Abit AT8 32X, instead of falling back to a manual probe. This
eliminates false negatives and eventually will help avoid
unnecessary bus probes on unsupported mainboards.

Signed-off-by: Alistair John Strachan &lt;alistair@devzero.co.uk&gt;
Tested-by: Daniel Exner &lt;dex@dragonslave.de&gt;
Acked-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X</title>
<updated>2008-10-09T13:33:59+00:00</updated>
<author>
<name>Alistair John Strachan</name>
<email>alistair@devzero.co.uk</email>
</author>
<published>2008-10-09T13:33:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8748a71e8c2d1310b66c2feed1632de8620cd2f1'/>
<id>urn:sha1:8748a71e8c2d1310b66c2feed1632de8620cd2f1</id>
<content type='text'>
The table for the Abit AT8 32X was incorrectly missing an entry
for the sixth ("AUX3") fan. Add this entry, exporting the fan
reading to userspace.

Closes lm-sensors.org ticket #2339.

Signed-off-by: Alistair John Strachan &lt;alistair@devzero.co.uk&gt;
Tested-by: Daniel Exner &lt;dex@dragonslave.de&gt;
Acked-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
</feed>
