<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux, branch v2.6.31.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/?h=v2.6.31.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/?h=v2.6.31.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2009-10-22T22:57:56Z</updated>
<entry>
<title>Linux 2.6.31.5</title>
<updated>2009-10-22T22:57:56Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2009-10-22T22:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e2984cbfddd5c8fac88b24d7e5f28e1cfb6f3838'/>
<id>urn:sha1:e2984cbfddd5c8fac88b24d7e5f28e1cfb6f3838</id>
<content type='text'>
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>tty: Make flush_to_ldisc() locking more robust</title>
<updated>2009-10-22T22:12:01Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-10-14T15:59:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=86d23a057e718f73adc15e463c643d6e014a19cd'/>
<id>urn:sha1:86d23a057e718f73adc15e463c643d6e014a19cd</id>
<content type='text'>
commit c8e33141911bf8fe87dc6c92793b9a59b2be0130 upstream.

The locking logic in this function is extremely subtle, and it broke
when we started doing potentially concurrent 'flush_to_ldisc()' calls in
commit e043e42bdb66885b3ac10d27a01ccb9972e2b0a3 ("pty: avoid forcing
'low_latency' tty flag").

The code in flush_to_ldisc() used to set 'tty-&gt;buf.head' to NULL, with
the intention that this would then cause any other concurrent calls to
not do anything (locking note: we have to drop the buf.lock over the
call to -&gt;receive_buf that can block, which is why we can have
concurrency here at all in the first place).

It also used to set the TTY_FLUSHING bit, which would then cause any
concurrent 'tty_buffer_flush()' to not free all the tty buffers and
clear 'tty-&gt;buf.tail'.  And with 'buf.head' being NULL, and 'buf.tail'
being non-NULL, new data would never touch 'buf.head'.

Does that sound a bit too subtle? It was.  If another concurrent call to
'flush_to_ldisc()' were to come in, the NULL buf.head would indeed cause
it to not process the buffer list, but it would still clear TTY_FLUSHING
afterwards, making the buffer protection against 'tty_buffer_flush()' no
longer work.

So this clears it all up.  We depend purely on TTY_FLUSHING for handling
re-entrancy, and stop playing games with the buffer list entirely.  In
fact, the buffer list handling is now robust enough that we could
probably stop doing the whole "protect against 'tty_buffer_flush()'"
thing entirely.

However, Alan also points out that we would probably be better off
simplifying the locking even further, and just take the tty ldisc_mutex
around all the buffer flushing calls.  That seems like a good idea, but
in the meantime this is a conceptually minimal fix (with the patch
itself being bigger than required just to clean the code up and make it
readable).

This fixes keyboard trouble under X:

	http://bugzilla.kernel.org/show_bug.cgi?id=14388

Reported-and-tested-by: Frédéric Meunier &lt;fredlwm@gmail.com&gt;
Reported-and-tested-by: Boyan &lt;btanastasov@yahoo.co.uk&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: Paul Fulghum &lt;paulkf@microgate.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>mac80211: fix vlan and optimise RX</title>
<updated>2009-10-22T22:12:01Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-10-01T20:06:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c90aa19d5123cc84fe2260067a3348313349d262'/>
<id>urn:sha1:c90aa19d5123cc84fe2260067a3348313349d262</id>
<content type='text'>
commit fbc44bf7177dfd61381da55405550b693943a432 upstream.

When receiving data frames, we can send them only to
the interface they belong to based on transmitting
station (this doesn't work for probe requests). Also,
don't try to handle other frames for AP_VLAN at all
since those interface should only receive data.

Additionally, the transmit side must check that the
station we're sending a frame to is actually on the
interface we're transmitting on, and not transmit
packets to functions that live on other interfaces,
so validate that as well.

Another bug fix is needed in sta_info.c where in the
VLAN case when adding/removing stations we overwrite
the sdata variable we still need.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>iwlwifi: incorrect method used for finding valid OTP blocks</title>
<updated>2009-10-22T22:12:00Z</updated>
<author>
<name>Jay Sternberg</name>
<email>jay.e.sternberg@intel.com</email>
</author>
<published>2009-10-02T20:43:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eef5edb4ef6eeedf945b3bc81bc593804e522d7d'/>
<id>urn:sha1:eef5edb4ef6eeedf945b3bc81bc593804e522d7d</id>
<content type='text'>
commit 2facba769d7f9e563cf706de709074a2d20f1bba upstream.

The address stored in the next link address is a word address but when
reading the OTP blocks, a byte address is used. Also if the blocks are
full and the last link pointer is not zero, then none of the blocks are
valid so return an error.

The algorithm is simply valid blocks have a next address and that
address's contents is zero.

Using the wrong address for the next link address gets arbitrary data,
obviously. In cases seen, the first block is considered valid when it is not.

If the block has in fact been invalidated there may be old data or
there may be no data, bad data, or partial data, there is no way of
telling. Without this patch it is possible that a device with valid OTP data
is unable to work.

Signed-off-by: Jay Sternberg &lt;jay.e.sternberg@intel.com&gt;
Signed-off-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>usb-storage: Workaround devices with bogus sense size</title>
<updated>2009-10-22T22:12:00Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2009-10-13T04:53:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=670add0a279e39e13a66876389c64d4f7dcf0379'/>
<id>urn:sha1:670add0a279e39e13a66876389c64d4f7dcf0379</id>
<content type='text'>
commit b8430e1b82b7e514d76a88eb70a7d8831d50df1e upstream.

usb-storage: Workaround devices with bogus sense size

Some devices, such as Huawei E169, advertise more than the standard
amount of sense data, causing us to set US_FL_SANE_SENSE, assuming
they support it. However, they subsequently fail the request sense
with that size.

This works around it generically. When a sense request fails due to
a device returning an error, US_FL_SANE_SENSE was set, and that sense
request used a larger sense size, we retry with a smaller size before
giving up.

Based on an original patch by Ben Efros &lt;ben@pc-doctor.com&gt;

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Staging: rt2860sta: prevent a panic when disabling when associated</title>
<updated>2009-10-22T22:11:59Z</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2009-10-14T01:19:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b5a56fc94bcc0910870391da8778ba1c6d41bd3d'/>
<id>urn:sha1:b5a56fc94bcc0910870391da8778ba1c6d41bd3d</id>
<content type='text'>
commit 0af49167b1e5ba154e90d2c454bf4624ee47df80 upstream.

This fixes a panic which is triggered when the hardware "disappears" from
beneath the driver, i.e. when wireless is toggled off via Fn-F2 on various
EeePC models.

Ref. bug report http://bugzilla.kernel.org/show_bug.cgi?id=13390
          panic http://bugzilla.kernel.org/attachment.cgi?id=21928

Signed-off-by: Darren Salt &lt;linux@youmustbejoking.demon.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>sysfs: Allow sysfs_notify_dirent to be called from interrupt context.</title>
<updated>2009-10-22T22:11:59Z</updated>
<author>
<name>Neil Brown</name>
<email>neilb@suse.de</email>
</author>
<published>2009-09-15T23:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5b78a7630478e3e10c6d3ca53b2cffbee4aa0b5b'/>
<id>urn:sha1:5b78a7630478e3e10c6d3ca53b2cffbee4aa0b5b</id>
<content type='text'>
commit 83db93f4de2d9ae441a491d1dc61c2204f0195de upstream.

sysfs_notify_dirent is a simple atomic operation that can be used to
alert user-space that new data can be read from a sysfs attribute.

Unfortunately it cannot currently be called from non-process context
because of its use of spin_lock which is sometimes taken with
interrupts enabled.

So change all lockers of sysfs_open_dirent_lock to disable interrupts,
thus making sysfs_notify_dirent safe to be called from non-process
context (as drivers/md does in md_safemode_timeout).

sysfs_get_open_dirent is (documented as being) only called from
process context, so it uses spin_lock_irq.  Other places
use spin_lock_irqsave.

The usage for sysfs_notify_dirent in md_safemode_timeout was
introduced in 2.6.28, so this patch is suitable for that and more
recent kernels.

Reported-by: Joel Andres Granados &lt;jgranado@redhat.com&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>bsdacct: switch credentials for writing to the accounting file</title>
<updated>2009-10-22T22:11:59Z</updated>
<author>
<name>Michal Schmidt</name>
<email>mschmidt@redhat.com</email>
</author>
<published>2009-08-20T21:39:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d4b093b89cf8aab0d478e6545c078a5dc08f73d'/>
<id>urn:sha1:0d4b093b89cf8aab0d478e6545c078a5dc08f73d</id>
<content type='text'>
commit d8e180dcd5bbbab9cd3ff2e779efcf70692ef541 upstream.

When process accounting is enabled, every exiting process writes a log to
the account file.  In addition, every once in a while one of the exiting
processes checks whether there's enough free space for the log.

SELinux policy may or may not allow the exiting process to stat the fs.
So unsuspecting processes start generating AVC denials just because
someone enabled process accounting.

For these filesystem operations, the exiting process's credentials should
be temporarily switched to that of the process which enabled accounting,
because it's really that process which wanted to have the accounting
information logged.

Signed-off-by: Michal Schmidt &lt;mschmidt@redhat.com&gt;
Acked-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Serge Hallyn &lt;serue@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ALSA: Don't assume i2c device probing always succeeds</title>
<updated>2009-10-22T22:11:58Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2009-10-01T05:46:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6a56395fa727528beb92ffe3b126068894fb7893'/>
<id>urn:sha1:6a56395fa727528beb92ffe3b126068894fb7893</id>
<content type='text'>
commit 18c4078489fe064cc0ed08be3381cf2f26657f5f upstream.

The client-&gt;driver pointer can be NULL when i2c-device probing fails
in i2c_new_device().  This patch adds the NULL checks for client-&gt;driver
and return the error instead of blind assumption of driver availability.

Reported-by: Tim Shepard &lt;shep@alum.mit.edu&gt;
Cc: Jean Delvare &lt;khali@linux-fr.org&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>i2c: Hide probe errors caused by ACPI resource conflicts</title>
<updated>2009-10-22T22:11:58Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2009-10-04T20:53:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=91be0e881d6abf1da9903c831d20954f2325ce3e'/>
<id>urn:sha1:91be0e881d6abf1da9903c831d20954f2325ce3e</id>
<content type='text'>
commit 18669eabde2ff5fc446e72e043f0539059763438 upstream.

When an ACPI resource conflict is detected, error messages are already
printed by ACPI. There's no point in causing the driver core to print
more error messages, so return one of the error codes for which no
message is printed.

This fixes bug #14293:
http://bugzilla.kernel.org/show_bug.cgi?id=14293

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

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