<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include, branch v2.6.16.44</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include?h=v2.6.16.44</id>
<link rel='self' href='https://git.amat.us/linux/atom/include?h=v2.6.16.44'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2007-03-09T07:42:48Z</updated>
<entry>
<title>make ppc64 current preempt-safe</title>
<updated>2007-03-09T07:42:48Z</updated>
<author>
<name>Hugh Dickins</name>
<email>hugh@veritas.com</email>
</author>
<published>2007-03-09T07:42:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0096623513107562ede3254df8d50d86474e5a7a'/>
<id>urn:sha1:0096623513107562ede3254df8d50d86474e5a7a</id>
<content type='text'>
Repeated -j20 kernel builds on a G5 Quad running an SMP PREEMPT kernel
would often collapse within a day, some exec failing with "Bad address".
In each case examined, load_elf_binary was doing a kernel_read, but
generic_file_aio_read's access_ok saw current-&gt;thread.fs.seg as USER_DS
instead of KERNEL_DS.

objdump of filemap.o shows gcc 4.1.0 emitting "mr r5,r13 ... ld r9,416(r5)"
here for get_paca()-&gt;__current, instead of the expected and much more usual
"ld r9,416(r13)"; I've seen other gcc4s do the same, but perhaps not gcc3s.

So, if the task is preempted and rescheduled on a different cpu in between
the mr and the ld, r5 will be looking at a different paca_struct from the
one it's now on, pick up the wrong __current, and perhaps the wrong seg.
Presumably much worse could happen elsewhere, though that split is rare.

Other architectures appear to be safe (x86_64's read_pda is more limiting
than get_paca), but ppc64 needs to force "current" into one instruction.

Signed-off-by: Hugh Dickins &lt;hugh@veritas.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[INET]: twcal_jiffie should be unsigned long, not int</title>
<updated>2007-03-08T07:19:00Z</updated>
<author>
<name>Eric Dumazet</name>
<email>dada1@cosmosbay.com</email>
</author>
<published>2007-03-08T07:19:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=763eec030da398d17ebd85c54b1020b93435e55d'/>
<id>urn:sha1:763eec030da398d17ebd85c54b1020b93435e55d</id>
<content type='text'>
Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>hwmon: Refactor SENSOR_DEVICE_ATTR_2</title>
<updated>2007-02-26T02:37:36Z</updated>
<author>
<name>Jim Cromie</name>
<email>jim.cromie@gmail.com</email>
</author>
<published>2007-02-26T02:37:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5130f8627a8215f7b3ab830c42d4bb3910ff4385'/>
<id>urn:sha1:5130f8627a8215f7b3ab830c42d4bb3910ff4385</id>
<content type='text'>
This patch refactors SENSOR_DEVICE_ATTR_2 macro, following pattern set by
SENSOR_ATTR.  First it creates a new macro SENSOR_ATTR_2() which expands
to an initialization expression, then it uses that in SENSOR_DEVICE_ATTR_2,
which declares and initializes a struct sensor_device_attribute_2.

Signed-off-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>hwmon: Allow sensor attributes arrays</title>
<updated>2007-02-26T02:31:01Z</updated>
<author>
<name>Jim Cromie</name>
<email>jim.cromie@gmail.com</email>
</author>
<published>2007-02-26T02:31:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d073fd7f362f2136b0d3a83b89f9b9bf262a67b8'/>
<id>urn:sha1:d073fd7f362f2136b0d3a83b89f9b9bf262a67b8</id>
<content type='text'>
This patch refactors SENSOR_DEVICE_ATTR macro.  First it creates a new
macro SENSOR_ATTR() which expands to an initialization expression, then
it uses that in SENSOR_DEVICE_ATTR, which declares and initializes a
struct sensor_device_attribute.

IOW, SENSOR_ATTR() imitates __ATTR() in include/linux/device.h.

Signed-off-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>i2c-piix4: Add ATI IXP200/300/400 support</title>
<updated>2007-02-25T23:42:07Z</updated>
<author>
<name>Rudolf Marek</name>
<email>r.marek@sh.cvut.cz</email>
</author>
<published>2007-02-25T23:42:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=164ef61c84ac388a4534392ea60eb80190ad5184'/>
<id>urn:sha1:164ef61c84ac388a4534392ea60eb80190ad5184</id>
<content type='text'>
This patch adds the ATI IXP southbridges support to i2c-piix4,
as it turned out those chips are compatible with it.

Signed-off-by: Rudolf Marek &lt;r.marek@sh.cvut.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>I2C: i2c-piix4: Add Broadcom HT-1000 support</title>
<updated>2007-02-25T23:40:16Z</updated>
<author>
<name>Martin Devera</name>
<email>devik@cdi.cz</email>
</author>
<published>2007-02-25T23:40:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c3c9165ccca7147b43bb2469648a1bf14a4d7d2c'/>
<id>urn:sha1:c3c9165ccca7147b43bb2469648a1bf14a4d7d2c</id>
<content type='text'>
Add Broadcom HT-1000 south bridge's PCI ID to i2c-piix driver. Note
that at least on Supermicro H8SSL it uses non-standard SMBHSTCFG = 3
and standard values like 0 or 9 causes hangup.

Signed-off-by: Martin Devera &lt;devik@cdi.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[TCP]: struct tcp_sack_block annotations</title>
<updated>2007-02-14T12:58:42Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2007-02-14T12:58:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2f6d2c9b7d870de96a915748178aa02596ac19c1'/>
<id>urn:sha1:2f6d2c9b7d870de96a915748178aa02596ac19c1</id>
<content type='text'>
Some of the instances of tcp_sack_block are host-endian, some - net-endian.
Define struct tcp_sack_block_wire identical to struct tcp_sack_block
with u32 replaced with __be32; annotate uses of tcp_sack_block replacing
net-endian ones with tcp_sack_block_wire.  Change is obviously safe since
for cc(1) __be32 is typedefed to u32.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>SPARC32: Fix over-optimization by GCC near ip_fast_csum.</title>
<updated>2007-02-14T08:22:53Z</updated>
<author>
<name>Bob Breuer</name>
<email>breuerr@mc.net</email>
</author>
<published>2007-02-14T08:22:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ff61ecf6949e0ab2c062b40e0111f39e3956a0d'/>
<id>urn:sha1:4ff61ecf6949e0ab2c062b40e0111f39e3956a0d</id>
<content type='text'>
In some cases such as:
        iph-&gt;check = 0;
        iph-&gt;check = ip_fast_csum((unsigned char *)iph, iph-&gt;ihl);
GCC may optimize out the previous store.

Observed as a failure of NFS over udp (bad checksums on ip fragments)
when compiled with GCC 3.4.2.

Signed-off-by: Bob Breuer &lt;breuerr@mc.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>reiserfs: avoid tail packing if an inode was ever mmapped</title>
<updated>2007-02-03T01:38:47Z</updated>
<author>
<name>Vladimir Saveliev</name>
<email>vs@namesys.com</email>
</author>
<published>2007-02-03T01:38:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4f3f184b37afd4683a828217234efb0a296eff88'/>
<id>urn:sha1:4f3f184b37afd4683a828217234efb0a296eff88</id>
<content type='text'>
This patch fixes a confusion reiserfs has for a long time.

On release file operation reiserfs used to try to pack file data stored in
last incomplete page of some files into metadata blocks.  After packing the
page got cleared with clear_page_dirty.  It did not take into account that
the page may be mmaped into other process's address space.  Recent
replacement for clear_page_dirty cancel_dirty_page found the confusion with
sanity check that page has to be not mapped.

The patch fixes the confusion by making reiserfs avoid tail packing if an
inode was ever mmapped.  reiserfs_mmap and reiserfs_file_release are
serialized with mutex in reiserfs specific inode.  reiserfs_mmap locks the
mutex and sets a bit in reiserfs specific inode flags.
reiserfs_file_release checks the bit having the mutex locked.  If bit is
set - tail packing is avoided.  This eliminates a possibility that mmapped
page gets cancel_page_dirty-ed.

Signed-off-by: Vladimir Saveliev &lt;vs@namesys.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>ia64: add pci_get_legacy_ide_irq()</title>
<updated>2007-02-03T01:26:55Z</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
<email>bzolnier@gmail.com</email>
</author>
<published>2007-02-03T01:26:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cb28901d044027c1152aec4c2d4432093f7914f2'/>
<id>urn:sha1:cb28901d044027c1152aec4c2d4432093f7914f2</id>
<content type='text'>
Add pci_get_legacy_ide_irq() identical to the one used by i386/x86_64.
Fixes amd74xx driver build on ia64 (bugzilla bug #6644).

Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
</feed>
