All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
	Nicholas Bellinger <nab@linux-iscsi.org>,
	James Bottomley <James.Bottomley@HansenPartnership.com>,
	Jiri Slaby <jslaby@suse.cz>
Subject: [PATCH 3.12 071/155] target: Avoid dropping AllRegistrants reservation during unregister
Date: Tue,  7 Apr 2015 14:50:40 +0200	[thread overview]
Message-ID: <3b7372694930426fb2cbf37dd1f86343518b5dad.1428411004.git.jslaby@suse.cz> (raw)
In-Reply-To: <9a548862b8a26cbccc14f2c6c9c3688813d8d14b.1428411003.git.jslaby@suse.cz>
In-Reply-To: <cover.1428411003.git.jslaby@suse.cz>

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

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

===============

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: Jiri Slaby <jslaby@suse.cz>
---
 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 39f0e32c77e7..13a4836765ea 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_implict_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_implict_release(
-				cmd->se_dev, pr_reg);
+		type = pr_reg->pr_res_type;
+		pr_holder = core_scsi3_check_implict_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 explict)
+	int explict,
+	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(), (explict) ? "explict" : "implict",
-		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(), (explict) ? "explict" :
+			"implict", 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
-- 
2.3.4


  parent reply	other threads:[~2015-04-07 13:13 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-07 12:51 [PATCH 3.12 000/155] 3.12.40-stable review Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 001/155] mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 002/155] ALSA: hda - Fix regression of HD-audio controller fallback modes Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 003/155] net: sysctl_net_core: check SNDBUF and RCVBUF for min length Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 004/155] rds: avoid potential stack overflow Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 005/155] inet_diag: fix possible overflow in inet_diag_dump_one_icsk() Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 006/155] caif: fix MSG_OOB test in caif_seqpkt_recvmsg() Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 007/155] rxrpc: bogus MSG_PEEK test in rxrpc_recvmsg() Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 008/155] Revert "net: cx82310_eth: use common match macro" Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 009/155] ipv6: fix backtracking for throw routes Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 010/155] tcp: fix tcp fin memory accounting Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 011/155] net: compat: Update get_compat_msghdr() to match copy_msghdr_from_user() behaviour Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 012/155] tcp: make connect() mem charging friendly Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 013/155] sparc32: destroy_context() and switch_mm() needs to disable interrupts Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 014/155] sparc: semtimedop() unreachable due to comparison error Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 015/155] sparc: perf: Remove redundant perf_pmu_{en|dis}able calls Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 016/155] sparc: perf: Make counting mode actually work Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 017/155] sparc: Touch NMI watchdog when walking cpus and calling printk Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 018/155] sparc64: Fix several bugs in memmove() Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 019/155] HID: add ALWAYS_POLL quirk for a Logitech 0xc007 Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 020/155] powerpc/mpc85xx: Add ranges to etsec2 nodes Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 021/155] include/linux/hugetlb.h: make isolate_huge_page() an inline Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 022/155] mm, hugetlb: define page_hstate for !HUGETLB_PAGE Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 023/155] mm: thp: give transparent hugepage code a separate copy_page Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 024/155] IB/core: Avoid leakage from kernel to user space Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 025/155] drm/radeon: fix DRM_IOCTL_RADEON_CS oops Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 026/155] drm/radeon: do a posting read in evergreen_set_irq Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 027/155] drm/radeon: do a posting read in r100_set_irq Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 028/155] drm/radeon: do a posting read in r600_set_irq Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 029/155] drm/radeon: do a posting read in cik_set_irq Jiri Slaby
2015-04-07 12:49 ` [PATCH 3.12 030/155] drm/radeon: do a posting read in si_set_irq Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 031/155] drm/radeon: do a posting read in rs600_set_irq Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 032/155] drm/radeon: fix interlaced modes on DCE8 Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 033/155] drm/radeon: drop setting UPLL to sleep mode Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 034/155] LZ4 : fix the data abort issue Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 035/155] fuse: set stolen page uptodate Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 036/155] fuse: notify: don't move pages Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 037/155] console: Fix console name size mismatch Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 038/155] virtio_console: init work unconditionally Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 039/155] virtio_console: avoid config access from irq Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 040/155] Change email address for 8250_pci Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 041/155] can: add missing initialisations in CAN related skbuffs Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 042/155] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 043/155] cpuset: Fix cpuset sched_relax_domain_level Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 044/155] tpm/ibmvtpm: Additional LE support for tpm_ibmvtpm_send Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 045/155] spi: pl022: Fix race in giveback() leading to driver lock-up Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 046/155] ALSA: snd-usb: add quirks for Roland UA-22 Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 047/155] ALSA: control: Add sanity checks for user ctl id name string Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 048/155] ALSA: hda - Fix built-in mic on Compaq Presario CQ60 Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 049/155] ALSA: hda - Don't access stereo amps for mono channel widgets Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 050/155] ALSA: hda - Set single_adc_amp flag for CS420x codecs Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 051/155] ALSA: hda - Add workaround for MacBook Air 5,2 built-in mic Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 052/155] ALSA: hda - Treat stereo-to-mono mix properly Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 053/155] bnx2x: Force fundamental reset for EEH recovery Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 054/155] regulator: Only enable disabled regulators on resume Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 055/155] regulator: core: Fix enable GPIO reference counting Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 056/155] nilfs2: fix deadlock of segment constructor during recovery Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 057/155] drm/vmwgfx: Reorder device takedown somewhat Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 058/155] xen-pciback: limit guest control of command register Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 059/155] libsas: Fix Kernel Crash in smp_execute_task Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 060/155] pagemap: do not leak physical addresses to non-privileged userspace Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 061/155] crypto: aesni - fix memory usage in GCM decryption Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 062/155] x86/fpu: Avoid math_state_restore() without used_math() in __restore_xstate_sig() Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 063/155] x86/fpu: Drop_fpu() should not assume that tsk equals current Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 064/155] x86/vdso: Fix the build on GCC5 Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 065/155] ARM: at91: pm: fix at91rm9200 standby Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 066/155] target: Fix reference leak in target_get_sess_cmd() error path Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 067/155] target: Fix virtual LUN=0 target_configure_device failure OOPs Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 068/155] iscsi-target: Avoid early conn_logout_comp for iser connections Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 069/155] target/pscsi: Fix NULL pointer dereference in get_device_type Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 070/155] target: Fix R_HOLDER bit usage for AllRegistrants Jiri Slaby
2015-04-07 12:50 ` Jiri Slaby [this message]
2015-04-07 12:50 ` [PATCH 3.12 072/155] target: Allow AllRegistrants to re-RESERVE existing reservation Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 073/155] target: Allow Write Exclusive non-reservation holders to READ Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 074/155] power, sched: stop updating inside arch_update_cpu_topology() when nothing to be update Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 075/155] Don't leak a key reference if request_key() tries to use a revoked keyring Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 076/155] ipc/sem.c: fully initialize sem_array before making it visible Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 077/155] ipc/shm.c: fix overly aggressive shmdt() when calls span multiple segments Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 078/155] shmdt: use i_size_read() instead of ->i_size Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 079/155] crypto: sha - Handle unaligned input data in generic sha256 and sha512 Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 080/155] crypto: testmgr - don't use interruptible wait in tests Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 081/155] NFS: Add attribute update barriers to nfs_setattr_update_inode() Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 082/155] ntp: Fixup adjtimex freq validation on 32-bit systems Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 083/155] hung_task: check the value of "sysctl_hung_task_timeout_sec" Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 084/155] topology: Fix compilation warning when not in SMP Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 085/155] xen-blkfront: revoke foreign access for grants not mapped by the backend Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 086/155] xen-blkfront: restore the non-persistent data path Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 087/155] crypto: s390 - fix aes,des ctr mode concurrency finding Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 088/155] ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 089/155] iscsi-target: Fix wrong buffer / buffer overrun in iscsi_change_param_value() Jiri Slaby
2015-04-07 12:50 ` [PATCH 3.12 090/155] [SCSI] megaraid: Use resource_size_t for PCI resources, not long Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 091/155] iio:adc:max1363 incorrect resolutions for max11604, max11605, max11610 and max11611 Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 092/155] parisc: add serial ports of C8000/1GHz machine to hardware database Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 093/155] stable_kernel_rules: Add pointer to netdev-FAQ for network patches Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 094/155] ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 095/155] MIPS: asm/reg.h: Make 32- and 64-bit definitions available at the same time Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 096/155] ACPI: Run fixed event device notifications in process context Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 097/155] USB: zte_ev: fix removed PIDs Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 098/155] ACPICA: Update to GPIO region handler interface Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 099/155] powerpc/perf: Fix ABIv2 kernel backtraces Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 100/155] ARC: [nsimosci] Allow "headless" models to boot Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 101/155] ARC: Update order of registers in KGDB to match GDB 7.5 Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 102/155] ARM: Correct BUG() assembly to ensure it is endian-agnostic Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 103/155] md/bitmap: always wait for writes on unplug Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 104/155] Btrfs: don't delay inode ref updates during log replay Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 105/155] ARC: [nsimosci] move peripherals to match model to FPGA Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 106/155] cfg80211: Fix 160 MHz channels with 80+80 and 160 MHz drivers Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 107/155] ARM: 7866/1: include: asm: use 'long long' instead of 'u64' within atomic.h Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 108/155] ARM: 7867/1: include: asm: use 'int' instead of 'unsigned long' for 'oldval' in atomic_cmpxchg() Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 109/155] ARM: 7931/1: Correct virt_addr_valid Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 110/155] ARM: 8108/1: mm: Introduce {pte,pmd}_isset and {pte,pmd}_isclear Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 111/155] ARM: 8109/1: mm: Modify pte_write and pmd_write logic for LPAE Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 112/155] powerpc/smp: Wait until secondaries are active & online Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 113/155] module: set nx before marking module MODULE_STATE_COMING Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 114/155] module: Clean up ro/nx after early module load failures Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 115/155] x86/microcode/intel: Guard against stack overflow in the loader Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 116/155] powerpc: Fix sys_call_table declaration to enable syscall tracing Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 117/155] intel_idle: Add CPU model 54 (Atom N2000 series) Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 118/155] iommu/core: Check for the right function pointer in iommu_map() Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 119/155] x86/irq: Check for valid irq descriptor in check_irq_vectors_for_cpu_disable() Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 120/155] core, nfqueue, openvswitch: Orphan frags in skb_zerocopy and handle errors Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 121/155] ipv6: reallocate addrconf router for ipv6 address when lo device up Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 122/155] dns_resolver: Null-terminate the right string Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 123/155] net: mvneta: Fix big endian issue in mvneta_txq_desc_csum() Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 124/155] net: fix sparse warning in sk_dst_set() Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 125/155] net/mlx4_core: pass pci_device_id.driver_data to __mlx4_init_one during reset Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 126/155] net/mlx4_core: Preserve pci_dev_data after __mlx4_remove_one() Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 127/155] net: mvneta: increase the 64-bit rx/tx stats out of the hot path Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 128/155] net: mvneta: use per_cpu stats to fix an SMP lock up Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 129/155] net: mvneta: do not schedule in mvneta_tx_timeout Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 130/155] net: mvneta: add missing bit descriptions for interrupt masks and causes Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 131/155] net: mvneta: replace Tx timer with a real interrupt Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 132/155] ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 133/155] ASoC: pcm1681: Fix wrong value references for boolean kctl Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 134/155] ASoC: cs4271: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 135/155] ASoC: wm8960: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 136/155] ASoC: tas5086: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 137/155] ASoC: wm8731: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 138/155] ASoC: wm2000: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 139/155] ASoC: wm8903: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 140/155] ASoC: wm8904: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 141/155] ASoC: ak4641: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 142/155] ASoC: adav80x: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 143/155] ASoC: wm8955: " Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 144/155] regmap: regcache-rbtree: Fix present bitmap resize Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 145/155] tcm_fc: missing curly braces in ft_invl_hw_context() Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 146/155] tcm_qla2xxx: Fix incorrect use of __transport_register_session Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 147/155] nl80211: ignore HT/VHT capabilities without QoS/WMM Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 148/155] mac80211: disable u-APSD queues by default Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 149/155] mac80211: drop unencrypted frames in mesh fwding Jiri Slaby
2015-04-07 12:51 ` [PATCH 3.12 150/155] perf: Fix irq_work 'tail' recursion Jiri Slaby
2015-04-07 12:52 ` [PATCH 3.12 151/155] vt6655: RFbSetPower fix missing rate RATE_12M Jiri Slaby
2015-04-07 12:52 ` [PATCH 3.12 152/155] dmaengine: dw: append MODULE_ALIAS for platform driver Jiri Slaby
2015-04-07 12:52 ` [PATCH 3.12 153/155] dm: hold suspend_lock while suspending device during device deletion Jiri Slaby
2015-04-07 12:52 ` [PATCH 3.12 154/155] dm io: deal with wandering queue limits when handling REQ_DISCARD and REQ_WRITE_SAME Jiri Slaby
2015-04-07 12:52 ` [PATCH 3.12 155/155] hfsplus: fix B-tree corruption after insertion at position 0 Jiri Slaby
2015-04-07 13:08 ` [PATCH 3.12 000/155] 3.12.40-stable review Guenter Roeck

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=3b7372694930426fb2cbf37dd1f86343518b5dad.1428411004.git.jslaby@suse.cz \
    --to=jslaby@suse.cz \
    --cc=James.Bottomley@HansenPartnership.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.