<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git, branch v3.0.96</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.0.96</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.0.96'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-09-14T12:58:09+00:00</updated>
<entry>
<title>Linux 3.0.96</title>
<updated>2013-09-14T12:58:09+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2013-09-14T12:58:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=04b25c9dde9337ea972147f47fa75709dd7377f3'/>
<id>urn:sha1:04b25c9dde9337ea972147f47fa75709dd7377f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>KVM: s390: move kvm_guest_enter,exit closer to sie</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Dominik Dingel</name>
<email>dingel@linux.vnet.ibm.com</email>
</author>
<published>2013-07-26T13:04:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2ccddb4d6101ea65c3f716ca6546c4d82b767bdf'/>
<id>urn:sha1:2ccddb4d6101ea65c3f716ca6546c4d82b767bdf</id>
<content type='text'>
commit 2b29a9fdcb92bfc6b6f4c412d71505869de61a56 upstream.

Any uaccess between guest_enter and guest_exit could trigger a page fault,
the page fault handler would handle it as a guest fault and translate a
user address as guest address.

Signed-off-by: Dominik Dingel &lt;dingel@linux.vnet.ibm.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
[bwh: Backported to 3.2: adjust context and add the rc variable]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Reviewed-by: Dominik Dingel &lt;dingel@linux.vnet.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>m32r: make memset() global for CONFIG_KERNEL_BZIP2=y</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2012-07-17T22:48:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=40318c990ef6005a3c9933253e7b63a4f5e06c3a'/>
<id>urn:sha1:40318c990ef6005a3c9933253e7b63a4f5e06c3a</id>
<content type='text'>
commit 9a75c6e5240f7edc5955e8da5b94bde6f96070b3 upstream.

Fix the m32r compile error:

  arch/m32r/boot/compressed/misc.c:31:14: error: static declaration of 'memset' follows non-static declaration
  make[5]: *** [arch/m32r/boot/compressed/misc.o] Error 1
  make[4]: *** [arch/m32r/boot/compressed/vmlinux] Error 2

by removing the static keyword.

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Hirokazu Takata &lt;takata@linux-m32r.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>m32r: add memcpy() for CONFIG_KERNEL_GZIP=y</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2012-07-17T22:48:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4cfa1966cc4cec7ea37d572eca9f930b09dc3cf2'/>
<id>urn:sha1:4cfa1966cc4cec7ea37d572eca9f930b09dc3cf2</id>
<content type='text'>
commit a8abbca6617e1caa2344d2d38d0a35f3e5928b79 upstream.

Fix the m32r link error:

    LD      arch/m32r/boot/compressed/vmlinux
  arch/m32r/boot/compressed/misc.o: In function `zlib_updatewindow':
  misc.c:(.text+0x190): undefined reference to `memcpy'
  misc.c:(.text+0x190): relocation truncated to fit: R_M32R_26_PLTREL against undefined symbol `memcpy'
  make[5]: *** [arch/m32r/boot/compressed/vmlinux] Error 1

by adding our own implementation of memcpy().

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Hirokazu Takata &lt;takata@linux-m32r.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>m32r: consistently use "suffix-$(...)"</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2012-07-17T22:48:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=850cc18d180176194633acba57ff6bd443086ad9'/>
<id>urn:sha1:850cc18d180176194633acba57ff6bd443086ad9</id>
<content type='text'>
commit df12aef6a19bb2d69859a94936bda0e6ccaf3327 upstream.

Commit a556bec9955c ("m32r: fix arch/m32r/boot/compressed/Makefile")
changed "$(suffix_y)" to "$(suffix-y)", but didn't update any location
where "suffix_y" is set, causing:

  make[5]: *** No rule to make target `arch/m32r/boot/compressed/vmlinux.bin.', needed by `arch/m32r/boot/compressed/piggy.o'.  Stop.
  make[4]: *** [arch/m32r/boot/compressed/vmlinux] Error 2
  make[3]: *** [zImage] Error 2

Correct the other locations to fix this.

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Hirokazu Takata &lt;takata@linux-m32r.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pci: frv architecture needs generic setup-bus infrastructure</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2012-04-18T21:17:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dbc93fb6085c4182233621a981e7ec0a3539cbf9'/>
<id>urn:sha1:dbc93fb6085c4182233621a981e7ec0a3539cbf9</id>
<content type='text'>
commit cd0a2bfb77a3edeecd652081e0b1a163d3b0696b upstream.

Otherwise we get this link failure for frv's defconfig:

   LD      .tmp_vmlinux1
 drivers/built-in.o: In function `pci_assign_resource':
 (.text+0xbf0c): undefined reference to `pci_cardbus_resource_alignment'
 drivers/built-in.o: In function `pci_setup':
 pci.c:(.init.text+0x174): undefined reference to `pci_realloc_get_opt'
 pci.c:(.init.text+0x1a0): undefined reference to `pci_realloc_get_opt'
 make[1]: *** [.tmp_vmlinux1] Error 1

Cc: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>PARISC: include &lt;linux/prefetch.h&gt; in drivers/parisc/iommu-helpers.h</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Cong Wang</name>
<email>xiyou.wangcong@gmail.com</email>
</author>
<published>2012-02-03T07:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=288e9d859cc10e121a33dd603bd7174c98bd7ac8'/>
<id>urn:sha1:288e9d859cc10e121a33dd603bd7174c98bd7ac8</id>
<content type='text'>
commit 650275dbfb2f4c12bc91420ad5a99f955eabec98 upstream.

drivers/parisc/iommu-helpers.h:62: error: implicit declaration of function 'prefetchw'
make[3]: *** [drivers/parisc/sba_iommu.o] Error 1

drivers/parisc/iommu-helpers.h needs to #include &lt;linux/prefetch.h&gt;
where prefetchw is declared.

Signed-off-by: WANG Cong &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tipc: fix lockdep warning during bearer initialization</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Ying Xue</name>
<email>ying.xue@windriver.com</email>
</author>
<published>2012-08-16T12:09:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=49b74a1aebc95914fff369b746ce13558eb9063f'/>
<id>urn:sha1:49b74a1aebc95914fff369b746ce13558eb9063f</id>
<content type='text'>
[ Upstream commit 4225a398c1352a7a5c14dc07277cb5cc4473983b ]

When the lockdep validator is enabled, it will report the below
warning when we enable a TIPC bearer:

[ INFO: possible irq lock inversion dependency detected ]
---------------------------------------------------------
Possible interrupt unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock(ptype_lock);
                                local_irq_disable();
                                lock(tipc_net_lock);
                                lock(ptype_lock);
   &lt;Interrupt&gt;
   lock(tipc_net_lock);

  *** DEADLOCK ***

the shortest dependencies between 2nd lock and 1st lock:
  -&gt; (ptype_lock){+.+...} ops: 10 {
[...]
SOFTIRQ-ON-W at:
                      [&lt;c1089418&gt;] __lock_acquire+0x528/0x13e0
                      [&lt;c108a360&gt;] lock_acquire+0x90/0x100
                      [&lt;c1553c38&gt;] _raw_spin_lock+0x38/0x50
                      [&lt;c14651ca&gt;] dev_add_pack+0x3a/0x60
                      [&lt;c182da75&gt;] arp_init+0x1a/0x48
                      [&lt;c182dce5&gt;] inet_init+0x181/0x27e
                      [&lt;c1001114&gt;] do_one_initcall+0x34/0x170
                      [&lt;c17f7329&gt;] kernel_init+0x110/0x1b2
                      [&lt;c155b6a2&gt;] kernel_thread_helper+0x6/0x10
[...]
   ... key      at: [&lt;c17e4b10&gt;] ptype_lock+0x10/0x20
   ... acquired at:
    [&lt;c108a360&gt;] lock_acquire+0x90/0x100
    [&lt;c1553c38&gt;] _raw_spin_lock+0x38/0x50
    [&lt;c14651ca&gt;] dev_add_pack+0x3a/0x60
    [&lt;c8bc18d2&gt;] enable_bearer+0xf2/0x140 [tipc]
    [&lt;c8bb283a&gt;] tipc_enable_bearer+0x1ba/0x450 [tipc]
    [&lt;c8bb3a04&gt;] tipc_cfg_do_cmd+0x5c4/0x830 [tipc]
    [&lt;c8bbc032&gt;] handle_cmd+0x42/0xd0 [tipc]
    [&lt;c148e802&gt;] genl_rcv_msg+0x232/0x280
    [&lt;c148d3f6&gt;] netlink_rcv_skb+0x86/0xb0
    [&lt;c148e5bc&gt;] genl_rcv+0x1c/0x30
    [&lt;c148d144&gt;] netlink_unicast+0x174/0x1f0
    [&lt;c148ddab&gt;] netlink_sendmsg+0x1eb/0x2d0
    [&lt;c1456bc1&gt;] sock_aio_write+0x161/0x170
    [&lt;c1135a7c&gt;] do_sync_write+0xac/0xf0
    [&lt;c11360f6&gt;] vfs_write+0x156/0x170
    [&lt;c11361e2&gt;] sys_write+0x42/0x70
    [&lt;c155b0df&gt;] sysenter_do_call+0x12/0x38
[...]
}
  -&gt; (tipc_net_lock){+..-..} ops: 4 {
[...]
    IN-SOFTIRQ-R at:
                     [&lt;c108953a&gt;] __lock_acquire+0x64a/0x13e0
                     [&lt;c108a360&gt;] lock_acquire+0x90/0x100
                     [&lt;c15541cd&gt;] _raw_read_lock_bh+0x3d/0x50
                     [&lt;c8bb874d&gt;] tipc_recv_msg+0x1d/0x830 [tipc]
                     [&lt;c8bc195f&gt;] recv_msg+0x3f/0x50 [tipc]
                     [&lt;c146a5fa&gt;] __netif_receive_skb+0x22a/0x590
                     [&lt;c146ab0b&gt;] netif_receive_skb+0x2b/0xf0
                     [&lt;c13c43d2&gt;] pcnet32_poll+0x292/0x780
                     [&lt;c146b00a&gt;] net_rx_action+0xfa/0x1e0
                     [&lt;c103a4be&gt;] __do_softirq+0xae/0x1e0
[...]
}

&gt;From the log, we can see three different call chains between
CPU0 and CPU1:

Time 0 on CPU0:

  kernel_init()-&gt;inet_init()-&gt;dev_add_pack()

At time 0, the ptype_lock is held by CPU0 in dev_add_pack();

Time 1 on CPU1:

  tipc_enable_bearer()-&gt;enable_bearer()-&gt;dev_add_pack()

At time 1, tipc_enable_bearer() first holds tipc_net_lock, and then
wants to take ptype_lock to register TIPC protocol handler into the
networking stack.  But the ptype_lock has been taken by dev_add_pack()
on CPU0, so at this time the dev_add_pack() running on CPU1 has to be
busy looping.

Time 2 on CPU0:

  netif_receive_skb()-&gt;recv_msg()-&gt;tipc_recv_msg()

At time 2, an incoming TIPC packet arrives at CPU0, hence
tipc_recv_msg() will be invoked. In tipc_recv_msg(), it first wants
to hold tipc_net_lock.  At the moment, below scenario happens:

On CPU0, below is our sequence of taking locks:

  lock(ptype_lock)-&gt;lock(tipc_net_lock)

On CPU1, our sequence of taking locks looks like:

  lock(tipc_net_lock)-&gt;lock(ptype_lock)

Obviously deadlock may happen in this case.

But please note the deadlock possibly doesn't occur at all when the
first TIPC bearer is enabled.  Before enable_bearer() -- running on
CPU1 does not hold ptype_lock, so the TIPC receive handler (i.e.
recv_msg()) is not registered successfully via dev_add_pack(), so
the tipc_recv_msg() cannot be called by recv_msg() even if a TIPC
message comes to CPU0. But when the second TIPC bearer is
registered, the deadlock can perhaps really happen.

To fix it, we will push the work of registering TIPC protocol
handler into workqueue context. After the change, both paths taking
ptype_lock are always in process contexts, thus, the deadlock should
never occur.

Signed-off-by: Ying Xue &lt;ying.xue@windriver.com&gt;
Signed-off-by: Jon Maloy &lt;jon.maloy@ericsson.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ICMPv6: treat dest unreachable codes 5 and 6 as EACCES, not EPROTO</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Jiri Bohac</name>
<email>jbohac@suse.cz</email>
</author>
<published>2013-08-30T09:18:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2eeeacf627ab4bac67c3c1735b2c96fccbea6262'/>
<id>urn:sha1:2eeeacf627ab4bac67c3c1735b2c96fccbea6262</id>
<content type='text'>
[ Upstream commit 61e76b178dbe7145e8d6afa84bb4ccea71918994 ]

RFC 4443 has defined two additional codes for ICMPv6 type 1 (destination
unreachable) messages:
        5 - Source address failed ingress/egress policy
	6 - Reject route to destination

Now they are treated as protocol error and icmpv6_err_convert() converts them
to EPROTO.

RFC 4443 says:
	"Codes 5 and 6 are more informative subsets of code 1."

Treat codes 5 and 6 as code 1 (EACCES)

Btw, connect() returning -EPROTO confuses firefox, so that fallback to
other/IPv4 addresses does not work:
https://bugzilla.mozilla.org/show_bug.cgi?id=910773

Signed-off-by: Jiri Bohac &lt;jbohac@suse.cz&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: bridge: convert MLDv2 Query MRC into msecs_to_jiffies for max_delay</title>
<updated>2013-09-14T12:50:48+00:00</updated>
<author>
<name>Daniel Borkmann</name>
<email>dborkman@redhat.com</email>
</author>
<published>2013-08-29T21:55:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=238d6ce5d070b4f95a3deeaf979d8c7e30d7de5d'/>
<id>urn:sha1:238d6ce5d070b4f95a3deeaf979d8c7e30d7de5d</id>
<content type='text'>
[ Upstream commit 2d98c29b6fb3de44d9eaa73c09f9cf7209346383 ]

While looking into MLDv1/v2 code, I noticed that bridging code does
not convert it's max delay into jiffies for MLDv2 messages as we do
in core IPv6' multicast code.

RFC3810, 5.1.3. Maximum Response Code says:

  The Maximum Response Code field specifies the maximum time allowed
  before sending a responding Report. The actual time allowed, called
  the Maximum Response Delay, is represented in units of milliseconds,
  and is derived from the Maximum Response Code as follows: [...]

As we update timers that work with jiffies, we need to convert it.

Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Cc: Linus Lüssing &lt;linus.luessing@web.de&gt;
Cc: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
