<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git, branch v4.1.24</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.1.24</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.1.24'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2016-05-11T04:10:35+00:00</updated>
<entry>
<title>Linux 4.1.24</title>
<updated>2016-05-11T04:10:35+00:00</updated>
<author>
<name>Sasha Levin</name>
<email>sasha.levin@oracle.com</email>
</author>
<published>2016-05-11T04:10:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=648d744eff1aedea4ffe49dfca07aa465669e1f4'/>
<id>urn:sha1:648d744eff1aedea4ffe49dfca07aa465669e1f4</id>
<content type='text'>
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>x86 EDAC, sb_edac.c: Repair damage introduced when "fixing" channel address</title>
<updated>2016-05-10T16:17:33+00:00</updated>
<author>
<name>Tony Luck</name>
<email>tony.luck@intel.com</email>
</author>
<published>2016-04-14T17:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8e8ad4a07714556769f0bc5496b69c63b0fc902d'/>
<id>urn:sha1:8e8ad4a07714556769f0bc5496b69c63b0fc902d</id>
<content type='text'>
[ Upstream commit ff15e95c82768d589957dbb17d7eb7dba7904659 ]

In commit:

  eb1af3b71f9d ("Fix computation of channel address")

I switched the "sck_way" variable from holding the log2 value read
from the h/w to instead be the actual number. Unfortunately it
is needed in log2 form when used to shift the address.

Tested-by: Patrick Geary &lt;patrickg@supermicro.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
Acked-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Cc: Aristeu Rozanski &lt;arozansk@redhat.com&gt;
Cc: Borislav Petkov &lt;bp@alien8.de&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linux-edac@vger.kernel.org
Cc: stable@vger.kernel.org
Fixes: eb1af3b71f9d ("Fix computation of channel address")
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>x86/mm/xen: Suppress hugetlbfs in PV guests</title>
<updated>2016-05-10T16:17:33+00:00</updated>
<author>
<name>Jan Beulich</name>
<email>JBeulich@suse.com</email>
</author>
<published>2016-04-21T06:27:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=936d0871135e41fba0dc15095319ca106f55a584'/>
<id>urn:sha1:936d0871135e41fba0dc15095319ca106f55a584</id>
<content type='text'>
[ Upstream commit 103f6112f253017d7062cd74d17f4a514ed4485c ]

Huge pages are not normally available to PV guests. Not suppressing
hugetlbfs use results in an endless loop of page faults when user mode
code tries to access a hugetlbfs mapped area (since the hypervisor
denies such PTEs to be created, but error indications can't be
propagated out of xen_set_pte_at(), just like for various of its
siblings), and - once killed in an oops like this:

  kernel BUG at .../fs/hugetlbfs/inode.c:428!
  invalid opcode: 0000 [#1] SMP
  ...
  RIP: e030:[&lt;ffffffff811c333b&gt;]  [&lt;ffffffff811c333b&gt;] remove_inode_hugepages+0x25b/0x320
  ...
  Call Trace:
   [&lt;ffffffff811c3415&gt;] hugetlbfs_evict_inode+0x15/0x40
   [&lt;ffffffff81167b3d&gt;] evict+0xbd/0x1b0
   [&lt;ffffffff8116514a&gt;] __dentry_kill+0x19a/0x1f0
   [&lt;ffffffff81165b0e&gt;] dput+0x1fe/0x220
   [&lt;ffffffff81150535&gt;] __fput+0x155/0x200
   [&lt;ffffffff81079fc0&gt;] task_work_run+0x60/0xa0
   [&lt;ffffffff81063510&gt;] do_exit+0x160/0x400
   [&lt;ffffffff810637eb&gt;] do_group_exit+0x3b/0xa0
   [&lt;ffffffff8106e8bd&gt;] get_signal+0x1ed/0x470
   [&lt;ffffffff8100f854&gt;] do_signal+0x14/0x110
   [&lt;ffffffff810030e9&gt;] prepare_exit_to_usermode+0xe9/0xf0
   [&lt;ffffffff814178a5&gt;] retint_user+0x8/0x13

This is CVE-2016-3961 / XSA-174.

Reported-by: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;
Cc: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Cc: Borislav Petkov &lt;bp@alien8.de&gt;
Cc: Brian Gerst &lt;brgerst@gmail.com&gt;
Cc: David Vrabel &lt;david.vrabel@citrix.com&gt;
Cc: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Juergen Gross &lt;JGross@suse.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Luis R. Rodriguez &lt;mcgrof@suse.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Toshi Kani &lt;toshi.kani@hp.com&gt;
Cc: stable@vger.kernel.org
Cc: xen-devel &lt;xen-devel@lists.xenproject.org&gt;
Link: http://lkml.kernel.org/r/57188ED802000078000E431C@prv-mh.provo.novell.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>s390/hugetlb: add hugepages_supported define</title>
<updated>2016-05-10T16:17:33+00:00</updated>
<author>
<name>Dominik Dingel</name>
<email>dingel@linux.vnet.ibm.com</email>
</author>
<published>2015-07-17T23:23:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5a1b27489677535af7cf2ef082d0521f32fa145b'/>
<id>urn:sha1:5a1b27489677535af7cf2ef082d0521f32fa145b</id>
<content type='text'>
[ Upstream commit 7f9be77555bb2e52de84e9dddf7b4eb20cc6e171 ]

On s390 we only can enable hugepages if the underlying hardware/hypervisor
also does support this.  Common code now would assume this to be
signaled by setting HPAGE_SHIFT to 0.  But on s390, where we only
support one hugepage size, there is a link between HPAGE_SHIFT and
pageblock_order.

So instead of setting HPAGE_SHIFT to 0, we will implement the check for
the hardware capability.

Signed-off-by: Dominik Dingel &lt;dingel@linux.vnet.ibm.com&gt;
Acked-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Cc: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Cc: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Cc: Gerald Schaefer &lt;gerald.schaefer@de.ibm.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: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>mm: hugetlb: allow hugepages_supported to be architecture specific</title>
<updated>2016-05-10T16:17:32+00:00</updated>
<author>
<name>Dominik Dingel</name>
<email>dingel@linux.vnet.ibm.com</email>
</author>
<published>2015-07-17T23:23:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ec8d85066c3a598ba747f578232d3dc89b33fa13'/>
<id>urn:sha1:ec8d85066c3a598ba747f578232d3dc89b33fa13</id>
<content type='text'>
[ Upstream commit 2531c8cf56a640cd7d17057df8484e570716a450 ]

s390 has a constant hugepage size, by setting HPAGE_SHIFT we also change
e.g. the pageblock_order, which should be independent in respect to
hugepage support.

With this patch every architecture is free to define how to check
for hugepage support.

Signed-off-by: Dominik Dingel &lt;dingel@linux.vnet.ibm.com&gt;
Acked-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Cc: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Cc: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Cc: Gerald Schaefer &lt;gerald.schaefer@de.ibm.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: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>drm: Loongson-3 doesn't fully support wc memory</title>
<updated>2016-05-10T16:17:32+00:00</updated>
<author>
<name>Huacai Chen</name>
<email>chenhc@lemote.com</email>
</author>
<published>2016-04-19T11:19:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b9a11c92d2060b6bafa8babb890d9e711e8b0f5e'/>
<id>urn:sha1:b9a11c92d2060b6bafa8babb890d9e711e8b0f5e</id>
<content type='text'>
[ Upstream commit 221004c66a58949a0f25c937a6789c0839feb530 ]

Signed-off-by: Huacai Chen &lt;chenhc@lemote.com&gt;
Cc: stable@vger.kernel.org
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: forbid mapping of userptr bo through radeon device file</title>
<updated>2016-05-10T16:17:32+00:00</updated>
<author>
<name>Jérôme Glisse</name>
<email>jglisse@redhat.com</email>
</author>
<published>2016-04-19T13:07:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2719d3c05d4c93054e7c5838cc5b1906f72b465e'/>
<id>urn:sha1:2719d3c05d4c93054e7c5838cc5b1906f72b465e</id>
<content type='text'>
[ Upstream commit b5dcec693f87cb8475f2291c0075b2422addd3d6 ]

Allowing userptr bo which are basicly a list of page from some vma
(so either anonymous page or file backed page) would lead to serious
corruption of kernel structures and counters (because we overwrite
the page-&gt;mapping field when mapping buffer).

This will already block if the buffer was populated before anyone does
try to mmap it because then TTM_PAGE_FLAG_SG would be set in in the
ttm_tt flags. But that flag is check before ttm_tt_populate in the ttm
vm fault handler.

So to be safe just add a check to verify_access() callback.

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Jérôme Glisse &lt;jglisse@redhat.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>drm/dp/mst: Validate port in drm_dp_payload_send_msg()</title>
<updated>2016-05-10T16:17:32+00:00</updated>
<author>
<name>cpaul@redhat.com</name>
<email>cpaul@redhat.com</email>
</author>
<published>2016-04-04T23:58:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8361444613b869bd65386042f5c217469adb0952'/>
<id>urn:sha1:8361444613b869bd65386042f5c217469adb0952</id>
<content type='text'>
[ Upstream commit deba0a2af9592b2022a0bce7b085a318b53ce1db ]

With the joys of things running concurrently, there's always a chance
that the port we get passed in drm_dp_payload_send_msg() isn't actually
valid anymore. Because of this, we need to make sure we validate the
reference to the port before we use it otherwise we risk running into
various race conditions. For instance, on the Dell MST monitor I have
here for testing, hotplugging it enough times causes us to kernel panic:

[drm:intel_mst_enable_dp] 1
[drm:drm_dp_update_payload_part2] payload 0 1
[drm:intel_get_hpd_pins] hotplug event received, stat 0x00200000, dig 0x10101011, pins 0x00000020
[drm:intel_hpd_irq_handler] digital hpd port B - short
[drm:intel_dp_hpd_pulse] got hpd irq on port B - short
[drm:intel_dp_check_mst_status] got esi 00 10 00
[drm:drm_dp_update_payload_part2] payload 1 1
general protection fault: 0000 [#1] SMP
…
Call Trace:
 [&lt;ffffffffa012b632&gt;] drm_dp_update_payload_part2+0xc2/0x130 [drm_kms_helper]
 [&lt;ffffffffa032ef08&gt;] intel_mst_enable_dp+0xf8/0x180 [i915]
 [&lt;ffffffffa0310dbd&gt;] haswell_crtc_enable+0x3ed/0x8c0 [i915]
 [&lt;ffffffffa030c84d&gt;] intel_atomic_commit+0x5ad/0x1590 [i915]
 [&lt;ffffffffa01db877&gt;] ? drm_atomic_set_crtc_for_connector+0x57/0xe0 [drm]
 [&lt;ffffffffa01dc4e7&gt;] drm_atomic_commit+0x37/0x60 [drm]
 [&lt;ffffffffa0130a3a&gt;] drm_atomic_helper_set_config+0x7a/0xb0 [drm_kms_helper]
 [&lt;ffffffffa01cc482&gt;] drm_mode_set_config_internal+0x62/0x100 [drm]
 [&lt;ffffffffa01d02ad&gt;] drm_mode_setcrtc+0x3cd/0x4e0 [drm]
 [&lt;ffffffffa01c18e3&gt;] drm_ioctl+0x143/0x510 [drm]
 [&lt;ffffffffa01cfee0&gt;] ? drm_mode_setplane+0x1b0/0x1b0 [drm]
 [&lt;ffffffff810f79a7&gt;] ? hrtimer_start_range_ns+0x1b7/0x3a0
 [&lt;ffffffff81212962&gt;] do_vfs_ioctl+0x92/0x570
 [&lt;ffffffff81590852&gt;] ? __sys_recvmsg+0x42/0x80
 [&lt;ffffffff81212eb9&gt;] SyS_ioctl+0x79/0x90
 [&lt;ffffffff816b4e32&gt;] entry_SYSCALL_64_fastpath+0x1a/0xa4
RIP  [&lt;ffffffffa012b026&gt;] drm_dp_payload_send_msg+0x146/0x1f0 [drm_kms_helper]

Which occurs because of the hotplug event shown in the log, which ends
up causing DRM's dp helpers to drop the port we're updating the payload
on and panic.

CC: stable@vger.kernel.org
Signed-off-by: Lyude &lt;cpaul@redhat.com&gt;
Reviewed-by: David Airlie &lt;airlied@linux.ie&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>ALSA: pcxhr: Fix missing mutex unlock</title>
<updated>2016-05-10T16:17:31+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2016-04-21T15:37:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=faaa136bc7a4ed96ffe9585b495ec8bfac0032a8'/>
<id>urn:sha1:faaa136bc7a4ed96ffe9585b495ec8bfac0032a8</id>
<content type='text'>
[ Upstream commit 67f3754b51f22b18c4820fb84062f658c30e8644 ]

The commit [9bef72bdb26e: ALSA: pcxhr: Use nonatomic PCM ops]
converted to non-atomic PCM ops, but shamelessly with an unbalanced
mutex locking, which leads to the hangup easily.  Fix it.

Fixes: 9bef72bdb26e ('ALSA: pcxhr: Use nonatomic PCM ops')
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=116441
Cc: &lt;stable@vger.kernel.org&gt; # 3.18+
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>futex: Handle unlock_pi race gracefully</title>
<updated>2016-05-10T16:17:31+00:00</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
<email>bigeasy@linutronix.de</email>
</author>
<published>2016-04-15T12:35:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=28f83d2daecd97392c9a0580c00853a19a76a8bc'/>
<id>urn:sha1:28f83d2daecd97392c9a0580c00853a19a76a8bc</id>
<content type='text'>
[ Upstream commit 89e9e66ba1b3bde9d8ea90566c2aee20697ad681 ]

If userspace calls UNLOCK_PI unconditionally without trying the TID -&gt; 0
transition in user space first then the user space value might not have the
waiters bit set. This opens the following race:

CPU0	    	      	    CPU1
uval = get_user(futex)
			    lock(hb)
lock(hb)
			    futex |= FUTEX_WAITERS
			    ....
			    unlock(hb)

cmpxchg(futex, uval, newval)

So the cmpxchg fails and returns -EINVAL to user space, which is wrong because
the futex value is valid.

To handle this (yes, yet another) corner case gracefully, check for a flag
change and retry.

[ tglx: Massaged changelog and slightly reworked implementation ]

Fixes: ccf9e6a80d9e ("futex: Make unlock_pi more robust")
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Cc: stable@vger.kernel.org
Cc: Davidlohr Bueso &lt;dave@stgolabs.net&gt;
Cc: Darren Hart &lt;dvhart@linux.intel.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Link: http://lkml.kernel.org/r/1460723739-5195-1-git-send-email-bigeasy@linutronix.de
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
</feed>
