From: Kamal Mostafa <kamal@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
kernel-team@lists.ubuntu.com
Cc: Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 3.13 146/198] rtmutex: Plug slow unlock race
Date: Tue, 15 Jul 2014 14:30:16 -0700 [thread overview]
Message-ID: <1405459868-15089-147-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1405459868-15089-1-git-send-email-kamal@canonical.com>
3.13.11.5 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Thomas Gleixner <tglx@linutronix.de>
commit 27e35715df54cbc4f2d044f681802ae30479e7fb upstream.
When the rtmutex fast path is enabled the slow unlock function can
create the following situation:
spin_lock(foo->m->wait_lock);
foo->m->owner = NULL;
rt_mutex_lock(foo->m); <-- fast path
free = atomic_dec_and_test(foo->refcnt);
rt_mutex_unlock(foo->m); <-- fast path
if (free)
kfree(foo);
spin_unlock(foo->m->wait_lock); <--- Use after free.
Plug the race by changing the slow unlock to the following scheme:
while (!rt_mutex_has_waiters(m)) {
/* Clear the waiters bit in m->owner */
clear_rt_mutex_waiters(m);
owner = rt_mutex_owner(m);
spin_unlock(m->wait_lock);
if (cmpxchg(m->owner, owner, 0) == owner)
return;
spin_lock(m->wait_lock);
}
So in case of a new waiter incoming while the owner tries the slow
path unlock we have two situations:
unlock(wait_lock);
lock(wait_lock);
cmpxchg(p, owner, 0) == owner
mark_rt_mutex_waiters(lock);
acquire(lock);
Or:
unlock(wait_lock);
lock(wait_lock);
mark_rt_mutex_waiters(lock);
cmpxchg(p, owner, 0) != owner
enqueue_waiter();
unlock(wait_lock);
lock(wait_lock);
wakeup_next waiter();
unlock(wait_lock);
lock(wait_lock);
acquire(lock);
If the fast path is disabled, then the simple
m->owner = NULL;
unlock(m->wait_lock);
is sufficient as all access to m->owner is serialized via
m->wait_lock;
Also document and clarify the wakeup_next_waiter function as suggested
by Oleg Nesterov.
Reported-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20140611183852.937945560@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
kernel/locking/rtmutex.c | 115 ++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 109 insertions(+), 6 deletions(-)
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index ff24a43..51a8334 100644
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -82,6 +82,47 @@ static inline void mark_rt_mutex_waiters(struct rt_mutex *lock)
owner = *p;
} while (cmpxchg(p, owner, owner | RT_MUTEX_HAS_WAITERS) != owner);
}
+
+/*
+ * Safe fastpath aware unlock:
+ * 1) Clear the waiters bit
+ * 2) Drop lock->wait_lock
+ * 3) Try to unlock the lock with cmpxchg
+ */
+static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock)
+ __releases(lock->wait_lock)
+{
+ struct task_struct *owner = rt_mutex_owner(lock);
+
+ clear_rt_mutex_waiters(lock);
+ raw_spin_unlock(&lock->wait_lock);
+ /*
+ * If a new waiter comes in between the unlock and the cmpxchg
+ * we have two situations:
+ *
+ * unlock(wait_lock);
+ * lock(wait_lock);
+ * cmpxchg(p, owner, 0) == owner
+ * mark_rt_mutex_waiters(lock);
+ * acquire(lock);
+ * or:
+ *
+ * unlock(wait_lock);
+ * lock(wait_lock);
+ * mark_rt_mutex_waiters(lock);
+ *
+ * cmpxchg(p, owner, 0) != owner
+ * enqueue_waiter();
+ * unlock(wait_lock);
+ * lock(wait_lock);
+ * wake waiter();
+ * unlock(wait_lock);
+ * lock(wait_lock);
+ * acquire(lock);
+ */
+ return rt_mutex_cmpxchg(lock, owner, NULL);
+}
+
#else
# define rt_mutex_cmpxchg(l,c,n) (0)
static inline void mark_rt_mutex_waiters(struct rt_mutex *lock)
@@ -89,6 +130,17 @@ static inline void mark_rt_mutex_waiters(struct rt_mutex *lock)
lock->owner = (struct task_struct *)
((unsigned long)lock->owner | RT_MUTEX_HAS_WAITERS);
}
+
+/*
+ * Simple slow path only version: lock->owner is protected by lock->wait_lock.
+ */
+static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock)
+ __releases(lock->wait_lock)
+{
+ lock->owner = NULL;
+ raw_spin_unlock(&lock->wait_lock);
+ return true;
+}
#endif
/*
@@ -536,7 +588,8 @@ static int task_blocks_on_rt_mutex(struct rt_mutex *lock,
/*
* Wake up the next waiter on the lock.
*
- * Remove the top waiter from the current tasks waiter list and wake it up.
+ * Remove the top waiter from the current tasks pi waiter list and
+ * wake it up.
*
* Called with lock->wait_lock held.
*/
@@ -557,10 +610,23 @@ static void wakeup_next_waiter(struct rt_mutex *lock)
*/
plist_del(&waiter->pi_list_entry, ¤t->pi_waiters);
- rt_mutex_set_owner(lock, NULL);
+ /*
+ * As we are waking up the top waiter, and the waiter stays
+ * queued on the lock until it gets the lock, this lock
+ * obviously has waiters. Just set the bit here and this has
+ * the added benefit of forcing all new tasks into the
+ * slow path making sure no task of lower priority than
+ * the top waiter can steal this lock.
+ */
+ lock->owner = (void *) RT_MUTEX_HAS_WAITERS;
raw_spin_unlock_irqrestore(¤t->pi_lock, flags);
+ /*
+ * It's safe to dereference waiter as it cannot go away as
+ * long as we hold lock->wait_lock. The waiter task needs to
+ * acquire it in order to dequeue the waiter.
+ */
wake_up_process(waiter->task);
}
@@ -813,12 +879,49 @@ rt_mutex_slowunlock(struct rt_mutex *lock)
rt_mutex_deadlock_account_unlock(current);
- if (!rt_mutex_has_waiters(lock)) {
- lock->owner = NULL;
- raw_spin_unlock(&lock->wait_lock);
- return;
+ /*
+ * We must be careful here if the fast path is enabled. If we
+ * have no waiters queued we cannot set owner to NULL here
+ * because of:
+ *
+ * foo->lock->owner = NULL;
+ * rtmutex_lock(foo->lock); <- fast path
+ * free = atomic_dec_and_test(foo->refcnt);
+ * rtmutex_unlock(foo->lock); <- fast path
+ * if (free)
+ * kfree(foo);
+ * raw_spin_unlock(foo->lock->wait_lock);
+ *
+ * So for the fastpath enabled kernel:
+ *
+ * Nothing can set the waiters bit as long as we hold
+ * lock->wait_lock. So we do the following sequence:
+ *
+ * owner = rt_mutex_owner(lock);
+ * clear_rt_mutex_waiters(lock);
+ * raw_spin_unlock(&lock->wait_lock);
+ * if (cmpxchg(&lock->owner, owner, 0) == owner)
+ * return;
+ * goto retry;
+ *
+ * The fastpath disabled variant is simple as all access to
+ * lock->owner is serialized by lock->wait_lock:
+ *
+ * lock->owner = NULL;
+ * raw_spin_unlock(&lock->wait_lock);
+ */
+ while (!rt_mutex_has_waiters(lock)) {
+ /* Drops lock->wait_lock ! */
+ if (unlock_rt_mutex_safe(lock) == true)
+ return;
+ /* Relock the rtmutex and try again */
+ raw_spin_lock(&lock->wait_lock);
}
+ /*
+ * The wakeup next waiter path does not suffer from the above
+ * race. See the comments there.
+ */
wakeup_next_waiter(lock);
raw_spin_unlock(&lock->wait_lock);
--
1.9.1
next prev parent reply other threads:[~2014-07-15 21:38 UTC|newest]
Thread overview: 199+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-15 21:27 [3.13.y.z extended stable] Linux 3.13.11.5 stable review Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 001/198] btrfs: fix defrag 32-bit integer overflow Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 002/198] ALSA: usb-audio: Prevent printk ratelimiting from spamming kernel log while DEBUG not defined Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 003/198] ipv6: Fix regression caused by efe4208 in udp_v6_mcast_next() Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 004/198] Bluetooth: Fix redundant encryption request for reauthentication Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 005/198] Bluetooth: Fix check for connection encryption Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 006/198] igb: fix stats for i210 rx_fifo_errors Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 007/198] netfilter: nf_nat: fix oops on netns removal Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 008/198] introduce for_each_thread() to replace the buggy while_each_thread() Kamal Mostafa
2014-07-15 21:27 ` [PATCH 3.13 009/198] NFS: Don't declare inode uptodate unless all attributes were checked Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 010/198] usb: dwc3: gadget: clear stall when disabling endpoint Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 011/198] ACPICA: utstring: Check array index bound before use Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 012/198] mtip32xx: Increase timeout for STANDBY IMMEDIATE command Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 013/198] mtip32xx: Remove dfs_parent after pci unregister Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 014/198] mtip32xx: Fix ERO and NoSnoop values in PCIe upstream on AMD systems Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 015/198] extcon: max77693: Fix two NULL pointer exceptions on missing pdata Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 016/198] extcon: max8997: Fix NULL pointer exception " Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 017/198] builddeb: use $OBJCOPY variable instead of objcopy Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 018/198] bluetooth: hci_ldisc: fix deadlock condition Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 019/198] powerpc/pseries: Fix overwritten PE state Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 020/198] PCI: Add new ID for Intel GPU "spurious interrupt" quirk Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 021/198] x86-64, espfix: Don't leak bits 31:16 of %esp returning to 16-bit stack Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 022/198] x86-32, espfix: Remove filter for espfix32 due to race Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 023/198] genirq: Sanitize spurious interrupt detection of threaded irqs Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 024/198] Drivers: hv: balloon: Ensure pressure reports are posted regularly Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 025/198] x86, x32: Use compat shims for io_{setup,submit} Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 026/198] iwlwifi: pcie: try to get ownership several times Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 027/198] ext4: fix data integrity sync in ordered mode Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 028/198] UBIFS: fix an mmap and fsync race condition Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 029/198] [media] rtl28xxu: add USB ID for Genius TVGo DVB-T03 Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 030/198] [media] rtl28xxu: add 1b80:d395 Peak DVB-T USB Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 031/198] [media] rtl28xxu: add [1b80:d39d] Sveon STV20 Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 032/198] [media] rtl28xxu: add [1b80:d3af] Sveon STV27 Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 033/198] ASoC: max98090: Fix reset at resume time Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 034/198] ACPI: Fix conflict between customized DSDT and DSDT local copy Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 035/198] hpsa: add new Smart Array PCI IDs (May 2014) Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 036/198] PM / OPP: fix incorrect OPP count handling in of_init_opp_table Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 037/198] Target/iser: Bail from accept_np if np_thread is trying to close Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 038/198] Target/iser: Fix hangs in connection teardown Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 039/198] HID: core: fix validation of report id 0 Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 040/198] IB/srp: Fix a sporadic crash triggered by cable pulling Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 041/198] Target/iser: Improve cm events handling Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 042/198] Target/iser: Wait for proper cleanup before unloading Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 043/198] mtd: nand: omap: fix BCHx ecc.correct to return detected bit-flips in erased-page Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 044/198] mtd: eLBC NAND: fix subpage write support Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 045/198] reiserfs: call truncate_setsize under tailpack mutex Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 046/198] ARM: stacktrace: avoid listing stacktrace functions in stacktrace Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 047/198] SUNRPC: Fix a module reference leak in svc_handle_xprt Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 048/198] [media] uvcvideo: Fix clock param realtime setting Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 049/198] [media] ivtv: Fix Oops when no firmware is loaded Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 050/198] CIFS: Fix memory leaks in SMB2_open Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 051/198] iio:adc:max1363 incorrect resolutions for max11604, max11605, max11610 and max11611 Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 052/198] staging/mt29f_spinand: Terminate of match table Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 053/198] mac80211: fix IBSS join by initializing last_scan_completed Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 054/198] KVM: lapic: sync highest ISR to hardware apic on EOI Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 055/198] s390/time: cast tv_nsec to u64 prior to shift in update_vsyscall Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 056/198] ahci: add PCI ID for Marvell 88SE91A0 SATA Controller Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 057/198] ext4: fix zeroing of page during writeback Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 058/198] ext4: fix wrong assert in ext4_mb_normalize_request() Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 059/198] IB/mlx5: add missing padding at end of struct mlx5_ib_create_cq Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 060/198] IB/mlx5: add missing padding at end of struct mlx5_ib_create_srq Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 061/198] IB/qib: Fix port in pkey change event Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 062/198] IB/ipath: Translate legacy diagpkt into newer extended diagpkt Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 063/198] mei: me: fix hw ready reset flow Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 064/198] mei: me: drop harmful wait optimization Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 065/198] mei: me: read H_CSR after asserting reset Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 066/198] usb: usbtest: fix unlink write error with pattern 1 Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 067/198] s390/lowcore: reserve 96 bytes for IRB in lowcore Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 068/198] mac80211: fix a memory leak on sta rate selection table Kamal Mostafa
2014-07-15 21:28 ` [PATCH 3.13 069/198] mac80211: don't check netdev state for debugfs read/write Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 070/198] mtd: pxa3xx_nand: make the driver work on big-endian systems Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 071/198] hv: use correct order when freeing monitor_pages Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 072/198] usb: qcserial: add Netgear AirCard 341U Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 073/198] usb: qcserial: add additional Sierra Wireless QMI devices Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 074/198] IB/umad: Fix error handling Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 075/198] RDMA/cxgb4: Add missing padding at end of struct c4iw_create_cq_resp Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 076/198] MIPS: KVM: Allocate at least 16KB for exception handlers Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 077/198] block: virtio_blk: don't hold spin lock during world switch Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 078/198] nfsd: getattr for FATTR4_WORD0_FILES_AVAIL needs the statfs buffer Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 079/198] ASoC: tlv320aci3x: Fix custom snd_soc_dapm_put_volsw_aic3x() function Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 080/198] UBIFS: Remove incorrect assertion in shrink_tnc() Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 081/198] Bluetooth: Fix L2CAP deadlock Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 082/198] vgaswitcheroo: switch the mux to the igp on power down when runpm is enabled Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 083/198] drm/radeon: fix typo in radeon_connector_is_dp12_capable() Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 084/198] drm/radeon/dp: fix lane/clock setup for dp 1.2 capable devices Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 085/198] drm/radeon/atom: fix dithering on certain panels Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 086/198] drm/radeon: only apply hdmi bpc pll flags when encoder mode is hdmi Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 087/198] ahci: Add Device ID for HighPoint RocketRaid 642L Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 088/198] mm: fix sleeping function warning from __put_anon_vma Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 089/198] hugetlb: restrict hugepage_migration_support() to x86_64 Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 090/198] kthread: fix return value of kthread_create() upon SIGKILL Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 091/198] mm: vmscan: do not throttle based on pfmemalloc reserves if node has no ZONE_NORMAL Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 092/198] memcg: do not hang on OOM when killed by userspace OOM access to memory reserves Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 093/198] mm: page_alloc: use word-based accesses for get/set pageblock bitmaps Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 094/198] mm/memory-failure.c-failure: send right signal code to correct thread Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 095/198] mm/memory-failure.c: don't let collect_procs() skip over processes for MF_ACTION_REQUIRED Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 096/198] mm/memory-failure.c: support use of a dedicated thread to handle SIGBUS(BUS_MCEERR_AO) Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 097/198] powerpc/serial: Use saner flags when creating legacy ports Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 098/198] powerpc: 64bit sendfile is capped at 2GB Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 099/198] ALSA: hda/realtek - Add support of ALC891 codec Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 100/198] rbd: use reference counts for image requests Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 101/198] iscsi-target: Reject mutual authentication with reflected CHAP_C Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 102/198] powerpc/mm: Check paca psize is up to date for huge mappings Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 103/198] xfs: block allocation work needs to be kswapd aware Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 104/198] IB/umad: Fix use-after-free on close Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 105/198] mm: vmscan: clear kswapd's special reclaim powers before exiting Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 106/198] rtc: rtc-at91rm9200: fix infinite wait for ACKUPD irq Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 107/198] ptrace: fix fork event messages across pid namespaces Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 108/198] idr: fix overflow bug during maximum ID calculation at maximum height Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 109/198] Input: elantech - deal with clickpads reporting right button events Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 110/198] Input: elantech - don't set bit 1 of reg_10 when the no_hw_res quirk is set Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 111/198] nfsd4: fix FREE_STATEID lockowner leak Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 112/198] Btrfs: fix double free in find_lock_delalloc_range Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 113/198] target: Set CMD_T_ACTIVE bit for Task Management Requests Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 114/198] target: Use complete_all for se_cmd->t_transport_stop_comp Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 115/198] iscsi-target: Fix ABORT_TASK + connection reset iscsi_queue_req memory leak Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 116/198] drm/nv50-/mc: fix kms pageflip events by reordering irq handling order Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 117/198] drm/nouveau/kms/nv04-nv40: fix pageflip events via special case Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 118/198] NFS: populate ->net in mount data when remounting Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 119/198] auditsc: audit_krule mask accesses need bounds checking Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 120/198] watchdog: kempld-wdt: Use the correct value when configuring the prescaler with the watchdog Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 121/198] watchdog: ath79_wdt: avoid spurious restarts on AR934x Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 122/198] watchdog: sp805: Set watchdog_device->timeout from ->set_timeout() Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 123/198] fs,userns: Change inode_capable to capable_wrt_inode_uidgid Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 124/198] powerpc: Add AT_HWCAP2 to indicate V.CRYPTO category support Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 125/198] powerpc: Correct DSCR during TM context switch Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 126/198] powerpc: Don't setup CPUs with bad status Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 127/198] powerpc/perf: Ensure all EBB register state is cleared on fork() Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 128/198] Target/iscsi: Fix sendtargets response pdu for iser transport Kamal Mostafa
2014-07-15 21:29 ` [PATCH 3.13 129/198] target: Report correct response length for some commands Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 130/198] dm thin: update discard_granularity to reflect the thin-pool blocksize Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 131/198] ALSA: compress: Cancel the optimization of compiler and fix the size of struct for all platform Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 132/198] hwmon: (ina2xx) Cast to s16 on shunt and current regs Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 133/198] evm: prohibit userspace writing 'security.evm' HMAC value Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 134/198] ALSA: hda - Add quirk for external mic on Lifebook U904 Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 135/198] ALSA: hda/realtek - Add more entry for enable HP mute led Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 136/198] " Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 137/198] ACPI / video: Add Dell Inspiron 5737 to the blacklist Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 138/198] staging: iio: tsl2x7x_core: fix proximity treshold Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 139/198] iio: Fix endianness issue in ak8975_read_axis() Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 140/198] rtmutex: Handle deadlock detection smarter Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 141/198] rtmutex: Detect changes in the pi lock chain Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 142/198] drm/i915: Disable FBC by default also on Haswell and later Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 143/198] drm/i915: Avoid div-by-zero when pixel_multiplier is zero Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 144/198] drm/i915: Reorder semaphore deadlock check Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 145/198] iio: adc: at91: signedness bug in at91_adc_get_trigger_value_by_name() Kamal Mostafa
2014-07-15 21:30 ` Kamal Mostafa [this message]
2014-07-15 21:30 ` [PATCH 3.13 147/198] Revert "offb: Add palette hack for little endian" Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 148/198] ACPI / ia64 / sba_iommu: Restore the working initialization ordering Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 149/198] epoll: fix use-after-free in eventpoll_release_file Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 150/198] drm/nouveau/kms: reference vblank for crtc during pageflip Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 151/198] ARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 152/198] USB: EHCI: avoid BIOS handover on the HASEE E200 Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 153/198] arm64: Bug fix in stack alignment exception Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 154/198] arm64: ptrace: change fs when passing kernel pointer to regset code Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 155/198] arm64: uid16: fix __kernel_old_{gid,uid}_t definitions Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 156/198] arm64: ptrace: fix empty registers set in prstatus of aarch32 process core Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 157/198] arm64/dma: Removing ARCH_HAS_DMA_GET_REQUIRED_MASK macro Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 158/198] ALSA: control: Protect user controls against concurrent access Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 159/198] ALSA: control: Fix replacing user controls Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 160/198] ALSA: control: Don't access controls outside of protected regions Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 161/198] ALSA: control: Handle numid overflow Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 162/198] ALSA: control: Make sure that id->index does not overflow Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 163/198] Bluetooth: Fix SSP acceptor just-works confirmation without MITM Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 164/198] Bluetooth: Fix setting correct authentication information for SMP STK Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 165/198] Bluetooth: Fix indicating discovery state when canceling inquiry Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 166/198] Bluetooth: Fix locking of hdev when calling into SMP code Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 167/198] Bluetooth: Allow change security level on ATT_CID in slave role Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 168/198] rt2x00: disable TKIP on USB Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 169/198] b43: fix frequency reported on G-PHY with /new/ firmware Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 170/198] rt2x00: fix rfkill regression on rt2500pci Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 171/198] blkcg: fix use-after-free in __blkg_release_rcu() by making blkcg_gq refcnt an atomic_t Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 172/198] rbd: handle parent_overlap on writes correctly Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 173/198] ALSA: hda - hdmi: call overridden init on resume Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 174/198] lzo: properly check for overruns Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 175/198] lz4: ensure length does not wrap Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 176/198] x86_32, entry: Do syscall exit work on badsys (CVE-2014-4508) Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 177/198] hugetlb: fix copy_hugetlb_page_range() to handle migration/hwpoisoned entry Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 178/198] kernel/watchdog.c: remove preemption restrictions when restarting lockup detector Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 179/198] mm, pcp: allow restoring percpu_pagelist_fraction default Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 180/198] DMA, CMA: fix possible memory leak Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 181/198] mm: fix crashes from mbind() merging vmas Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 182/198] drm/i915: Hold the table lock whilst walking the file's idr and counting the objects in debugfs Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 183/198] [CIFS] fix mount failure with broken pathnames when smb3 mount with mapchars option Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 184/198] aio: fix aio request leak when events are reaped by userspace Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 185/198] aio: fix kernel memory disclosure in io_getevents() introduced in v3.10 Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 186/198] nfs: Fix cache_validity check in nfs_write_pageuptodate() Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 187/198] powerpc: Don't skip ePAPR spin-table CPUs Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 188/198] net: allwinner: emac: Add missing free_irq Kamal Mostafa
2014-07-15 21:30 ` [PATCH 3.13 189/198] ALSA: usb-audio: Fix races at disconnection and PCM closing Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 190/198] recordmcount/MIPS: Fix possible incorrect mcount_loc table entries in modules Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 191/198] MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 192/198] ALSA: hda - restore BCLK M/N values when resuming HSW/BDW display controller Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 193/198] target: Fix left-over se_lun->lun_sep pointer OOPs Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 194/198] iscsi-target: Explicily clear login response PDU in exception path Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 195/198] efi-pstore: Fix an overflow on 32-bit builds Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 196/198] lz4: fix another possible overrun Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 197/198] iscsi-target: Avoid rejecting incorrect ITT for Data-Out Kamal Mostafa
2014-07-15 21:31 ` [PATCH 3.13 198/198] iscsi-target: fix iscsit_del_np deadlock on unload Kamal Mostafa
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=1405459868-15089-147-git-send-email-kamal@canonical.com \
--to=kamal@canonical.com \
--cc=kernel-team@lists.ubuntu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
/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
all inboxes | Powered by JetHome®