<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/misc, branch v2.6.32.32</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/misc?h=v2.6.32.32</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/misc?h=v2.6.32.32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-12-09T21:27:15Z</updated>
<entry>
<title>x86: uv: xpc NULL deref when mesq becomes empty</title>
<updated>2010-12-09T21:27:15Z</updated>
<author>
<name>Robin Holt</name>
<email>holt@sgi.com</email>
</author>
<published>2009-12-16T00:47:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0b9c55355f283356e7d767098ebe074f15acd021'/>
<id>urn:sha1:0b9c55355f283356e7d767098ebe074f15acd021</id>
<content type='text'>
commit 15b87d67ff3dc042bee42f991858d6b121b3b3ca upstream.

Under heavy load conditions, our set of xpc messages may become exhausted.
 The code handles this correctly with the exception of the management code
which hits a NULL pointer dereference.

Signed-off-by: Robin Holt &lt;holt@sgi.com&gt;
Cc: Jack Steiner &lt;steiner@sgi.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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>X86: uv: xpc_make_first_contact hang due to not accepting ACTIVE state</title>
<updated>2010-12-09T21:27:15Z</updated>
<author>
<name>Robin Holt</name>
<email>holt@sgi.com</email>
</author>
<published>2009-12-16T00:47:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=48286a6e86d003d469f1ac50bb27d29cf90a8567'/>
<id>urn:sha1:48286a6e86d003d469f1ac50bb27d29cf90a8567</id>
<content type='text'>
commit dbd2918ec65c35f36bb102c88eafe87be0552f6f upstream.

Many times while the initial connection is being made, the contacted
partition will send back both the ACTIVATING and the ACTIVE
remote_act_state changes in very close succescion.  The 1/4 second delay
in the make first contact loop is large enough to nearly always miss the
ACTIVATING state change.

Since either state indicates the remote partition has acknowledged our
state change, accept either.

Signed-off-by: Robin Holt &lt;holt@sgi.com&gt;
Cc: Jack Steiner &lt;steiner@sgi.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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>x86: uv: XPC receive message reuse triggers invalid BUG_ON()</title>
<updated>2010-12-09T21:27:14Z</updated>
<author>
<name>Robin Holt</name>
<email>holt@sgi.com</email>
</author>
<published>2009-12-16T00:47:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=68d39a688abd1509d995bb3f25aedbbefa89332c'/>
<id>urn:sha1:68d39a688abd1509d995bb3f25aedbbefa89332c</id>
<content type='text'>
commit 046d6c563b1c6226bbf0f84e5b2413ad8ab921a1 upstream.

This was a difficult bug to trip.  XPC was in the middle of sending an
acknowledgement for a received message.

In xpc_received_payload_uv():
.
        ret = xpc_send_gru_msg(ch-&gt;sn.uv.cached_notify_gru_mq_desc, msg,
                               sizeof(struct xpc_notify_mq_msghdr_uv));
        if (ret != xpSuccess)
                XPC_DEACTIVATE_PARTITION(&amp;xpc_partitions[ch-&gt;partid], ret);

        msg-&gt;hdr.msg_slot_number += ch-&gt;remote_nentries;

at the point in xpc_send_gru_msg() where the hardware has dispatched the
acknowledgement, the remote side is able to reuse the message structure
and send a message with a different slot number.  This problem is made
worse by interrupts.

The adjustment of msg_slot_number and the BUG_ON in
xpc_handle_notify_mq_msg_uv() which verifies the msg_slot_number is
consistent are only used for debug purposes.  Since a fix for this that
preserves the debug functionality would either have to infringe upon the
payload or allocate another structure just for debug, I decided to remove
it entirely.

Signed-off-by: Robin Holt &lt;holt@sgi.com&gt;
Cc: Jack Steiner &lt;steiner@sgi.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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>UV - XPC: pass nasid instead of nid to gru_create_message_queue</title>
<updated>2010-12-09T21:27:14Z</updated>
<author>
<name>Robin Holt</name>
<email>holt@sgi.com</email>
</author>
<published>2009-12-16T00:48:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0bbe1f679dbdca0994346580399afcbfe41350b5'/>
<id>urn:sha1:0bbe1f679dbdca0994346580399afcbfe41350b5</id>
<content type='text'>
commit 57e6d258b1e41cd7ceb26fa43ce116939d8440b1 upstream.

Currently, the UV xpc code is passing nid to the gru_create_message_queue
instead of nasid as it expects.

Signed-off-by: Robin Holt &lt;holt@sgi.com&gt;
Signed-off-by: Jack Steiner &lt;steiner@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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>sgi-xpc: XPC fails to discover partitions with all nasids above 128</title>
<updated>2010-12-09T21:26:42Z</updated>
<author>
<name>Robin@sgi.com</name>
<email>Robin@sgi.com</email>
</author>
<published>2010-11-24T20:56:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1e251f22b6ef6e018286e9a9745e66409131e353'/>
<id>urn:sha1:1e251f22b6ef6e018286e9a9745e66409131e353</id>
<content type='text'>
commit c22c7aeff69796f46ae0fcec141538e28f50b24e upstream.

UV hardware defines 256 memory protection regions versus the baseline 64
with increasing size for the SN2 ia64.  This was overlooked when XPC was
modified to accomodate both UV and SN2.

Without this patch, a user could reconfigure their existing system and
suddenly disable cross-partition communications with no indication of what
has gone wrong.  It also prevents larger configurations from using
cross-partition communication.

Signed-off-by: Robin Holt &lt;holt@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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>sgi-xp: incoming XPC channel messages can come in after the channel's partition structures have been torn down</title>
<updated>2010-11-22T18:47:38Z</updated>
<author>
<name>Robin Holt</name>
<email>holt@sgi.com</email>
</author>
<published>2010-10-26T21:21:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=73d4907e4d42bb42307807d4929be76e6b4a92a0'/>
<id>urn:sha1:73d4907e4d42bb42307807d4929be76e6b4a92a0</id>
<content type='text'>
commit 09358972bff5ce99de496bbba97c85d417b3c054 upstream.

Under some workloads, some channel messages have been observed being
delayed on the sending side past the point where the receiving side has
been able to tear down its partition structures.

This condition is already detected in xpc_handle_activate_IRQ_uv(), but
that information is not given to xpc_handle_activate_mq_msg_uv().  As a
result, xpc_handle_activate_mq_msg_uv() assumes the structures still exist
and references them, causing a NULL-pointer deref.

Signed-off-by: Robin Holt &lt;holt@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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>SCSI: enclosure: fix error path - actually return ERR_PTR() on error</title>
<updated>2010-08-10T17:20:44Z</updated>
<author>
<name>James Bottomley</name>
<email>James.Bottomley@suse.de</email>
</author>
<published>2010-03-12T22:14:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0c7607070fcdb517a4f315b2150a2d05b6b00e7c'/>
<id>urn:sha1:0c7607070fcdb517a4f315b2150a2d05b6b00e7c</id>
<content type='text'>
commit a91c1be21704113b023919826c6d531da46656ef upstream.

we also need to clean up and free the cdev.

Reported-by: Jani Nikula &lt;ext-jani.1.nikula@nokia.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>SCSI: enclosure: fix oops while iterating enclosure_status array</title>
<updated>2010-01-25T18:49:37Z</updated>
<author>
<name>James Bottomley</name>
<email>James.Bottomley@suse.de</email>
</author>
<published>2009-11-26T15:50:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8cef765ff1eafb77cc40e8dad7a7a00190d9a6fc'/>
<id>urn:sha1:8cef765ff1eafb77cc40e8dad7a7a00190d9a6fc</id>
<content type='text'>
commit cc9b2e9f6603190c009e5d2629ce8e3f99571346 upstream.

Based on patch originally by Jeff Mahoney &lt;jeffm@suse.com&gt;

 enclosure_status is expected to be a NULL terminated array of strings
 but isn't actually NULL terminated. When writing an invalid value to
 /sys/class/enclosure/.../.../status, it goes off the end of the array
 and Oopses.


Fix by making the assumption true and adding NULL at the end.

Reported-by: Artur Wojcik &lt;artur.wojcik@intel.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>at24: Use timeout also for read</title>
<updated>2009-11-26T08:22:33Z</updated>
<author>
<name>Wolfram Sang</name>
<email>w.sang@pengutronix.de</email>
</author>
<published>2009-11-26T08:22:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4d29196c535088e807061ce2a0aa526daec2edfb'/>
<id>urn:sha1:4d29196c535088e807061ce2a0aa526daec2edfb</id>
<content type='text'>
Writes may take some time on EEPROMs, so for consecutive writes, we already
have a loop waiting for the EEPROM to become ready. Use such a loop for reads,
too, in case somebody wants to immediately read after a write. Detailed bug
report and test case can be found here:

http://article.gmane.org/gmane.linux.drivers.i2c/4660

Reported-by: Aleksandar Ivanov &lt;ivanov.aleks@gmail.com&gt;
Signed-off-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
Tested-by: Aleksandar Ivanov &lt;ivanov.aleks@gmail.com&gt;
Cc: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>sgi-gru: decrapfiy options_write() function</title>
<updated>2009-11-05T18:48:30Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-11-05T18:48:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d39b7dd1dcbf394a1cb897457c862dafe9a20ac5'/>
<id>urn:sha1:d39b7dd1dcbf394a1cb897457c862dafe9a20ac5</id>
<content type='text'>
Not a single line of actual code in the function was really
fundamentally correct.

Problems ranged from lack of proper range checking, to removing the last
character written (which admittedly is usually '\n'), to not accepting
hex numbers even though the 'show' routine would show the data in that
format.

This tries to do better.

Acked-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Tested-and-acked-by: Jack Steiner &lt;steiner@sgi.com&gt;
Cc: stable@kernel.org
Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Cc: Michael Gilbert &lt;michael.s.gilbert@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
