<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux, branch v2.6.20.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/?h=v2.6.20.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/?h=v2.6.20.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2007-04-06T10:44:59Z</updated>
<entry>
<title>Linux 2.6.20.5</title>
<updated>2007-04-06T10:44:59Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2007-04-06T10:44:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=30944b3a446917d34e559c354586c023d9829ac0'/>
<id>urn:sha1:30944b3a446917d34e559c354586c023d9829ac0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>APPLETALK: Fix a remotely triggerable crash</title>
<updated>2007-04-06T10:43:18Z</updated>
<author>
<name>Jean Delvare</name>
<email>jdelvare@suse.de</email>
</author>
<published>2007-04-05T06:52:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f8c08c340b8308ca0afb19d62f71b2b39ccfc9e0'/>
<id>urn:sha1:f8c08c340b8308ca0afb19d62f71b2b39ccfc9e0</id>
<content type='text'>
When we receive an AppleTalk frame shorter than what its header says,
we still attempt to verify its checksum, and trip on the BUG_ON() at
the end of function atalk_sum_skb() because of the length mismatch.

This has security implications because this can be triggered by simply
sending a specially crafted ethernet frame to a target victim,
effectively crashing that host. Thus this qualifies, I think, as a
remote DoS. Here is the frame I used to trigger the crash, in npg
format:

&lt;Appletalk Killer&gt;
{
# Ethernet header -----

  XX XX XX XX XX XX  # Destination MAC
  00 00 00 00 00 00  # Source MAC
  00 1D              # Length

# LLC header -----

  AA AA 03
  08 00 07 80 9B  # Appletalk

# Appletalk header -----

  00 1B        # Packet length (invalid)
  00 01        # Fake checksum
  00 00 00 00  # Destination and source networks
  00 00 00 00  # Destination and source nodes and ports

# Payload -----

  0C 0D 0E 0F 10 11 12 13
  14
}

The destination MAC address must be set to those of the victim.

The severity is mitigated by two requirements:
* The target host must have the appletalk kernel module loaded. I
  suspect this isn't so frequent.
* AppleTalk frames are non-IP, thus I guess they can only travel on
  local networks. I am no network expert though, maybe it is possible
  to somehow encapsulate AppleTalk packets over IP.

The bug has been reported back in June 2004:
  http://bugzilla.kernel.org/show_bug.cgi?id=2979
But it wasn't investigated, and was closed in July 2006 as both
reporters had vanished meanwhile.

This code was new in kernel 2.6.0-test5:
  http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=7ab442d7e0a76402c12553ee256f756097cae2d2
And not modified since then, so we can assume that vanilla kernels
2.6.0-test5 and later, and distribution kernels based thereon, are
affected.

Note that I still do not know for sure what triggered the bug in the
real-world cases. The frame could have been corrupted by the kernel if
we have a bug hiding somewhere. But more likely, we are receiving the
faulty frame from the network.

Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>generic_serial: fix decoding of baud rate</title>
<updated>2007-04-06T10:43:17Z</updated>
<author>
<name>Daniel Drake</name>
<email>dsd@gentoo.org</email>
</author>
<published>2007-03-27T05:32:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ef1ad177623878299bd49cf42a7974309b0c6435'/>
<id>urn:sha1:ef1ad177623878299bd49cf42a7974309b0c6435</id>
<content type='text'>
Commit d720bc4b8fc5d6d179ef094908d4fbb5e436ffad partially removed a private
implementation of baud speed decoding.  However it doesn't seem to be
complete: after the speed is decoded, it is still being used as an index to
a local speed table (array overrun, no doubt).

This was found by Graham Murray who noticed it caused a 2.6.19 regression
with the SX driver: https://bugs.gentoo.org/170554

Signed-off-by: Daniel Drake &lt;dsd@gentoo.org&gt;
Acked-by: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: Russell King &lt;rmk@arm.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>libata: sata_mv: Fix 50xx irq mask</title>
<updated>2007-04-06T10:43:17Z</updated>
<author>
<name>Jeff Garzik</name>
<email>jeff@garzik.org</email>
</author>
<published>2007-03-28T22:39:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5031b2a0cab077864d7147ed4ad00199fe3ba9e1'/>
<id>urn:sha1:5031b2a0cab077864d7147ed4ad00199fe3ba9e1</id>
<content type='text'>
[libata] sata_mv: Fix 50xx irq mask

IRQ mask bits assumed a 60xx or newer generation chip, which is very
wrong for the 50xx series.  Luckily both generations shared the per-port
interrupt mask bits, leaving only the "misc chip features" bits to be
completely mismatched.

Fix 50xx by ensuring we only program bits that exist.

Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>libata: sata_mv: don't touch reserved bits in EDMA config register</title>
<updated>2007-04-06T10:43:17Z</updated>
<author>
<name>Jeff Garzik</name>
<email>jeff@garzik.org</email>
</author>
<published>2007-03-28T22:38:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=234b52fa61f364f339b1c285ad7bdc70886992d7'/>
<id>urn:sha1:234b52fa61f364f339b1c285ad7bdc70886992d7</id>
<content type='text'>
[libata] sata_mv: don't touch reserved bits in EDMA config register

The code in mv_edma_cfg() reflected its 60xx origins, by doing things
[slightly] incorrectly on the older 50xx and newer 6042/7042 chips.

Clean up the EDMA configuration setup such that, each chip family
carefully initializes its own EDMA setup.

Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>libata bugfix: HDIO_DRIVE_TASK</title>
<updated>2007-04-06T10:43:17Z</updated>
<author>
<name>Mark Lord</name>
<email>liml@rtr.ca</email>
</author>
<published>2007-03-28T22:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=66478673825757e8ef8ab3d1ceaa4115274d1b57'/>
<id>urn:sha1:66478673825757e8ef8ab3d1ceaa4115274d1b57</id>
<content type='text'>
libata bugfix: HDIO_DRIVE_TASK

I was trying to use HDIO_DRIVE_TASK for something today,
and discovered that the libata implementation does not copy
over the upper four LBA bits from args[6].

This is serious, as any tools using this ioctl would have their
commands applied to the wrong sectors on the drive, possibly resulting
in disk corruption.

Ideally, newer apps should use SG_IO/ATA_16 directly,
avoiding this bug.  But with libata poised to displace drivers/ide,
better compatibility here is a must.

This patch fixes libata to use the upper four LBA bits passed
in from the ioctl.

The original drivers/ide implementation copies over all bits
except for the master/slave select bit.  With this patch,
libata will copy only the four high-order LBA bits,
just in case there are assumptions elsewhere in libata (?).

Signed-off-by: Mark Lord &lt;mlord@pobox.com&gt;
Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>libata: clear TF before IDENTIFYing</title>
<updated>2007-04-06T10:43:17Z</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2007-03-28T22:33:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=59e23e6198366f057ea49127f810098424d3417c'/>
<id>urn:sha1:59e23e6198366f057ea49127f810098424d3417c</id>
<content type='text'>
libata: clear TF before IDENTIFYing

Some devices chock if Feature is not clear when IDENTIFY is issued.
Set ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE for IDENTIFY such that whole
TF is cleared when reading ID data.

Kudos to Art Haas for testing various futile patches over several
months and Mark Lord for pointing out the fix.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Cc: Art Haas &lt;ahaas@airmail.net&gt;
Cc: Mark Lord &lt;mlord@pobox.com&gt;
Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>CRYPTO: api: scatterwalk_copychunks() fails to advance through scatterlist</title>
<updated>2007-04-06T10:43:17Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@citi.umich.edu</email>
</author>
<published>2007-03-28T21:50:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=46113c80a92c0bd9ccc7be765e3d487e3e86dac0'/>
<id>urn:sha1:46113c80a92c0bd9ccc7be765e3d487e3e86dac0</id>
<content type='text'>
[CRYPTO] api: scatterwalk_copychunks() fails to advance through scatterlist

In the loop in scatterwalk_copychunks(), if walk-&gt;offset is zero,
then scatterwalk_pagedone rounds that up to the nearest page boundary:

		walk-&gt;offset += PAGE_SIZE - 1;
		walk-&gt;offset &amp;= PAGE_MASK;

which is a no-op in this case, so we don't advance to the next element
of the scatterlist array:

		if (walk-&gt;offset &gt;= walk-&gt;sg-&gt;offset + walk-&gt;sg-&gt;length)
			scatterwalk_start(walk, sg_next(walk-&gt;sg));

and we end up copying the same data twice.

It appears that other callers of scatterwalk_{page}done first advance
walk-&gt;offset, so I believe that's the correct thing to do here.

This caused a bug in NFS when run with krb5p security, which would
cause some writes to fail with permissions errors--for example, writes
of less than 8 bytes (the des blocksize) at the start of a file.

A git-bisect shows the bug was originally introduced by
5c64097aa0f6dc4f27718ef47ca9a12538d62860, first in 2.6.19-rc1.

Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>CIFS: reset mode when client notices that ATTR_READONLY is no longer set</title>
<updated>2007-04-06T10:43:17Z</updated>
<author>
<name>Alan Tyson</name>
<email>atyson@hp.com</email>
</author>
<published>2007-03-28T21:40:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a59c449be72f920b795385fd8a3b5a1cec0b9f48'/>
<id>urn:sha1:a59c449be72f920b795385fd8a3b5a1cec0b9f48</id>
<content type='text'>
[CIFS] reset mode when client notices that ATTR_READONLY is no longer set

[&lt;cebbert@redhat.com&gt;: removed changelog part of patch]

Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Alan Tyso &lt;atyson@hp.com&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>CIFS: Allow reset of file to ATTR_NORMAL when archive bit not set</title>
<updated>2007-04-06T10:43:16Z</updated>
<author>
<name>Steve French</name>
<email>sfrench@us.ibm.com</email>
</author>
<published>2007-03-28T21:40:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e21c656f7bc1b580dafeb194010f01f11a6caf88'/>
<id>urn:sha1:e21c656f7bc1b580dafeb194010f01f11a6caf88</id>
<content type='text'>
[CIFS] Allow reset of file to ATTR_NORMAL when archive bit not set

When a file had a dos attribute of 0x1 (readonly - but dos attribute
of archive was not set) - doing chmod 0777 or equivalent would
try to set a dos attribute of 0 (which some servers ignore)
rather than ATTR_NORMAL (0x20) which most servers accept.
Does not affect servers which support the CIFS Unix Extensions.

[&lt;cebbert@redhat.com&gt;: removed changelog part of patch]

Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Acked-by: Prasad Potluri &lt;pvp@us.ibm.com&gt;
Acked-by: Shirish Pargaonkar &lt;shirishp@us.ibm.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
</feed>
