From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>,
Boqun Feng <boqun.feng@gmail.com>,
Davidlohr Bueso <dave@stgolabs.net>,
Giovanni Gherdovich <ggherdovich@suse.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Pan Xinhui <xinhui.pan@linux.vnet.ibm.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Waiman Long <waiman.long@hpe.com>,
Will Deacon <will.deacon@arm.com>, Ingo Molnar <mingo@kernel.org>
Subject: [PATCH 4.6 029/203] locking/qspinlock: Fix spin_unlock_wait() some more
Date: Mon, 25 Jul 2016 13:54:04 -0700 [thread overview]
Message-ID: <20160725203430.431020544@linuxfoundation.org> (raw)
In-Reply-To: <20160725203429.221747288@linuxfoundation.org>
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Peter Zijlstra <peterz@infradead.org>
commit 2c610022711675ee908b903d242f0b90e1db661f upstream.
While this prior commit:
54cf809b9512 ("locking,qspinlock: Fix spin_is_locked() and spin_unlock_wait()")
... fixes spin_is_locked() and spin_unlock_wait() for the usage
in ipc/sem and netfilter, it does not in fact work right for the
usage in task_work and futex.
So while the 2 locks crossed problem:
spin_lock(A) spin_lock(B)
if (!spin_is_locked(B)) spin_unlock_wait(A)
foo() foo();
... works with the smp_mb() injected by both spin_is_locked() and
spin_unlock_wait(), this is not sufficient for:
flag = 1;
smp_mb(); spin_lock()
spin_unlock_wait() if (!flag)
// add to lockless list
// iterate lockless list
... because in this scenario, the store from spin_lock() can be delayed
past the load of flag, uncrossing the variables and loosing the
guarantee.
This patch reworks spin_is_locked() and spin_unlock_wait() to work in
both cases by exploiting the observation that while the lock byte
store can be delayed, the contender must have registered itself
visibly in other state contained in the word.
It also allows for architectures to override both functions, as PPC
and ARM64 have an additional issue for which we currently have no
generic solution.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Giovanni Gherdovich <ggherdovich@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Pan Xinhui <xinhui.pan@linux.vnet.ibm.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Waiman Long <waiman.long@hpe.com>
Cc: Will Deacon <will.deacon@arm.com>
Fixes: 54cf809b9512 ("locking,qspinlock: Fix spin_is_locked() and spin_unlock_wait()")
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
include/asm-generic/qspinlock.h | 53 +++++++++++------------------------
kernel/locking/qspinlock.c | 60 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+), 36 deletions(-)
--- a/include/asm-generic/qspinlock.h
+++ b/include/asm-generic/qspinlock.h
@@ -22,37 +22,33 @@
#include <asm-generic/qspinlock_types.h>
/**
+ * queued_spin_unlock_wait - wait until the _current_ lock holder releases the lock
+ * @lock : Pointer to queued spinlock structure
+ *
+ * There is a very slight possibility of live-lock if the lockers keep coming
+ * and the waiter is just unfortunate enough to not see any unlock state.
+ */
+#ifndef queued_spin_unlock_wait
+extern void queued_spin_unlock_wait(struct qspinlock *lock);
+#endif
+
+/**
* queued_spin_is_locked - is the spinlock locked?
* @lock: Pointer to queued spinlock structure
* Return: 1 if it is locked, 0 otherwise
*/
+#ifndef queued_spin_is_locked
static __always_inline int queued_spin_is_locked(struct qspinlock *lock)
{
/*
- * queued_spin_lock_slowpath() can ACQUIRE the lock before
- * issuing the unordered store that sets _Q_LOCKED_VAL.
- *
- * See both smp_cond_acquire() sites for more detail.
- *
- * This however means that in code like:
- *
- * spin_lock(A) spin_lock(B)
- * spin_unlock_wait(B) spin_is_locked(A)
- * do_something() do_something()
- *
- * Both CPUs can end up running do_something() because the store
- * setting _Q_LOCKED_VAL will pass through the loads in
- * spin_unlock_wait() and/or spin_is_locked().
+ * See queued_spin_unlock_wait().
*
- * Avoid this by issuing a full memory barrier between the spin_lock()
- * and the loads in spin_unlock_wait() and spin_is_locked().
- *
- * Note that regular mutual exclusion doesn't care about this
- * delayed store.
+ * Any !0 state indicates it is locked, even if _Q_LOCKED_VAL
+ * isn't immediately observable.
*/
- smp_mb();
- return atomic_read(&lock->val) & _Q_LOCKED_MASK;
+ return atomic_read(&lock->val);
}
+#endif
/**
* queued_spin_value_unlocked - is the spinlock structure unlocked?
@@ -122,21 +118,6 @@ static __always_inline void queued_spin_
}
#endif
-/**
- * queued_spin_unlock_wait - wait until current lock holder releases the lock
- * @lock : Pointer to queued spinlock structure
- *
- * There is a very slight possibility of live-lock if the lockers keep coming
- * and the waiter is just unfortunate enough to not see any unlock state.
- */
-static inline void queued_spin_unlock_wait(struct qspinlock *lock)
-{
- /* See queued_spin_is_locked() */
- smp_mb();
- while (atomic_read(&lock->val) & _Q_LOCKED_MASK)
- cpu_relax();
-}
-
#ifndef virt_spin_lock
static __always_inline bool virt_spin_lock(struct qspinlock *lock)
{
--- a/kernel/locking/qspinlock.c
+++ b/kernel/locking/qspinlock.c
@@ -267,6 +267,66 @@ static __always_inline u32 __pv_wait_he
#define queued_spin_lock_slowpath native_queued_spin_lock_slowpath
#endif
+/*
+ * queued_spin_lock_slowpath() can (load-)ACQUIRE the lock before
+ * issuing an _unordered_ store to set _Q_LOCKED_VAL.
+ *
+ * This means that the store can be delayed, but no later than the
+ * store-release from the unlock. This means that simply observing
+ * _Q_LOCKED_VAL is not sufficient to determine if the lock is acquired.
+ *
+ * There are two paths that can issue the unordered store:
+ *
+ * (1) clear_pending_set_locked(): *,1,0 -> *,0,1
+ *
+ * (2) set_locked(): t,0,0 -> t,0,1 ; t != 0
+ * atomic_cmpxchg_relaxed(): t,0,0 -> 0,0,1
+ *
+ * However, in both cases we have other !0 state we've set before to queue
+ * ourseves:
+ *
+ * For (1) we have the atomic_cmpxchg_acquire() that set _Q_PENDING_VAL, our
+ * load is constrained by that ACQUIRE to not pass before that, and thus must
+ * observe the store.
+ *
+ * For (2) we have a more intersting scenario. We enqueue ourselves using
+ * xchg_tail(), which ends up being a RELEASE. This in itself is not
+ * sufficient, however that is followed by an smp_cond_acquire() on the same
+ * word, giving a RELEASE->ACQUIRE ordering. This again constrains our load and
+ * guarantees we must observe that store.
+ *
+ * Therefore both cases have other !0 state that is observable before the
+ * unordered locked byte store comes through. This means we can use that to
+ * wait for the lock store, and then wait for an unlock.
+ */
+#ifndef queued_spin_unlock_wait
+void queued_spin_unlock_wait(struct qspinlock *lock)
+{
+ u32 val;
+
+ for (;;) {
+ val = atomic_read(&lock->val);
+
+ if (!val) /* not locked, we're done */
+ goto done;
+
+ if (val & _Q_LOCKED_MASK) /* locked, go wait for unlock */
+ break;
+
+ /* not locked, but pending, wait until we observe the lock */
+ cpu_relax();
+ }
+
+ /* any unlock is good */
+ while (atomic_read(&lock->val) & _Q_LOCKED_MASK)
+ cpu_relax();
+
+done:
+ smp_rmb(); /* CTRL + RMB -> ACQUIRE */
+}
+EXPORT_SYMBOL(queued_spin_unlock_wait);
+#endif
+
#endif /* _GEN_PV_LOCK_SLOWPATH */
/**
next prev parent reply other threads:[~2016-07-25 21:31 UTC|newest]
Thread overview: 199+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-25 20:53 [PATCH 4.6 000/203] 4.6.5-stable review Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 001/203] cfg80211: remove get/set antenna and tx power warnings Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 002/203] mac80211: fix fast_tx header alignment Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 003/203] mac80211: mesh: flush mesh paths unconditionally Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 004/203] mac80211_hwsim: Add missing check for HWSIM_ATTR_SIGNAL Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 005/203] mac80211: Fix mesh estab_plinks counting in STA removal case Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 006/203] cfg80211: fix proto in ieee80211_data_to_8023 for frames without LLC header Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 007/203] EDAC: Fix workqueues poll period resetting Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 008/203] EDAC, sb_edac: Fix rank lookup on Broadwell Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 009/203] futex: Calculate the futex key based on a tail page for file-based futexes Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 010/203] IB/core: Fix bit curruption in ib_device_cap_flags structure Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 011/203] IB/cm: Fix a recently introduced locking bug Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 012/203] IB/rdmavt: Correct qp_priv_alloc() return value test Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 013/203] IB/mlx4: Properly initialize GRH TClass and FlowLabel in AHs Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 014/203] powerpc/iommu: Remove the dependency on EEH struct in DDW mechanism Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 015/203] powerpc/pseries: Fix PCI config address for DDW Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 016/203] powerpc/pseries: Fix IBM_ARCH_VEC_NRCORES_OFFSET since POWER8NVL was added Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 017/203] powerpc/tm: Always reclaim in start_thread() for exec() class syscalls Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 018/203] usb: dwc2: fix regression on big-endian PowerPC/ARM systems Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 019/203] USB: EHCI: declare hostpc register as zero-length array Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 020/203] USB: dont free bandwidth_mutex too early Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 021/203] usb: common: otg-fsm: add license to usb-otg-fsm Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 022/203] mnt: fs_fully_visible test the proper mount for MNT_LOCKED Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 023/203] mnt: Account for MS_RDONLY in fs_fully_visible Greg Kroah-Hartman
2016-07-25 20:53 ` [PATCH 4.6 024/203] mnt: If fs_fully_visible fails call put_filesystem Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 025/203] of: fix autoloading due to broken modalias with no compatible Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 026/203] of: irq: fix of_irq_get[_byname]() kernel-doc Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 027/203] x86/msr: Use the proper trace point conditional for writes Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 028/203] locking/ww_mutex: Report recursive ww_mutex locking early Greg Kroah-Hartman
2016-07-25 20:54 ` Greg Kroah-Hartman [this message]
2016-07-25 20:54 ` [PATCH 4.6 030/203] locking/static_key: Fix concurrent static_key_slow_inc() Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 031/203] cpuidle: Do not access cpuidle_devices when !CONFIG_CPU_IDLE Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 032/203] x86, build: copy ldlinux.c32 to image.iso Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 033/203] kprobes/x86: Clear TF bit in fault on single-stepping Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 035/203] x86/amd_nb: Fix boot crash on non-AMD systems Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 036/203] perf/x86: Fix 32-bit perf user callgraph collection Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 037/203] extcon: palmas: Fix boot up state of VBUS when using GPIO detection Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 038/203] gpio: make library immune to error pointers Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 039/203] gpio: sch: Fix Oops on module load on Asus Eee PC 1201 Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 040/203] Revert "gpiolib: Split GPIO flags parsing and GPIO configuration" Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 041/203] autofs braino fix for do_last() Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 042/203] rtlwifi: Fix scheduling while atomic error from commit 49f86ec21c01 Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 043/203] uvc: Forward compat ioctls to their handlers directly Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 044/203] thermal: cpu_cooling: fix improper order during initialization Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 045/203] writeback: use higher precision calculation in domain_dirty_limits() Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 046/203] sd: Fix rw_max for devices that report an optimal xfer size Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 047/203] nfsd4/rpc: move backchannel create logic into rpc code Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 048/203] nfsd: Always lock state exclusively Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 049/203] nfsd: Extend the mutex holding region around in nfsd4_process_open2() Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 050/203] posix_acl: Add set_posix_acl Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 051/203] nfsd: check permissions when setting ACLs Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 052/203] pnfs_nfs: fix _cancel_empty_pagelist Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 053/203] NFS: Fix a double page unlock Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 054/203] make nfs_atomic_open() call d_drop() on all ->open_context() errors Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 055/203] NFS: Fix another OPEN_DOWNGRADE bug Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 056/203] SUNRPC: fix xprt leak on xps allocation failure Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 057/203] rpc: share one xps between all backchannels Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 058/203] regulator: qcom_smd: add list_voltage callback Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 059/203] regulator: qcom_smd: add regulator ops for pm8941 lnldo Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 060/203] ARM: imx6ul: Fix Micrel PHY mask Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 061/203] ARM: 8578/1: mm: ensure pmd_present only checks the valid bit Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 062/203] ARM: 8579/1: mm: Fix definition of pmd_mknotpresent Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 063/203] ARM: dts: sun6i: yones-toptech-bs1078-v2: Drop constraints on dc1sw regulator Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 064/203] ARM: dts: sun6i: primo81: " Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 066/203] irqchip/mips-gic: Fix IRQs in gic_dev_domain Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 067/203] mm: Export migrate_page_move_mapping and migrate_page_copy Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 068/203] UBIFS: Implement ->migratepage() Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 069/203] sched/fair: Fix cfs_rq avg tracking underflow Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 070/203] packet: Use symmetric hash for PACKET_FANOUT_HASH Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 071/203] net_sched: fix mirrored packets checksum Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 072/203] macsec: set actual real device for xmit when !protect_frames Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 073/203] geneve: fix max_mtu setting Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 075/203] ipv6: Fix mem leak in rt6i_pcpu Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 076/203] KEYS: potential uninitialized variable Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 077/203] kvm: vmx: check apicv is active before using VT-d posted interrupt Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 078/203] kvm: Fix irq route entries exceeding KVM_MAX_IRQ_ROUTES Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 079/203] KVM: s390/mm: Fix CMMA reset during reboot Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 080/203] KVM: arm/arm64: Stop leaking vcpu pid references Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 082/203] HID: elo: kill not flush the work Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 083/203] HID: hiddev: validate num_values for HIDIOCGUSAGES, HIDIOCSUSAGES commands Greg Kroah-Hartman
2016-07-25 20:54 ` [PATCH 4.6 084/203] Revert "HID: multitouch: enable palm rejection if device implements confidence usage" Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 085/203] HID: multitouch: enable palm rejection for Windows Precision Touchpad Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 086/203] tracing: Handle NULL formats in hold_module_trace_bprintk_format() Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 087/203] base: make module_create_drivers_dir race-free Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 088/203] iommu/rockchip: Fix zap cache during device attach Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 089/203] iommu/arm-smmu: Wire up map_sg for arm-smmu-v3 Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 090/203] iommu/vt-d: Enable QI on all IOMMUs before setting root entry Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 091/203] iommu/amd: Fix unity mapping initialization race Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 092/203] apparmor: fix oops, validate buffer size in apparmor_setprocattr() Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 093/203] drm/mgag200: Black screen fix for G200e rev 4 Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 094/203] drm/fsl-dcu: use flat regmap cache Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 095/203] ipmi: Remove smi_msg from waiting_rcv_msgs list before handle_one_recv_msg() Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 096/203] drm/nouveau/Revert "drm/nouveau/device/pci: set as non-CPU-coherent on ARM64" Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 097/203] arm64: fix dump_instr when PAN and UAO are in use Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 098/203] arm64: mm: remove page_mapping check in __sync_icache_dcache Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 099/203] arm64: kernel: Save and restore UAO and addr_limit on exception entry Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 100/203] vfs: add d_real_inode() helper Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 101/203] af_unix: fix hard linked sockets on overlay Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 102/203] percpu: fix synchronization between chunk->map_extend_work and chunk destruction Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 103/203] percpu: fix synchronization between synchronous map extension " Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 104/203] btrfs: account for non-CoWd blocks in btrfs_abort_transaction Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 105/203] drm/radeon: fix asic initialization for virtualized environments Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 106/203] drm/amdgpu/gfx7: fix broken condition check Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 108/203] drm/amdgpu: initialize amdgpu_cgs_acpi_eval_object result value Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 110/203] drm/amdkfd: unbind only existing processes Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 111/203] drm/amdkfd: destroy dbgmgr in notifier release Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 112/203] drm/dp/mst: Always clear proposed vcpi table for port Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 113/203] virtio_balloon: fix PFN format for virtio-1 Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 114/203] drm/nouveau/bios/disp: fix handling of "match any protocol" entries Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 115/203] drm/nouveau/disp/sor/gf119: both links use the same training register Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 116/203] drm/nouveau/gr/gf100-: update sm error decoding from gk20a nvgpu headers Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 117/203] drm/nouveau/ltc/gm107-: fix typo in the address of NV_PLTCG_LTC0_LTS0_INTR Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 118/203] drm/nouveau/fbcon: fix out-of-bounds memory accesses Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 119/203] drm/nouveau/disp/sor/gm107: training pattern registers are like gm200 Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 120/203] drm/nouveau: fix for disabled fbdev emulation Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 121/203] drm/nouveau/disp/sor/gf119: select correct sor when poking training pattern Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 123/203] drm/i915/fbc: Disable on HSW by default for now Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 125/203] drm/i915: Update ifdeffery for mutex->owner Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 126/203] drm: add missing drm_mode_set_crtcinfo call Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 127/203] drm: make drm_atomic_set_mode_prop_for_crtc() more reliable Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 128/203] drm: Wrap direct calls to driver->gem_free_object from CMA Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 129/203] drm/amd/powerplay: fix bug that function parameter was incorect Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 130/203] drm/amd/powerplay: need to notify system bios pcie device ready Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 131/203] drm/amd/powerplay: fix logic error Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 133/203] drm/amd/powerplay: fix incorrect voltage table value for tonga Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 134/203] drm: atmel-hlcdc: actually disable scaling when no scaling is required Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 135/203] drm/atomic: Make drm_atomic_legacy_backoff reset crtc->acquire_ctx Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 136/203] drm/ttm: Make ttm_bo_mem_compat available Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 137/203] drm/vmwgfx: Add an option to change assumed FB bpp Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 138/203] drm/vmwgfx: Work around mode set failure in 2D VMs Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 139/203] drm/vmwgfx: Check pin count before attempting to move a buffer Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 140/203] drm/vmwgfx: Delay pinning fbdev framebuffer until after mode set Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 141/203] drm/vmwgfx: Fix corner case screen target management Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 142/203] drm/vmwgfx: Fix error paths when mapping framebuffer Greg Kroah-Hartman
2016-07-25 20:55 ` [PATCH 4.6 143/203] memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing Greg Kroah-Hartman
2016-07-26 6:17 ` SebastienOcquidant
2016-07-25 20:55 ` [PATCH 4.6 144/203] PCI: Fix unaligned accesses in VC code Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 145/203] xen/balloon: Fix declared-but-not-defined warning Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 146/203] iio: Fix error handling in iio_trigger_attach_poll_func Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 147/203] iio:st_pressure: fix sampling gains (bring inline with ABI) Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 148/203] iio: light apds9960: Add the missing dev.parent Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 149/203] iio: proximity: as3935: correct IIO_CHAN_INFO_RAW output Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 150/203] iio: proximity: as3935: remove triggered buffer processing Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 151/203] iio: proximity: as3935: fix buffer stack trashing Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 152/203] iio: humidity: hdc100x: correct humidity integration time mask Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 153/203] iio: humidity: hdc100x: fix IIO_TEMP channel reporting Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 154/203] iio: hudmidity: hdc100x: fix incorrect shifting and scaling Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 155/203] staging: iio: accel: fix error check Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 156/203] iio: accel: kxsd9: fix the usage of spi_w8r8() Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 157/203] iio:ad7266: Fix broken regulator error handling Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 158/203] iio:ad7266: Fix support for optional regulators Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 159/203] iio:ad7266: Fix probe deferral for vref Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 160/203] tty: vt: Fix soft lockup in fbcon cursor blink timer Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 161/203] tty/vt/keyboard: fix OOB access in do_compute_shiftstate() Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 165/203] ALSA: dummy: Fix a use-after-free at closing Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 166/203] ALSA: hdac_regmap - fix the register access for runtime PM Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 167/203] ALSA: hda - Fix the headset mic jack detection on Dell machine Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 168/203] ALSA: hda / realtek - add two more Thinkpad IDs (5050,5053) for tpt460 fixup Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 169/203] ALSA: au88x0: Fix calculation in vortex_wtdma_bufshift() Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 170/203] ALSA: echoaudio: Fix memory allocation Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 171/203] ALSA: timer: Fix negative queue usage by racy accesses Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 172/203] ALSA: hda/realtek: Add Lenovo L460 to docking unit fixup Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 173/203] ALSA: hda - Add PCI ID for Kabylake-H Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 174/203] ALSA: hda - fix read before array start Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 175/203] ALSA: usb-audio: Fix quirks code is not called Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 176/203] ALSA: hda/realtek - add new pin definition in alc225 pin quirk table Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 177/203] ALSA: pcm: Free chmap at PCM free callback, too Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 178/203] ALSA: ctl: Stop notification after disconnection Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 179/203] ALSA: hda - fix use-after-free after module unload Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 180/203] ALSA: hda: add AMD Stoney PCI ID with proper driver caps Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 181/203] ARM: sunxi/dt: make the CHIP inherit from allwinner,sun5i-a13 Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 182/203] ARM: dts: armada-38x: fix MBUS_ID for crypto SRAM on Armada 385 Linksys Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 183/203] ARM: mvebu: fix HW I/O coherency related deadlocks Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 184/203] ovl: fix dentry leak for default_permissions Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 185/203] ovl: get_write_access() in truncate Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 186/203] ovl: Copy up underlying inodes ->i_mode to overlay inode Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 187/203] ovl: handle ATTR_KILL* Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 188/203] ovl: verify upper dentry in ovl_remove_and_whiteout() Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 189/203] scsi: fix race between simultaneous decrements of ->host_failed Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 190/203] s390: fix test_fp_ctl inline assembly contraints Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 191/203] Revert "s390/kdump: Clear subchannel ID to signal non-CCW/SCSI IPL" Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 192/203] 53c700: fix BUG on untagged commands Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 193/203] Fix reconnect to not defer smb3 session reconnect long after socket reconnect Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 194/203] cifs: dynamic allocation of ntlmssp blob Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 195/203] File names with trailing period or space need special case conversion Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 196/203] xen/acpi: allow xen-acpi-processor driver to load on Xen 4.7 Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 197/203] tmpfs: dont undo fallocate past its last page Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 198/203] tmpfs: fix regression hang in fallocate undo Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 199/203] crypto: rsa-pkcs1pad - fix rsa-pkcs1pad request struct Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 200/203] crypto: qat - make qat_asym_algs.o depend on asn1 headers Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 201/203] drm/i915: Revert DisplayPort fast link training feature Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 202/203] ovl: Do d_type check only if work dir creation was successful Greg Kroah-Hartman
2016-07-25 20:56 ` [PATCH 4.6 203/203] ovl: warn instead of error if d_type is not supported Greg Kroah-Hartman
2016-07-26 1:49 ` [PATCH 4.6 000/203] 4.6.5-stable review Shuah Khan
2016-07-26 2:45 ` Greg Kroah-Hartman
2016-07-26 13:53 ` Guenter Roeck
2016-07-26 14:23 ` Greg Kroah-Hartman
2016-07-26 15:48 ` Guenter Roeck
[not found] ` <5797509f.c310c20a.959d6.31b3@mx.google.com>
[not found] ` <m2lh0oum1x.fsf@baylibre.com>
2016-07-27 4:41 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160725203430.431020544@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=boqun.feng@gmail.com \
--cc=dave@stgolabs.net \
--cc=ggherdovich@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=waiman.long@hpe.com \
--cc=will.deacon@arm.com \
--cc=xinhui.pan@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).