<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux, branch v3.4.20</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/?h=v3.4.20</id>
<link rel='self' href='https://git.amat.us/linux/atom/?h=v3.4.20'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-11-26T19:40:05Z</updated>
<entry>
<title>Linux 3.4.20</title>
<updated>2012-11-26T19:40:05Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-11-26T19:40:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0f4475cfaaf80e34ea5496a93ce579fe8c6950d5'/>
<id>urn:sha1:0f4475cfaaf80e34ea5496a93ce579fe8c6950d5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libceph: drop declaration of ceph_con_get()</title>
<updated>2012-11-26T19:38:45Z</updated>
<author>
<name>Alex Elder</name>
<email>elder@inktank.com</email>
</author>
<published>2012-06-21T19:49:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d0e85e04fb57a65a6096a0b18c97ba5892d676d9'/>
<id>urn:sha1:d0e85e04fb57a65a6096a0b18c97ba5892d676d9</id>
<content type='text'>
commit 261030215d970c62f799e6e508e3c68fc7ec2aa9 upstream.

For some reason the declaration of ceph_con_get() and
ceph_con_put() did not get deleted in this commit:
    d59315ca libceph: drop ceph_con_get/put helpers and nref member

Clean that up.

Signed-off-by: Alex Elder &lt;elder@inktank.com&gt;
Cc: Herton Ronaldo Krzesinski &lt;herton.krzesinski@canonical.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert "serial: omap: fix software flow control"</title>
<updated>2012-11-26T19:38:44Z</updated>
<author>
<name>Felipe Balbi</name>
<email>balbi@ti.com</email>
</author>
<published>2012-10-16T14:09:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=51b8318a818623899f9eb24ce697d43301bbe349'/>
<id>urn:sha1:51b8318a818623899f9eb24ce697d43301bbe349</id>
<content type='text'>
commit a4f743851f74fc3e0cc40c13082e65c24139f481 upstream.

This reverts commit 957ee7270d632245b43f6feb0e70d9a5e9ea6cf6
(serial: omap: fix software flow control).

As Russell has pointed out, that commit isn't fixing
Software Flow Control at all, and it actually makes
it even more broken.

It was agreed to revert this commit and use Russell's
latest UART patches instead.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Cc: Andreas Bießmann &lt;andreas.devel@googlemail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ACPI video: Ignore errors after _DOD evaluation.</title>
<updated>2012-11-26T19:38:44Z</updated>
<author>
<name>Igor Murzov</name>
<email>e-mail@date.by</email>
</author>
<published>2012-10-13T00:41:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8217df07c9d8debd39a6d8e1e2271e97a3c899c7'/>
<id>urn:sha1:8217df07c9d8debd39a6d8e1e2271e97a3c899c7</id>
<content type='text'>
commit fba4e087361605d1eed63343bb08811f097c83ee upstream.

There are systems where video module known to work fine regardless
of broken _DOD and ignoring returned value here doesn't cause
any issues later. This should fix brightness controls on some laptops.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47861

Signed-off-by: Igor Murzov &lt;e-mail@date.by&gt;
Reviewed-by: Sergey V &lt;sftp.mtuci@gmail.com&gt;
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Abdallah Chatila &lt;abdallah.chatila@ericsson.com&gt;

</content>
</entry>
<entry>
<title>ceph: avoid 32-bit page index overflow</title>
<updated>2012-11-26T19:38:44Z</updated>
<author>
<name>Alex Elder</name>
<email>elder@inktank.com</email>
</author>
<published>2012-10-02T15:25:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b7d68a7434bbfd57049927ca713d57e44e0eee04'/>
<id>urn:sha1:b7d68a7434bbfd57049927ca713d57e44e0eee04</id>
<content type='text'>
(cherry picked from commit 6285bc231277419255f3498d3eb5ddc9f8e7fe79)

A pgoff_t is defined (by default) to have type (unsigned long).  On
architectures such as i686 that's a 32-bit type.  The ceph address
space code was attempting to produce 64 bit offsets by shifting a
page's index by PAGE_CACHE_SHIFT, but the result was not what was
desired because the shift occurred before the result got promoted
to 64 bits.

Fix this by converting all uses of page-&gt;index used in this way to
use the page_offset() macro, which ensures the 64-bit result has the
intended value.

This fixes http://tracker.newdream.net/issues/3112

Reported-by:  Mohamed Pakkeer &lt;pakkeer.mohideen@realimage.com&gt;
Signed-off-by: Alex Elder &lt;elder@inktank.com&gt;
Reviewed-by: Sage Weil &lt;sage@inktank.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>libceph: check for invalid mapping</title>
<updated>2012-11-26T19:38:44Z</updated>
<author>
<name>Sage Weil</name>
<email>sage@inktank.com</email>
</author>
<published>2012-09-25T03:59:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dfae3b3451c6da14df1fa62d76c8a4345d21bdb2'/>
<id>urn:sha1:dfae3b3451c6da14df1fa62d76c8a4345d21bdb2</id>
<content type='text'>
(cherry picked from commit d63b77f4c552cc3a20506871046ab0fcbc332609)

If we encounter an invalid (e.g., zeroed) mapping, return an error
and avoid a divide by zero.

Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
Reviewed-by: Alex Elder &lt;elder@inktank.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ceph: Fix oops when handling mdsmap that decreases max_mds</title>
<updated>2012-11-26T19:38:44Z</updated>
<author>
<name>Yan, Zheng</name>
<email>zheng.z.yan@intel.com</email>
</author>
<published>2012-09-20T09:42:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=73bba6fc44591587254fec8e867a99b5a2a28ba7'/>
<id>urn:sha1:73bba6fc44591587254fec8e867a99b5a2a28ba7</id>
<content type='text'>
(cherry picked from commit 3e8f43a089f06279c5f76a9ccd42578eebf7bfa5)

When i &gt;= newmap-&gt;m_max_mds, ceph_mdsmap_get_addr(newmap, i) return
NULL. Passing NULL to memcmp() triggers oops.

Signed-off-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>libceph: avoid NULL kref_put when osd reset races with alloc_msg</title>
<updated>2012-11-26T19:38:43Z</updated>
<author>
<name>Sage Weil</name>
<email>sage@inktank.com</email>
</author>
<published>2012-10-24T23:12:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=631015e45ee3bdcde1fe75e7d04fdfece6e42016'/>
<id>urn:sha1:631015e45ee3bdcde1fe75e7d04fdfece6e42016</id>
<content type='text'>
(cherry picked from commit 9bd952615a42d7e2ce3fa2c632e808e804637a1a)

The ceph_on_in_msg_alloc() method drops con-&gt;mutex while it allocates a
message.  If that races with a timeout that resends a zillion messages and
resets the connection, and the -&gt;alloc_msg() method returns a NULL message,
it will call ceph_msg_put(NULL) and BUG.

Fix by only calling put if msg is non-NULL.

Fixes http://tracker.newdream.net/issues/3142

Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>rbd: reset BACKOFF if unable to re-queue</title>
<updated>2012-11-26T19:38:43Z</updated>
<author>
<name>Alex Elder</name>
<email>elder@inktank.com</email>
</author>
<published>2012-10-09T03:37:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a872024581f2e73edbea6eece56361ce508ea881'/>
<id>urn:sha1:a872024581f2e73edbea6eece56361ce508ea881</id>
<content type='text'>
(cherry picked from commit 588377d6199034c36d335e7df5818b731fea072c)

If ceph_fault() is unable to queue work after a delay, it sets the
BACKOFF connection flag so con_work() will attempt to do so.

In con_work(), when BACKOFF is set, if queue_delayed_work() doesn't
result in newly-queued work, it simply ignores this condition and
proceeds as if no backoff delay were desired.  There are two
problems with this--one of which is a bug.

The first problem is simply that the intended behavior is to back
off, and if we aren't able queue the work item to run after a delay
we're not doing that.

The only reason queue_delayed_work() won't queue work is if the
provided work item is already queued.  In the messenger, this
means that con_work() is already scheduled to be run again.  So
if we simply set the BACKOFF flag again when this occurs, we know
the next con_work() call will again attempt to hold off activity
on the connection until after the delay.

The second problem--the bug--is a leak of a reference count.  If
queue_delayed_work() returns 0 in con_work(), con-&gt;ops-&gt;put() drops
the connection reference held on entry to con_work().  However,
processing is (was) allowed to continue, and at the end of the
function a second con-&gt;ops-&gt;put() is called.

This patch fixes both problems.

Signed-off-by: Alex Elder &lt;elder@inktank.com&gt;
Reviewed-by: Sage Weil &lt;sage@inktank.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>libceph: only kunmap kmapped pages</title>
<updated>2012-11-26T19:38:43Z</updated>
<author>
<name>Alex Elder</name>
<email>elder@inktank.com</email>
</author>
<published>2012-09-21T22:59:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=21e292e34c48c03fb6638c2d1295ca12dac97b03'/>
<id>urn:sha1:21e292e34c48c03fb6638c2d1295ca12dac97b03</id>
<content type='text'>
(cherry picked from commit 5ce765a540f34d1e2005e1210f49f67fdf11e997)

In write_partial_msg_pages(), pages need to be kmapped in order to
perform a CRC-32c calculation on them.  As an artifact of the way
this code used to be structured, the kunmap() call was separated
from the kmap() call and both were done conditionally.  But the
conditions under which the kmap() and kunmap() calls were made
differed, so there was a chance a kunmap() call would be done on a
page that had not been mapped.

The symptom of this was tripping a BUG() in kunmap_high() when
pkmap_count[nr] became 0.

Reported-by: Bryan K. Wright &lt;bryan@virginia.edu&gt;
Signed-off-by: Alex Elder &lt;elder@inktank.com&gt;
Reviewed-by: Sage Weil &lt;sage@inktank.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
