mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Luis Henriques <luis.henriques@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	kernel-team@lists.ubuntu.com
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>,
	Nicholas Bellinger <nab@linux-iscsi.org>,
	Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 3.16.y-ckt 171/183] target: Avoid dropping AllRegistrants reservation during unregister
Date: Fri,  6 Mar 2015 09:57:42 +0000	[thread overview]
Message-ID: <1425635874-19087-172-git-send-email-luis.henriques@canonical.com> (raw)
In-Reply-To: <1425635874-19087-1-git-send-email-luis.henriques@canonical.com>

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

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

From: Nicholas Bellinger <nab@linux-iscsi.org>

commit 6c3c9baa0debeb4bcc52a78c4463a0a97518de10 upstream.

This patch fixes an issue with AllRegistrants reservations where
an unregister operation by the I_T nexus reservation holder would
incorrectly drop the reservation, instead of waiting until the
last active I_T nexus is unregistered as per SPC-4.

This includes updating __core_scsi3_complete_pro_release() to reset
dev->dev_pr_res_holder with another pr_reg for this special case,
as well as a new 'unreg' parameter to determine when the release
is occuring from an implicit unregister, vs. explicit RELEASE.

It also adds special handling in core_scsi3_free_pr_reg_from_nacl()
to release the left-over pr_res_holder, now that pr_reg is deleted
from pr_reg_list within __core_scsi3_complete_pro_release().

Reported-by: Ilias Tsitsimpis <i.tsitsimpis@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/target/target_core_pr.c | 87 ++++++++++++++++++++++++++++++-----------
 1 file changed, 65 insertions(+), 22 deletions(-)

diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c
index 1c153ed5c415..6ea72db87460 100644
--- a/drivers/target/target_core_pr.c
+++ b/drivers/target/target_core_pr.c
@@ -76,7 +76,7 @@ enum preempt_type {
 };
 
 static void __core_scsi3_complete_pro_release(struct se_device *, struct se_node_acl *,
-			struct t10_pr_registration *, int);
+					      struct t10_pr_registration *, int, int);
 
 static sense_reason_t
 target_scsi2_reservation_check(struct se_cmd *cmd)
@@ -1186,7 +1186,7 @@ static int core_scsi3_check_implicit_release(
 		 *    service action with the SERVICE ACTION RESERVATION KEY
 		 *    field set to zero (see 5.7.11.3).
 		 */
-		__core_scsi3_complete_pro_release(dev, nacl, pr_reg, 0);
+		__core_scsi3_complete_pro_release(dev, nacl, pr_reg, 0, 1);
 		ret = 1;
 		/*
 		 * For 'All Registrants' reservation types, all existing
@@ -1228,7 +1228,8 @@ static void __core_scsi3_free_registration(
 
 	pr_reg->pr_reg_deve->def_pr_registered = 0;
 	pr_reg->pr_reg_deve->pr_res_key = 0;
-	list_del(&pr_reg->pr_reg_list);
+	if (!list_empty(&pr_reg->pr_reg_list))
+		list_del(&pr_reg->pr_reg_list);
 	/*
 	 * Caller accessing *pr_reg using core_scsi3_locate_pr_reg(),
 	 * so call core_scsi3_put_pr_reg() to decrement our reference.
@@ -1280,6 +1281,7 @@ void core_scsi3_free_pr_reg_from_nacl(
 {
 	struct t10_reservation *pr_tmpl = &dev->t10_pr;
 	struct t10_pr_registration *pr_reg, *pr_reg_tmp, *pr_res_holder;
+	bool free_reg = false;
 	/*
 	 * If the passed se_node_acl matches the reservation holder,
 	 * release the reservation.
@@ -1287,13 +1289,18 @@ void core_scsi3_free_pr_reg_from_nacl(
 	spin_lock(&dev->dev_reservation_lock);
 	pr_res_holder = dev->dev_pr_res_holder;
 	if ((pr_res_holder != NULL) &&
-	    (pr_res_holder->pr_reg_nacl == nacl))
-		__core_scsi3_complete_pro_release(dev, nacl, pr_res_holder, 0);
+	    (pr_res_holder->pr_reg_nacl == nacl)) {
+		__core_scsi3_complete_pro_release(dev, nacl, pr_res_holder, 0, 1);
+		free_reg = true;
+	}
 	spin_unlock(&dev->dev_reservation_lock);
 	/*
 	 * Release any registration associated with the struct se_node_acl.
 	 */
 	spin_lock(&pr_tmpl->registration_lock);
+	if (pr_res_holder && free_reg)
+		__core_scsi3_free_registration(dev, pr_res_holder, NULL, 0);
+
 	list_for_each_entry_safe(pr_reg, pr_reg_tmp,
 			&pr_tmpl->registration_list, pr_reg_list) {
 
@@ -1316,7 +1323,7 @@ void core_scsi3_free_all_registrations(
 	if (pr_res_holder != NULL) {
 		struct se_node_acl *pr_res_nacl = pr_res_holder->pr_reg_nacl;
 		__core_scsi3_complete_pro_release(dev, pr_res_nacl,
-				pr_res_holder, 0);
+						  pr_res_holder, 0, 0);
 	}
 	spin_unlock(&dev->dev_reservation_lock);
 
@@ -2126,13 +2133,13 @@ core_scsi3_emulate_pro_register(struct se_cmd *cmd, u64 res_key, u64 sa_res_key,
 		/*
 		 * sa_res_key=0 Unregister Reservation Key for registered I_T Nexus.
 		 */
-		pr_holder = core_scsi3_check_implicit_release(
-				cmd->se_dev, pr_reg);
+		type = pr_reg->pr_res_type;
+		pr_holder = core_scsi3_check_implicit_release(cmd->se_dev,
+							      pr_reg);
 		if (pr_holder < 0) {
 			ret = TCM_RESERVATION_CONFLICT;
 			goto out;
 		}
-		type = pr_reg->pr_res_type;
 
 		spin_lock(&pr_tmpl->registration_lock);
 		/*
@@ -2406,23 +2413,59 @@ static void __core_scsi3_complete_pro_release(
 	struct se_device *dev,
 	struct se_node_acl *se_nacl,
 	struct t10_pr_registration *pr_reg,
-	int explicit)
+	int explicit,
+	int unreg)
 {
 	struct target_core_fabric_ops *tfo = se_nacl->se_tpg->se_tpg_tfo;
 	char i_buf[PR_REG_ISID_ID_LEN];
+	int pr_res_type = 0, pr_res_scope = 0;
 
 	memset(i_buf, 0, PR_REG_ISID_ID_LEN);
 	core_pr_dump_initiator_port(pr_reg, i_buf, PR_REG_ISID_ID_LEN);
 	/*
 	 * Go ahead and release the current PR reservation holder.
+	 * If an All Registrants reservation is currently active and
+	 * a unregister operation is requested, replace the current
+	 * dev_pr_res_holder with another active registration.
 	 */
-	dev->dev_pr_res_holder = NULL;
+	if (dev->dev_pr_res_holder) {
+		pr_res_type = dev->dev_pr_res_holder->pr_res_type;
+		pr_res_scope = dev->dev_pr_res_holder->pr_res_scope;
+		dev->dev_pr_res_holder->pr_res_type = 0;
+		dev->dev_pr_res_holder->pr_res_scope = 0;
+		dev->dev_pr_res_holder->pr_res_holder = 0;
+		dev->dev_pr_res_holder = NULL;
+	}
+	if (!unreg)
+		goto out;
 
-	pr_debug("SPC-3 PR [%s] Service Action: %s RELEASE cleared"
-		" reservation holder TYPE: %s ALL_TG_PT: %d\n",
-		tfo->get_fabric_name(), (explicit) ? "explicit" : "implicit",
-		core_scsi3_pr_dump_type(pr_reg->pr_res_type),
-		(pr_reg->pr_reg_all_tg_pt) ? 1 : 0);
+	spin_lock(&dev->t10_pr.registration_lock);
+	list_del_init(&pr_reg->pr_reg_list);
+	/*
+	 * If the I_T nexus is a reservation holder, the persistent reservation
+	 * is of an all registrants type, and the I_T nexus is the last remaining
+	 * registered I_T nexus, then the device server shall also release the
+	 * persistent reservation.
+	 */
+	if (!list_empty(&dev->t10_pr.registration_list) &&
+	    ((pr_res_type == PR_TYPE_WRITE_EXCLUSIVE_ALLREG) ||
+	     (pr_res_type == PR_TYPE_EXCLUSIVE_ACCESS_ALLREG))) {
+		dev->dev_pr_res_holder =
+			list_entry(dev->t10_pr.registration_list.next,
+				   struct t10_pr_registration, pr_reg_list);
+		dev->dev_pr_res_holder->pr_res_type = pr_res_type;
+		dev->dev_pr_res_holder->pr_res_scope = pr_res_scope;
+		dev->dev_pr_res_holder->pr_res_holder = 1;
+	}
+	spin_unlock(&dev->t10_pr.registration_lock);
+out:
+	if (!dev->dev_pr_res_holder) {
+		pr_debug("SPC-3 PR [%s] Service Action: %s RELEASE cleared"
+			" reservation holder TYPE: %s ALL_TG_PT: %d\n",
+			tfo->get_fabric_name(), (explicit) ? "explicit" :
+			"implicit", core_scsi3_pr_dump_type(pr_res_type),
+			(pr_reg->pr_reg_all_tg_pt) ? 1 : 0);
+	}
 	pr_debug("SPC-3 PR [%s] RELEASE Node: %s%s\n",
 		tfo->get_fabric_name(), se_nacl->initiatorname,
 		i_buf);
@@ -2553,7 +2596,7 @@ core_scsi3_emulate_pro_release(struct se_cmd *cmd, int type, int scope,
 	 *    server shall not establish a unit attention condition.
 	 */
 	__core_scsi3_complete_pro_release(dev, se_sess->se_node_acl,
-			pr_reg, 1);
+					  pr_reg, 1, 0);
 
 	spin_unlock(&dev->dev_reservation_lock);
 
@@ -2641,7 +2684,7 @@ core_scsi3_emulate_pro_clear(struct se_cmd *cmd, u64 res_key)
 	if (pr_res_holder) {
 		struct se_node_acl *pr_res_nacl = pr_res_holder->pr_reg_nacl;
 		__core_scsi3_complete_pro_release(dev, pr_res_nacl,
-			pr_res_holder, 0);
+						  pr_res_holder, 0, 0);
 	}
 	spin_unlock(&dev->dev_reservation_lock);
 	/*
@@ -2700,7 +2743,7 @@ static void __core_scsi3_complete_pro_preempt(
 	 */
 	if (dev->dev_pr_res_holder)
 		__core_scsi3_complete_pro_release(dev, nacl,
-				dev->dev_pr_res_holder, 0);
+						  dev->dev_pr_res_holder, 0, 0);
 
 	dev->dev_pr_res_holder = pr_reg;
 	pr_reg->pr_res_holder = 1;
@@ -2944,8 +2987,8 @@ core_scsi3_pro_preempt(struct se_cmd *cmd, int type, int scope, u64 res_key,
 	 */
 	if (pr_reg_n != pr_res_holder)
 		__core_scsi3_complete_pro_release(dev,
-				pr_res_holder->pr_reg_nacl,
-				dev->dev_pr_res_holder, 0);
+						  pr_res_holder->pr_reg_nacl,
+						  dev->dev_pr_res_holder, 0, 0);
 	/*
 	 * b) Remove the registrations for all I_T nexuses identified
 	 *    by the SERVICE ACTION RESERVATION KEY field, except the
@@ -3415,7 +3458,7 @@ after_iport_check:
 	 *    holder (i.e., the I_T nexus on which the
 	 */
 	__core_scsi3_complete_pro_release(dev, pr_res_nacl,
-			dev->dev_pr_res_holder, 0);
+					  dev->dev_pr_res_holder, 0, 0);
 	/*
 	 * g) Move the persistent reservation to the specified I_T nexus using
 	 *    the same scope and type as the persistent reservation released in

  parent reply	other threads:[~2015-03-06 10:05 UTC|newest]

Thread overview: 184+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-06  9:54 [3.16.y-ckt stable] Linux 3.16.7-ckt8 stable review Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 001/183] [media] em28xx: fix em28xx-input removal Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 002/183] [media] em28xx: ensure "closing" messages terminate with a newline Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 003/183] [media] em28xx-input: fix missing newlines Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 004/183] [media] em28xx-core: " Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 005/183] [media] em28xx-audio: " Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 006/183] " Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 007/183] [media] em28xx-dvb: " Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 008/183] [media] em28xx-video: " Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 009/183] ARM: pxa: add regulator_has_full_constraints to corgi board file Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 010/183] ARM: pxa: add regulator_has_full_constraints to poodle " Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 011/183] ARM: pxa: add regulator_has_full_constraints to spitz " Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 012/183] hx4700: regulator: declare full constraints Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 013/183] HID: input: fix confusion on conflicting mappings Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 014/183] HID: fixup the conflicting keyboard mappings quirk Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 015/183] ARM: dts: tegra20: fix GR3D, DSI unit and reg base addresses Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 016/183] megaraid_sas: disable interrupt_mask before enabling hardware interrupts Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 017/183] PCI: Generate uppercase hex for modalias var in uevent Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 018/183] usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 019/183] tty/serial: at91: enable peripheral clock before accessing I/O registers Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 020/183] tty/serial: at91: fix error handling in atmel_serial_probe() Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 021/183] axonram: Fix bug in direct_access Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 022/183] btrfs: fix leak of path in btrfs_find_item Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 023/183] ksoftirqd: Enable IRQs and call cond_resched() before poking RCU Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 024/183] TPM: Add new TPMs to the tail of the list to prevent inadvertent change of dev Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 025/183] char: tpm: Add missing error check for devm_kzalloc Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 026/183] tpm_tis: verify interrupt during init Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 027/183] tpm: Fix NULL return in tpm_ibmvtpm_get_desired_dma Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 028/183] tpm/tpm_i2c_stm_st33: Fix potential bug in tpm_stm_i2c_send Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 029/183] tpm/tpm_i2c_stm_st33: Add status check when reading data on the FIFO Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 030/183] mmc: sdhci-pxav3: fix unbalanced clock issues during probe Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 031/183] iwlwifi: mvm: validate tid and sta_id in ba_notif Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 032/183] power: gpio-charger: balance enable/disable_irq_wake calls Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 033/183] power: bq24190: Fix ignored supplicants Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 034/183] ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL enabled on UART3 Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 035/183] Bluetooth: ath3k: Add support of AR3012 bluetooth 13d3:3423 device Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 036/183] Bluetooth: btusb: Add Broadcom patchram support for ASUSTek devices Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 037/183] cfq-iosched: fix incorrect filing of rt async cfqq Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 038/183] smack: fix possible use after frees in task_security() callers Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 039/183] xfs: ensure buffer types are set correctly Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 040/183] xfs: inode unlink does not set AGI buffer type Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 041/183] xfs: set buf types when converting extent formats Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 042/183] xfs: set superblock buffer type correctly Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 043/183] btrfs: set proper message level for skinny metadata Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 044/183] KVM: s390: base hrtimer on a monotonic clock Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 045/183] KVM: s390: avoid memory leaks if __inject_vm() fails Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 046/183] samsung-laptop: Add use_native_backlight quirk, and enable it on some models Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 047/183] PCI: Fix infinite loop with ROM image of size 0 Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 048/183] USB: cp210x: add ID for RUGGEDCOM USB Serial Console Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 049/183] Bluetooth: Add support for Broadcom BCM20702A1 variant Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 050/183] Bluetooth: Add support for Broadcom BCM20702A0 variants firmware download Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 051/183] Bluetooth: btusb: Add support for Dynex/Insignia USB dongles Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 052/183] clk: zynq: Force CPU_2X clock to be ungated Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 053/183] mmc: sdhci-pxav3: Remove checks for mandatory host clock Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 054/183] mmc: sdhci-pxav3: fix race between runtime pm and irq Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 055/183] power_supply: 88pm860x: Fix leaked power supply on probe fail Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 056/183] staging: comedi: comedi_compat32.c: fix COMEDI_CMD copy back Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 057/183] mmc: sdhci-pxav3: fix setting of pdata->clk_delay_cycles Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 058/183] mmc: sdhci-pxav3: Fix SDR50 and DDR50 capabilities for the Armada 38x flavor Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 059/183] mmc: sdhci-pxav3: Fix Armada 38x controller's caps according to erratum ERR-7878951 Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 060/183] ARM: 8284/1: sa1100: clear RCSR_SMR on resume Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 061/183] [media] si2168: define symbol rate limits Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 062/183] nfs: don't call blocking operations while !TASK_RUNNING Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 063/183] cdc-acm: add sanity checks Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 064/183] USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd) Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 065/183] USB: fix use-after-free bug in usb_hcd_unlink_urb() Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 066/183] iwlwifi: mvm: always use mac color zero Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 067/183] iwlwifi: pcie: disable the SCD_BASE_ADDR when we resume from WoWLAN Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 068/183] iwlwifi: mvm: fix failure path when power_update fails in add_interface Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 069/183] vt: provide notifications on selection changes Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 070/183] tty: Prevent untrappable signals from malicious program Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 071/183] serial: fsl_lpuart: delete timer on shutdown Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 072/183] serial: fsl_lpuart: avoid new transfer while DMA is running Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 073/183] cpufreq: Set cpufreq_cpu_data to NULL before putting kobject Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 074/183] Bluetooth: btusb: Add support for Lite-On (04ca) Broadcom based, BCM43142 Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 075/183] nfs41: .init_read and .init_write can be called with valid pg_lseg Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 076/183] [media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 077/183] mei: mask interrupt set bit on clean reset bit Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 078/183] mei: me: release hw from reset only during the reset flow Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 079/183] KVM: MIPS: Don't leak FPU/DSP to guest Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 080/183] ALSA: hda - Add the pin fixup for HP Envy TS bass speaker Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 081/183] ALSA: hda - Set up GPIO for Toshiba Satellite S50D Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 082/183] xen/manage: Fix USB interaction issues when resuming Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 083/183] ACPI / video: Add some Samsung models to disable_native_backlight list Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 084/183] ACPI / video: Add disable_native_backlight quirk for Dell XPS15 L521X Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 085/183] ACPI / video: Add disable_native_backlight quirk for Samsung 730U3E/740U3E Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 086/183] ACPI / video: Add disable_native_backlight quirk for Samsung 510R Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 087/183] KVM: s390: floating irqs: fix user triggerable endless loop Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 088/183] drm/i915: Correct the IOSF Dev_FN field for IOSF transfers Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 089/183] cfq-iosched: handle failure of cfq group allocation Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 090/183] tracing: Fix unmapping loop in tracing_mark_write Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 091/183] fsnotify: fix handling of renames in audit Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 092/183] ring-buffer: Do not wake up a splice waiter when page is not full Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 093/183] blk-mq: fix double-free in error path Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 094/183] drm/radeon: workaround for CP HW bug on CIK Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 095/183] drm/radeon: only enable kv/kb dpm interrupts once v3 Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 096/183] NFSv4.1: Fix a kfree() of uninitialised pointers in decode_cb_sequence_args Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 097/183] cpufreq: speedstep-smi: enable interrupts when waiting Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 098/183] mm/hugetlb: pmd_huge() returns true for non-present hugepage Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 099/183] mm/hugetlb: take page table lock in follow_huge_pmd() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 100/183] mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 101/183] mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 102/183] mm/hugetlb: add migration entry check in __unmap_hugepage_range Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 103/183] mm: when stealing freepages, also take pages created by splitting buddy page Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 104/183] mm/mmap.c: fix arithmetic overflow in __vm_enough_memory() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 105/183] mm/nommu.c: " Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 106/183] iscsi-target: Drop problematic active_ts_list usage Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 107/183] target: Fix PR_APTPL_BUF_LEN buffer size limitation Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 108/183] mm/compaction: fix wrong order check in compact_finished() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 109/183] mm/memory.c: actually remap enough memory Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 110/183] mm: hwpoison: drop lru_add_drain_all() in __soft_offline_page() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 111/183] ALSA: hda - enable mute led quirk for one more hp machine Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 112/183] ARC: fix page address calculation if PAGE_OFFSET != LINUX_LINK_BASE Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 113/183] drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 114/183] drm/radeon: fix voltage setup on hawaii Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 115/183] ALSA: hdspm - Constrain periods to 2 on older cards Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 116/183] jffs2: fix handling of corrupted summary length Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 117/183] dm mirror: do not degrade the mirror on discard error Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 118/183] dm io: reject unsupported DISCARD requests with EOPNOTSUPP Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 119/183] NFS: struct nfs_commit_info.lock must always point to inode->i_lock Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 120/183] target: Add missing WRITE_SAME end-of-device sanity check Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 121/183] target: Check for LBA + sectors wrap-around in sbc_parse_cdb Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 122/183] Btrfs: fix fsync data loss after adding hard link to inode Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 123/183] Added Little Endian support to vtpm module Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 124/183] fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 125/183] sg: fix read() error reporting Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 126/183] IB/qib: Do not write EEPROM Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 127/183] EDAC, amd64_edac: Prevent OOPS with >16 memory controllers Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 128/183] MIPS: asm: asmmacro: Replace "add" instructions with "addu" Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 129/183] MIPS: kernel: cps-vec: Replace "addi" with "addiu" Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 130/183] md/raid5: Fix livelock when array is both resyncing and degraded Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 131/183] locking/rtmutex: Avoid a NULL pointer dereference on deadlock Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 132/183] time: adjtimex: Validate the ADJ_FREQUENCY values Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 133/183] ntp: Fixup adjtimex freq validation on 32-bit systems Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 134/183] dm: fix a race condition in dm_get_md Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 135/183] dm snapshot: fix a possible invalid memory access on unload Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 136/183] cpufreq: s3c: remove incorrect __init annotations Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 137/183] x86, mm/ASLR: Fix stack randomization on 64-bit systems Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 138/183] libceph: assert both regular and lingering lists in __remove_osd() Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 139/183] libceph: change from BUG to WARN for __remove_osd() asserts Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 140/183] libceph: fix double __remove_osd() problem Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 141/183] MIPS: Export FP functions used by lose_fpu(1) for KVM Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 142/183] MIPS: Export MSA " Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 143/183] kdb: fix incorrect counts in KDB summary command output Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 144/183] blk-throttle: check stats_cpu before reading it from sysfs Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 145/183] debugfs: leave freeing a symlink body until inode eviction Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 146/183] procfs: fix race between symlink removals and traversals Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 147/183] autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 148/183] ASoC: mioa701_wm9713: Fix speaker event Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 149/183] gpio: rcar: Fix error path for devm_kzalloc() failure Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 150/183] efi: Small leak on error in runtime map code Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 151/183] clk-gate: fix bit # check in clk_register_gate() Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 152/183] powerpc/kernel: Avoid memory corruption at early stage Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 153/183] pinctrl: pinctrl-imx: don't use invalid value of conf_reg Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 154/183] ALSA: off by one bug in snd_riptide_joystick_probe() Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 155/183] GFS2: Fix crash during ACL deletion in acl max entry check in gfs2_set_acl() Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 156/183] net: llc: use correct size for sysctl timeout entries Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 157/183] net: rds: use correct size for max unacked packets and bytes Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 158/183] HID: i2c-hid: Limit reads to wMaxInputLength bytes for input events Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 159/183] fib_trie: Fix /proc/net/fib_trie when CONFIG_IP_MULTIPLE_TABLES is not defined Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 160/183] net: sctp: fix race for one-to-many sockets in sendmsg's auto associate Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 161/183] gpio: sysfs: fix gpio attribute-creation race Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 162/183] ipv6: mld: fix add_grhead skb_over_panic for devs with large MTUs Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 163/183] ideapad-laptop: Change Lenovo Yoga 2 series rfkill handling Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 164/183] IB/core: When marshaling ucma path from user-space, clear unused fields Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 165/183] IB/core: Fix deadlock on uverbs modify_qp error flow Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 166/183] IB/mlx4: Fix wrong usage of IPv4 protocol for multicast attach/detach Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 167/183] IB/iser: Use correct dma direction when unmapping SGs Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 168/183] [media] Si2168: increase timeout to fix firmware loading Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 169/183] staging: comedi: cb_pcidas64: fix incorrect AI range code handling Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 170/183] target: Fix R_HOLDER bit usage for AllRegistrants Luis Henriques
2015-03-06  9:57 ` Luis Henriques [this message]
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 172/183] target: Allow AllRegistrants to re-RESERVE existing reservation Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 173/183] target: Allow Write Exclusive non-reservation holders to READ Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 174/183] vhost/scsi: potential memory corruption Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 175/183] clk: sunxi: Support factor clocks with N factor starting not from 0 Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 176/183] sunxi: clk: Set sun6i-pll1 n_start = 1 Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 177/183] HID: wacom: Report ABS_MISC event for Cintiq Companion Hybrid Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 178/183] mm: softdirty: unmapped addresses between VMAs are clean Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 179/183] proc/pagemap: walk page tables under pte lock Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 180/183] ARM: dts: am335x-bone*: usb0 is hardwired for peripheral Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 181/183] sched/rt: Reduce rq lock contention by eliminating locking of non-feasible target Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 182/183] caif: remove wrong dev_net_set() call Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 183/183] quota: Store maximum space limit in bytes Luis Henriques

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=1425635874-19087-172-git-send-email-luis.henriques@canonical.com \
    --to=luis.henriques@canonical.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nab@linux-iscsi.org \
    --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

all inboxes | Powered by JetHome®