stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Apollon Oikonomopoulos <apoikos@debian.org>,
	edwillam1007@gmail.com, Teng-Feng Yang <shinrairis@gmail.com>,
	Joe Thornber <ejt@redhat.com>, Mike Snitzer <snitzer@redhat.com>
Subject: [PATCH 3.13 122/149] dm space map metadata: fix refcount decrement below 0 which caused corruption
Date: Thu, 20 Mar 2014 17:04:45 -0700	[thread overview]
Message-ID: <20140321000441.181514430@linuxfoundation.org> (raw)
In-Reply-To: <20140321000436.377902063@linuxfoundation.org>

3.13-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Joe Thornber <ejt@redhat.com>

commit cebc2de44d3bce53e46476e774126c298ca2c8a9 upstream.

This has been a relatively long-standing issue that wasn't nailed down
until Teng-Feng Yang's meticulous bug report to dm-devel on 3/7/2014,
see: http://www.redhat.com/archives/dm-devel/2014-March/msg00021.html

>>From that report:
  "When decreasing the reference count of a metadata block with its
  reference count equals 3, we will call dm_btree_remove() to remove
  this enrty from the B+tree which keeps the reference count info in
  metadata device.

  The B+tree will try to rebalance the entry of the child nodes in each
  node it traversed, and the rebalance process contains the following
  steps.

  (1) Finding the corresponding children in current node (shadow_current(s))
  (2) Shadow the children block (issue BOP_INC)
  (3) redistribute keys among children, and free children if necessary (issue BOP_DEC)

  Since the update of a metadata block's reference count could be
  recursive, we will stash these reference count update operations in
  smm->uncommitted and then process them in a FILO fashion.

  The problem is that step(3) could free the children which is created
  in step(2), so the BOP_DEC issued in step(3) will be carried out
  before the BOP_INC issued in step(2) since these BOPs will be
  processed in FILO fashion. Once the BOP_DEC from step(3) tries to
  decrease the reference count of newly shadow block, it will report
  failure for its reference equals 0 before decreasing. It looks like we
  can solve this issue by processing these BOPs in a FIFO fashion
  instead of FILO."

Commit 5b564d80 ("dm space map: disallow decrementing a reference count
below zero") changed the code to report an error for this temporary
refcount decrement below zero.  So what was previously a harmless
invalid refcount became a hard failure due to the new error path:

 device-mapper: space map common: unable to decrement a reference count below 0
 device-mapper: thin: 253:6: dm_thin_insert_block() failed: error = -22
 device-mapper: thin: 253:6: switching pool to read-only mode

This bug is in dm persistent-data code that is common to the DM thin and
cache targets.  So any users of those targets should apply this fix.

Fix this by applying recursive space map operations in FIFO order rather
than FILO.

Resolves: https://bugzilla.kernel.org/show_bug.cgi?id=68801

Reported-by: Apollon Oikonomopoulos <apoikos@debian.org>
Reported-by: edwillam1007@gmail.com
Reported-by: Teng-Feng Yang <shinrairis@gmail.com>
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/md/persistent-data/dm-space-map-metadata.c |  113 +++++++++++++++++----
 1 file changed, 92 insertions(+), 21 deletions(-)

--- a/drivers/md/persistent-data/dm-space-map-metadata.c
+++ b/drivers/md/persistent-data/dm-space-map-metadata.c
@@ -91,6 +91,69 @@ struct block_op {
 	dm_block_t block;
 };
 
+struct bop_ring_buffer {
+	unsigned begin;
+	unsigned end;
+	struct block_op bops[MAX_RECURSIVE_ALLOCATIONS + 1];
+};
+
+static void brb_init(struct bop_ring_buffer *brb)
+{
+	brb->begin = 0;
+	brb->end = 0;
+}
+
+static bool brb_empty(struct bop_ring_buffer *brb)
+{
+	return brb->begin == brb->end;
+}
+
+static unsigned brb_next(struct bop_ring_buffer *brb, unsigned old)
+{
+	unsigned r = old + 1;
+	return (r >= (sizeof(brb->bops) / sizeof(*brb->bops))) ? 0 : r;
+}
+
+static int brb_push(struct bop_ring_buffer *brb,
+		    enum block_op_type type, dm_block_t b)
+{
+	struct block_op *bop;
+	unsigned next = brb_next(brb, brb->end);
+
+	/*
+	 * We don't allow the last bop to be filled, this way we can
+	 * differentiate between full and empty.
+	 */
+	if (next == brb->begin)
+		return -ENOMEM;
+
+	bop = brb->bops + brb->end;
+	bop->type = type;
+	bop->block = b;
+
+	brb->end = next;
+
+	return 0;
+}
+
+static int brb_pop(struct bop_ring_buffer *brb, struct block_op *result)
+{
+	struct block_op *bop;
+
+	if (brb_empty(brb))
+		return -ENODATA;
+
+	bop = brb->bops + brb->begin;
+	result->type = bop->type;
+	result->block = bop->block;
+
+	brb->begin = brb_next(brb, brb->begin);
+
+	return 0;
+}
+
+/*----------------------------------------------------------------*/
+
 struct sm_metadata {
 	struct dm_space_map sm;
 
@@ -101,25 +164,20 @@ struct sm_metadata {
 
 	unsigned recursion_count;
 	unsigned allocated_this_transaction;
-	unsigned nr_uncommitted;
-	struct block_op uncommitted[MAX_RECURSIVE_ALLOCATIONS];
+	struct bop_ring_buffer uncommitted;
 
 	struct threshold threshold;
 };
 
 static int add_bop(struct sm_metadata *smm, enum block_op_type type, dm_block_t b)
 {
-	struct block_op *op;
+	int r = brb_push(&smm->uncommitted, type, b);
 
-	if (smm->nr_uncommitted == MAX_RECURSIVE_ALLOCATIONS) {
+	if (r) {
 		DMERR("too many recursive allocations");
 		return -ENOMEM;
 	}
 
-	op = smm->uncommitted + smm->nr_uncommitted++;
-	op->type = type;
-	op->block = b;
-
 	return 0;
 }
 
@@ -158,11 +216,17 @@ static int out(struct sm_metadata *smm)
 		return -ENOMEM;
 	}
 
-	if (smm->recursion_count == 1 && smm->nr_uncommitted) {
-		while (smm->nr_uncommitted && !r) {
-			smm->nr_uncommitted--;
-			r = commit_bop(smm, smm->uncommitted +
-				       smm->nr_uncommitted);
+	if (smm->recursion_count == 1) {
+		while (!brb_empty(&smm->uncommitted)) {
+			struct block_op bop;
+
+			r = brb_pop(&smm->uncommitted, &bop);
+			if (r) {
+				DMERR("bug in bop ring buffer");
+				break;
+			}
+
+			r = commit_bop(smm, &bop);
 			if (r)
 				break;
 		}
@@ -217,7 +281,8 @@ static int sm_metadata_get_nr_free(struc
 static int sm_metadata_get_count(struct dm_space_map *sm, dm_block_t b,
 				 uint32_t *result)
 {
-	int r, i;
+	int r;
+	unsigned i;
 	struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
 	unsigned adjustment = 0;
 
@@ -225,8 +290,10 @@ static int sm_metadata_get_count(struct
 	 * We may have some uncommitted adjustments to add.  This list
 	 * should always be really short.
 	 */
-	for (i = 0; i < smm->nr_uncommitted; i++) {
-		struct block_op *op = smm->uncommitted + i;
+	for (i = smm->uncommitted.begin;
+	     i != smm->uncommitted.end;
+	     i = brb_next(&smm->uncommitted, i)) {
+		struct block_op *op = smm->uncommitted.bops + i;
 
 		if (op->block != b)
 			continue;
@@ -254,7 +321,8 @@ static int sm_metadata_get_count(struct
 static int sm_metadata_count_is_more_than_one(struct dm_space_map *sm,
 					      dm_block_t b, int *result)
 {
-	int r, i, adjustment = 0;
+	int r, adjustment = 0;
+	unsigned i;
 	struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
 	uint32_t rc;
 
@@ -262,8 +330,11 @@ static int sm_metadata_count_is_more_tha
 	 * We may have some uncommitted adjustments to add.  This list
 	 * should always be really short.
 	 */
-	for (i = 0; i < smm->nr_uncommitted; i++) {
-		struct block_op *op = smm->uncommitted + i;
+	for (i = smm->uncommitted.begin;
+	     i != smm->uncommitted.end;
+	     i = brb_next(&smm->uncommitted, i)) {
+
+		struct block_op *op = smm->uncommitted.bops + i;
 
 		if (op->block != b)
 			continue;
@@ -671,7 +742,7 @@ int dm_sm_metadata_create(struct dm_spac
 	smm->begin = superblock + 1;
 	smm->recursion_count = 0;
 	smm->allocated_this_transaction = 0;
-	smm->nr_uncommitted = 0;
+	brb_init(&smm->uncommitted);
 	threshold_init(&smm->threshold);
 
 	memcpy(&smm->sm, &bootstrap_ops, sizeof(smm->sm));
@@ -713,7 +784,7 @@ int dm_sm_metadata_open(struct dm_space_
 	smm->begin = 0;
 	smm->recursion_count = 0;
 	smm->allocated_this_transaction = 0;
-	smm->nr_uncommitted = 0;
+	brb_init(&smm->uncommitted);
 	threshold_init(&smm->threshold);
 
 	memcpy(&smm->old_ll, &smm->ll, sizeof(smm->old_ll));



  parent reply	other threads:[~2014-03-21  0:04 UTC|newest]

Thread overview: 159+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-21  0:02 [PATCH 3.13 000/149] 3.13.7-stable review Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 001/149] zram: avoid null access when fail to alloc meta Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 002/149] mm: page_alloc: exempt GFP_THISNODE allocations from zone fairness Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 003/149] mm: include VM_MIXEDMAP flag in the VM_SPECIAL list to avoid m(un)locking Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 004/149] ocfs2: fix quota file corruption Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 005/149] ocfs2 syncs the wrong range Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 006/149] memcg: fix endless loop in __mem_cgroup_iter_next() Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 007/149] sched: Fix double normalization of vruntime Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 008/149] rapidio/tsi721: fix tasklet termination in dma channel release Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 009/149] veth: Fix vlan_features so as to be able to use stacked vlan interfaces Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 010/149] tun: remove bogus hardware vlan acceleration flags from vlan_features Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 011/149] net-tcp: fastopen: fix high order allocations Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 012/149] neigh: recompute reachabletime before returning from neigh_periodic_work() Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 013/149] virtio-net: alloc big buffers also when guest can receive UFO Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 014/149] ipv6: reuse ip6_frag_id from ip6_ufo_append_data Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 015/149] ipv4: ipv6: better estimate tunnel header cut for correct ufo handling Greg Kroah-Hartman
2014-03-21  0:02 ` [PATCH 3.13 016/149] sfc: check for NULL efx->ptp_data in efx_ptp_event Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 017/149] sch_tbf: Fix potential memory leak in tbf_change() Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 018/149] ipv6: ipv6_find_hdr restore prev functionality Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 019/149] tg3: Dont check undefined error bits in RXBD Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 020/149] ip_tunnel:multicast process cause panic due to skb->_skb_refdst NULL pointer Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 021/149] net: sctp: fix sctp_sf_do_5_1D_ce to verify if we/peer is AUTH capable Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 022/149] macvlan: Add support for always_on offload features Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 023/149] mac80211: send control port protocol frames to the VO queue Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 024/149] mac80211: fix AP powersave TX vs. wakeup race Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 025/149] mac80211: dont validate unchanged AP bandwidth while tracking Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 026/149] mac80211: fix association to 20/40 MHz VHT networks Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 027/149] mac80211: clear sequence/fragment number in QoS-null frames Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 028/149] ath9k: Fix ETSI compliance for AR9462 2.0 Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 029/149] ath9k: protect tid->sched check Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 030/149] ath9k: fix ps-poll responses under a-mpdu sessions Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 032/149] iwlwifi: mvm: change of listen interval from 70 to 10 Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 033/149] iwlwifi: dvm: clear IWL_STA_UCODE_INPROGRESS when assoc fails Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 034/149] iwlwifi: fix TX status for aggregated packets Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 035/149] iwlwifi: mvm: dont WARN when statistics are handled late Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 036/149] iwlwifi: disable TX AMPDU by default for iwldvm Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 037/149] mwifiex: clean pcie ring only when device is present Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 038/149] mwifiex: add NULL check for PCIe Rx skb Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 039/149] mwifiex: fix cmd and Tx data timeout issue for PCIe cards Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 040/149] mwifiex: do not advertise usb autosuspend support Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 041/149] mwifiex: copy APs HT capability info correctly Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 042/149] mwifiex: save and copy APs VHT " Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 043/149] ARC: Use correct PTAG register for icache flush Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 044/149] perf trace: Decode architecture-specific signal numbers Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 047/149] ALSA: oxygen: Xonar DG(X): capture from I2S channel 1, not 2 Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 048/149] ALSA: usb-audio: Add quirk for Logitech Webcam C500 Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 049/149] ALSA: hda - Added inverted digital-mic handling for Acer TravelMate 8371 Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 050/149] ALSA: hda - add automute fix for another dell AIO model Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 051/149] ALSA: hda - Add missing loopback merge path for AD1884/1984 codecs Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 052/149] ALSA: hda - Use analog beep for Thinkpads with AD1984 codecs Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 053/149] ALSA: hda - Fix loud click noise with IdeaPad 410Y Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 054/149] pinctrl: sunxi: use chained_irq_{enter, exit} for GIC compatibility Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 055/149] powerpc/tm: Fix crash when forking inside a transaction Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 056/149] powerpc: Align p_dyn, p_rela and p_st symbols Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 057/149] DRM: armada: fix use of kfifo_put() Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 058/149] ARM: fix noMMU kallsyms symbol filtering Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 059/149] ARM: 7991/1: sa1100: fix compile problem on Collie Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 060/149] regulator: core: Replace direct ops->enable usage Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 061/149] x86: Ignore NMIs that come in during early boot Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 062/149] x86: fix compile error due to X86_TRAP_NMI use in asm files Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 063/149] x86/amd/numa: Fix northbridge quirk to assign correct NUMA node Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 064/149] x86_pkg_temp_thermal: Do not expose as a hwmon device Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 065/149] Revert "USBNET: ax88179_178a: enable tso if usb host supports sg dma" Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 066/149] usb: Add device quirk for Logitech HD Pro Webcams C920 and C930e Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 067/149] usb: Make DELAY_INIT quirk wait 100ms between Get Configuration requests Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 068/149] Revert "xhci 1.0: Limit arbitrarily-aligned scatter gather." Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 069/149] genirq: Remove racy waitqueue_active check Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 070/149] cpuset: fix a locking issue in cpuset_migrate_mm() Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 071/149] cpuset: fix a race condition in __cpuset_node_allowed_softwall() Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 072/149] ACPI / resources: ignore invalid ACPI device resources Greg Kroah-Hartman
2014-03-22  2:30   ` Stefan Lippers-Hollmann
2014-03-22 16:26     ` Greg Kroah-Hartman
2014-03-22 16:35       ` Paul Bolle
2014-03-22 16:54         ` Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 073/149] ACPI / EC: Clear stale EC events on Samsung systems Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 074/149] tracing: Do not add event files for modules that fail tracepoints Greg Kroah-Hartman
2014-03-21  0:03 ` [PATCH 3.13 075/149] firewire: net: fix use after free Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 077/149] firewire: dont use PREPARE_DELAYED_WORK Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 078/149] libata: disable queued TRIM for Crucial M500 mSATA SSDs Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 079/149] libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for Seagate Momentus SpinPoint M8 (2BA30001) Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 080/149] libata: use wider match for blacklisting Crucial M500 Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 081/149] spi: coldfire-qspi: Fix getting correct address for *mcfqspi Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 082/149] spi: fsl-dspi: Fix getting correct address for master Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 083/149] spi: spi-imx: spi_imx_remove: do not disable disabled clocks Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 084/149] spi: spi-ath79: fix initial GPIO CS line setup Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 085/149] NFSv4: Fix another nfs4_sequence corruptor Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 086/149] NFS: Fix a delegation callback race Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 087/149] NFSv4: nfs4_stateid_is_current should return true for an invalid stateid Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 088/149] cpufreq: use cpufreq_cpu_get() to avoid cpufreq_get() race conditions Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 089/149] cpufreq: Skip current frequency initialization for ->setpolicy drivers Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 090/149] ACPI / sleep: Add extra checks for HW Reduced ACPI mode sleep states Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 091/149] iscsi/iser-target: Use list_del_init for ->i_conn_node Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 092/149] iscsi/iser-target: Fix isert_conn->state hung shutdown issues Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 093/149] iser-target: Ignore completions for FRWRs in isert_cq_tx_work Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 094/149] iser-target: Fix post_send_buf_count for RDMA READ/WRITE Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 095/149] iser-target: Fix command leak for tx_desc->comp_llnode_batch Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 096/149] mm/readahead.c: fix do_readahead() for no readpage(s) Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 097/149] iscsi-target: Fix iscsit_get_tpg_from_np tpg_state bug Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 098/149] fs/proc/base.c: fix GPF in /proc/$PID/map_files Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 099/149] drm/radeon/atom: select the proper number of lanes in transmitter setup Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 100/149] drm/radeon/dpm: fix typo in EVERGREEN_SMC_FIRMWARE_HEADER_softRegisters Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 101/149] drm/i915: fix pch pci device enumeration Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 103/149] drm/radeon: re-order firmware loading in preparation for dpm rework Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 104/149] drm/radeon: fix runpm disabling on non-PX harder Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 105/149] drm/radeon/cik: properly set sdma ring status on disable Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 106/149] drm/radeon/cik: stop the sdma engines in the enable() function Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 107/149] drm/radeon/cik: properly set compute ring status on disable Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 108/149] drm/radeon: fix minor typos in si_dpm.c Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 109/149] drm/radeon/si: fix typo in dpm sq ramping setup Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 110/149] ASoC: pcm: free path list before exiting from error conditions Greg Kroah-Hartman
2014-03-22 15:53   ` Ben Hutchings
2014-03-22 18:54     ` Mark Brown
2014-03-24  4:35     ` Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 111/149] ASoC: 88pm860: Fix IO setup Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 112/149] ASoC: si476x: " Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 113/149] i2c: Remove usage of orphaned symbol OF_I2C Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 114/149] ipc: Fix 2 bugs in msgrcv() MSG_COPY implementation Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 116/149] ibmveth: Fix endian issues with MAC addresses Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 117/149] PCI: Enable INTx in pci_reenable_device() only when MSI/MSI-X not enabled Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 118/149] vmxnet3: fix netpoll race condition Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 119/149] vmxnet3: fix building without CONFIG_PCI_MSI Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 120/149] mm/compaction: break out of loop on !PageBuddy in isolate_freepages_block Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 121/149] dm cache mq: fix memory allocation failure for large cache devices Greg Kroah-Hartman
2014-03-21  0:04 ` Greg Kroah-Hartman [this message]
2014-03-21  0:04 ` [PATCH 3.13 123/149] dm cache: fix truncation bug when copying a block to/from >2TB fast device Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 124/149] dm cache: fix access beyond end of origin device Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 125/149] net: unix socket code abuses csum_partial Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 126/149] can: flexcan: fix shutdown: first disable chip, then all interrupts Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 127/149] can: flexcan: flexcan_open(): fix error path if flexcan_chip_start() fails Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 128/149] can: flexcan: fix transition from and to low power mode in chip_{en,dis}able Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 129/149] can: flexcan: factor out transceiver {en,dis}able into seperate functions Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 130/149] can: flexcan: flexcan_remove(): add missing netif_napi_del() Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 131/149] SCSI: isci: fix reset timeout handling Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 132/149] SCSI: isci: correct erroneous for_each_isci_host macro Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 133/149] SCSI: qla2xxx: Poll during initialization for ISP25xx and ISP83xx Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 134/149] SCSI: qla2xxx: Fix multiqueue MSI-X registration Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 135/149] SCSI: storvsc: NULL pointer dereference fix Greg Kroah-Hartman
2014-03-21  0:04 ` [PATCH 3.13 136/149] x86, fpu: Check tsk_used_math() in kernel_fpu_end() for eager FPU Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 137/149] Btrfs: return immediately if tree log mod is not necessary Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 138/149] Btrfs: fix tree mod logging Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 139/149] Btrfs: fix data corruption when reading/updating compressed extents Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 140/149] audit: dont generate loginuid log when audit disabled Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 141/149] intel_pstate: Add setting voltage value for baytrail P states Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 142/149] intel_pstate: Add support for Baytrail turbo " Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 143/149] ALSA: oxygen: modify adjust_dg_dac_routing function Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 144/149] regulator: core: Change dummy supplies error message to a warning Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 145/149] Fix mountpoint reference leakage in linkat Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 147/149] bio-integrity: Fix bio_integrity_verify segment start bug Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 148/149] arm64: mm: Add double logical invert to pte accessors Greg Kroah-Hartman
2014-03-21  0:05 ` [PATCH 3.13 149/149] memcg: reparent charges of children before processing parent Greg Kroah-Hartman
2014-03-21  5:37 ` [PATCH 3.13 000/149] 3.13.7-stable review Guenter Roeck
2014-03-21  8:42   ` Thomas Backlund
2014-03-21  9:00     ` Thomas Backlund
2014-03-22 16:25       ` Greg Kroah-Hartman
2014-03-22 16:25   ` Greg Kroah-Hartman
2014-03-22 21:57   ` Shuah Khan
2014-03-24  4:32     ` Greg Kroah-Hartman
2014-03-21 13:54 ` Satoru Takeuchi
2014-03-22 16:26   ` 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=20140321000441.181514430@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=apoikos@debian.org \
    --cc=edwillam1007@gmail.com \
    --cc=ejt@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shinrairis@gmail.com \
    --cc=snitzer@redhat.com \
    --cc=stable@vger.kernel.org \
    /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).