All of lore.kernel.org
 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, Filipe Manana <fdmanana@suse.com>,
	David Sterba <dsterba@suse.com>,
	Sasha Levin <alexander.levin@verizon.com>
Subject: [PATCH 4.14 096/156] Btrfs: incremental send, fix wrong unlink path after renaming file
Date: Fri,  2 Feb 2018 17:57:57 +0100	[thread overview]
Message-ID: <20180202140844.564094479@linuxfoundation.org> (raw)
In-Reply-To: <20180202140840.242829545@linuxfoundation.org>

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

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

From: Filipe Manana <fdmanana@suse.com>


[ Upstream commit ea37d5998b50a72b9045ba60a132eeb20e1c4230 ]

Under some circumstances, an incremental send operation can issue wrong
paths for unlink commands related to files that have multiple hard links
and some (or all) of those links were renamed between the parent and send
snapshots. Consider the following example:

Parent snapshot

 .                                                      (ino 256)
 |---- a/                                               (ino 257)
 |     |---- b/                                         (ino 259)
 |     |     |---- c/                                   (ino 260)
 |     |     |---- f2                                   (ino 261)
 |     |
 |     |---- f2l1                                       (ino 261)
 |
 |---- d/                                               (ino 262)
       |---- f1l1_2                                     (ino 258)
       |---- f2l2                                       (ino 261)
       |---- f1_2                                       (ino 258)

Send snapshot

 .                                                      (ino 256)
 |---- a/                                               (ino 257)
 |     |---- f2l1/                                      (ino 263)
 |             |---- b2/                                (ino 259)
 |                   |---- c/                           (ino 260)
 |                   |     |---- d3                     (ino 262)
 |                   |           |---- f1l1_2           (ino 258)
 |                   |           |---- f2l2_2           (ino 261)
 |                   |           |---- f1_2             (ino 258)
 |                   |
 |                   |---- f2                           (ino 261)
 |                   |---- f1l2                         (ino 258)
 |
 |---- d                                                (ino 261)

When computing the incremental send stream the following steps happen:

1) When processing inode 261, a rename operation is issued that renames
   inode 262, which currently as a path of "d", to an orphan name of
   "o262-7-0". This is done because in the send snapshot, inode 261 has
   of its hard links with a path of "d" as well.

2) Two link operations are issued that create the new hard links for
   inode 261, whose names are "d" and "f2l2_2", at paths "/" and
   "o262-7-0/" respectively.

3) Still while processing inode 261, unlink operations are issued to
   remove the old hard links of inode 261, with names "f2l1" and "f2l2",
   at paths "a/" and "d/". However path "d/" does not correspond anymore
   to the directory inode 262 but corresponds instead to a hard link of
   inode 261 (link command issued in the previous step). This makes the
   receiver fail with a ENOTDIR error when attempting the unlink
   operation.

The problem happens because before sending the unlink operation, we failed
to detect that inode 262 was one of ancestors for inode 261 in the parent
snapshot, and therefore we didn't recompute the path for inode 262 before
issuing the unlink operation for the link named "f2l2" of inode 262. The
detection failed because the function "is_ancestor()" only follows the
first hard link it finds for an inode instead of all of its hard links
(as it was originally created for being used with directories only, for
which only one hard link exists). So fix this by making "is_ancestor()"
follow all hard links of the input inode.

A test case for fstests follows soon.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/btrfs/send.c |  124 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 106 insertions(+), 18 deletions(-)

--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -3527,7 +3527,40 @@ out:
 }
 
 /*
- * Check if ino ino1 is an ancestor of inode ino2 in the given root.
+ * Check if inode ino2, or any of its ancestors, is inode ino1.
+ * Return 1 if true, 0 if false and < 0 on error.
+ */
+static int check_ino_in_path(struct btrfs_root *root,
+			     const u64 ino1,
+			     const u64 ino1_gen,
+			     const u64 ino2,
+			     const u64 ino2_gen,
+			     struct fs_path *fs_path)
+{
+	u64 ino = ino2;
+
+	if (ino1 == ino2)
+		return ino1_gen == ino2_gen;
+
+	while (ino > BTRFS_FIRST_FREE_OBJECTID) {
+		u64 parent;
+		u64 parent_gen;
+		int ret;
+
+		fs_path_reset(fs_path);
+		ret = get_first_ref(root, ino, &parent, &parent_gen, fs_path);
+		if (ret < 0)
+			return ret;
+		if (parent == ino1)
+			return parent_gen == ino1_gen;
+		ino = parent;
+	}
+	return 0;
+}
+
+/*
+ * Check if ino ino1 is an ancestor of inode ino2 in the given root for any
+ * possible path (in case ino2 is not a directory and has multiple hard links).
  * Return 1 if true, 0 if false and < 0 on error.
  */
 static int is_ancestor(struct btrfs_root *root,
@@ -3536,36 +3569,91 @@ static int is_ancestor(struct btrfs_root
 		       const u64 ino2,
 		       struct fs_path *fs_path)
 {
-	u64 ino = ino2;
-	bool free_path = false;
+	bool free_fs_path = false;
 	int ret = 0;
+	struct btrfs_path *path = NULL;
+	struct btrfs_key key;
 
 	if (!fs_path) {
 		fs_path = fs_path_alloc();
 		if (!fs_path)
 			return -ENOMEM;
-		free_path = true;
+		free_fs_path = true;
 	}
 
-	while (ino > BTRFS_FIRST_FREE_OBJECTID) {
-		u64 parent;
-		u64 parent_gen;
+	path = alloc_path_for_send();
+	if (!path) {
+		ret = -ENOMEM;
+		goto out;
+	}
 
-		fs_path_reset(fs_path);
-		ret = get_first_ref(root, ino, &parent, &parent_gen, fs_path);
-		if (ret < 0) {
-			if (ret == -ENOENT && ino == ino2)
-				ret = 0;
-			goto out;
+	key.objectid = ino2;
+	key.type = BTRFS_INODE_REF_KEY;
+	key.offset = 0;
+
+	ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
+	if (ret < 0)
+		goto out;
+
+	while (true) {
+		struct extent_buffer *leaf = path->nodes[0];
+		int slot = path->slots[0];
+		u32 cur_offset = 0;
+		u32 item_size;
+
+		if (slot >= btrfs_header_nritems(leaf)) {
+			ret = btrfs_next_leaf(root, path);
+			if (ret < 0)
+				goto out;
+			if (ret > 0)
+				break;
+			continue;
 		}
-		if (parent == ino1) {
-			ret = parent_gen == ino1_gen ? 1 : 0;
-			goto out;
+
+		btrfs_item_key_to_cpu(leaf, &key, slot);
+		if (key.objectid != ino2)
+			break;
+		if (key.type != BTRFS_INODE_REF_KEY &&
+		    key.type != BTRFS_INODE_EXTREF_KEY)
+			break;
+
+		item_size = btrfs_item_size_nr(leaf, slot);
+		while (cur_offset < item_size) {
+			u64 parent;
+			u64 parent_gen;
+
+			if (key.type == BTRFS_INODE_EXTREF_KEY) {
+				unsigned long ptr;
+				struct btrfs_inode_extref *extref;
+
+				ptr = btrfs_item_ptr_offset(leaf, slot);
+				extref = (struct btrfs_inode_extref *)
+					(ptr + cur_offset);
+				parent = btrfs_inode_extref_parent(leaf,
+								   extref);
+				cur_offset += sizeof(*extref);
+				cur_offset += btrfs_inode_extref_name_len(leaf,
+								  extref);
+			} else {
+				parent = key.offset;
+				cur_offset = item_size;
+			}
+
+			ret = get_inode_info(root, parent, NULL, &parent_gen,
+					     NULL, NULL, NULL, NULL);
+			if (ret < 0)
+				goto out;
+			ret = check_ino_in_path(root, ino1, ino1_gen,
+						parent, parent_gen, fs_path);
+			if (ret)
+				goto out;
 		}
-		ino = parent;
+		path->slots[0]++;
 	}
+	ret = 0;
  out:
-	if (free_path)
+	btrfs_free_path(path);
+	if (free_fs_path)
 		fs_path_free(fs_path);
 	return ret;
 }

  parent reply	other threads:[~2018-02-02 16:57 UTC|newest]

Thread overview: 164+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-02 16:56 [PATCH 4.14 000/156] 4.14.17-stable review Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 001/156] futex: Fix OWNER_DEAD fixup Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 002/156] loop: fix concurrent lo_open/lo_release Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 003/156] KVM: x86: Fix CPUID function for word 6 (80000001_ECX) Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 004/156] tools/gpio: Fix build error with musl libc Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 005/156] gpio: stmpe: i2c transfer are forbiden in atomic context Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 006/156] gpio: Fix kernel stack leak to userspace Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 007/156] ALSA: hda - Reduce the suspend time consumption for ALC256 Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 008/156] crypto: ecdh - fix typo in KPP dependency of CRYPTO_ECDH Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 009/156] crypto: aesni - handle zero length dst buffer Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 010/156] crypto: aesni - fix typo in generic_gcmaes_decrypt Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 011/156] crypto: gcm - add GCM IV size constant Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 012/156] crypto: aesni - Use " Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 013/156] crypto: aesni - add wrapper for generic gcm(aes) Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 014/156] crypto: aesni - Fix out-of-bounds access of the data buffer in generic-gcm-aesni Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 015/156] crypto: aesni - Fix out-of-bounds access of the AAD " Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 016/156] crypto: inside-secure - fix hash when length is a multiple of a block Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 017/156] crypto: inside-secure - avoid unmapping DMA memory that was not mapped Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 018/156] crypto: sha3-generic - fixes for alignment and big endian operation Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 019/156] crypto: af_alg - whitelist mask and type Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 020/156] HID: wacom: EKR: ensure devres groups at higher indexes are released Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 021/156] HID: wacom: Fix reporting of touch toggle (WACOM_HID_WD_MUTE_DEVICE) events Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 022/156] power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 023/156] gpio: iop: " Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 024/156] gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 025/156] mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 026/156] igb: Free IRQs when device is hotplugged Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 027/156] ima/policy: fix parsing of fsuuid Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 028/156] scsi: aacraid: Fix udev inquiry race condition Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 029/156] scsi: aacraid: Fix hang in kdump Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 030/156] VFS: Handle lazytime in do_mount() Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 031/156] drm/vc4: Account for interrupts in flight Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 032/156] btrfs: Fix transaction abort during failure in btrfs_rm_dev_item Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 033/156] Btrfs: bail out gracefully rather than BUG_ON Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 034/156] cpupowerutils: bench - Fix cpu online check Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 035/156] cpupower : Fix cpupower working when cpu0 is offline Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 036/156] KVM: nVMX/nSVM: Dont intercept #UD when running L2 Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 037/156] KVM: x86: emulator: Return to user-mode on L1 CPL=0 emulation failure Greg Kroah-Hartman
2018-02-02 16:56 ` [PATCH 4.14 038/156] KVM: x86: Dont re-execute instruction when not passing CR2 value Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 039/156] KVM: X86: Fix operand/address-size during instruction decoding Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 040/156] KVM: nVMX: Fix mmu context after VMLAUNCH/VMRESUME failure Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 041/156] KVM: x86: fix em_fxstor() sleeping while in atomic Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 042/156] KVM: x86: ioapic: Fix level-triggered EOI and IOAPIC reconfigure race Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 043/156] KVM: x86: ioapic: Clear Remote IRR when entry is switched to edge-triggered Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 044/156] KVM: x86: ioapic: Preserve read-only values in the redirection table Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 045/156] KVM: nVMX: Fix vmx_check_nested_events() return value in case an event was reinjected to L2 Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 046/156] nvme-fabrics: introduce init command check for a queue that is not alive Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 047/156] nvme-fc: check if queue is ready in queue_rq Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 048/156] nvme-loop: " Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 049/156] nvme-pci: disable APST on Samsung SSD 960 EVO + ASUS PRIME B350M-A Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 050/156] nvme-pci: avoid hmb desc array idx out-of-bound when hmmaxd set Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 051/156] nvmet-fc: correct ref counting error when deferred rcv used Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 052/156] s390/topology: fix compile error in file arch/s390/kernel/smp.c Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 053/156] s390/zcrypt: Fix wrong comparison leading to strange load balancing Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 054/156] ACPI / bus: Leave modalias empty for devices which are not present Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 055/156] cpufreq: Add Loongson machine dependencies Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 056/156] null_blk: fix dev->badblocks leak Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 057/156] s390: fix alloc_pgste check in init_new_context again Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 058/156] rxrpc: The mutex lock returned by rxrpc_accept_call() needs releasing Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 059/156] rxrpc: Provide a different lockdep key for call->user_mutex for kernel calls Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 060/156] rxrpc: Fix service endpoint expiry Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 061/156] bcache: check return value of register_shrinker Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 062/156] drm/amdgpu: Fix SDMA load/unload sequence on HWS disabled mode Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 063/156] drm/amdkfd: Fix SDMA ring buffer size calculation Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 064/156] drm/amdkfd: Fix SDMA oversubsription handling Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 065/156] uapi: fix linux/kfd_ioctl.h userspace compilation errors Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 066/156] nvme-rdma: dont complete requests before a send work request has completed Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 067/156] openvswitch: fix the incorrect flow action alloc size Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 068/156] drm/rockchip: dw-mipi-dsi: fix possible un-balanced runtime PM enable Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 069/156] mac80211: use QoS NDP for AP probing Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 070/156] mac80211: fix the update of path metric for RANN frame Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 071/156] btrfs: fix deadlock when writing out space cache Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 072/156] sctp: only allow the asoc reset when the asoc outq is empty Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 073/156] sctp: avoid flushing unsent queue when doing asoc reset Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 074/156] sctp: set sender next_tsn for the old result with ctsn_ack_point plus 1 Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 075/156] reiserfs: remove unneeded i_version bump Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 076/156] KVM: X86: Fix softlockup when get the current kvmclock Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 077/156] KVM: VMX: Fix rflags cache during vCPU reset Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 078/156] Btrfs: fix list_add corruption and soft lockups in fsync Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 079/156] KVM: Let KVM_SET_SIGNAL_MASK work as advertised Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 080/156] xfs: always free inline data before resetting inode fork during ifree Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 081/156] xfs: log recovery should replay deferred ops in order Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 082/156] i2c: i2c-boardinfo: fix memory leaks on devinfo Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 083/156] xen-netfront: remove warning when unloading module Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 084/156] auxdisplay: img-ascii-lcd: Only build on archs that have IOMEM Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 085/156] nfsd: CLOSE SHOULD return the invalid special stateid for NFSv4.x (x>0) Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 086/156] nfsd: Ensure we check stateid validity in the seqid operation checks Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 087/156] grace: replace BUG_ON by WARN_ONCE in exit_net hook Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 088/156] nfsd: check for use of the closed special stateid Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 089/156] race of lockd inetaddr notifiers vs nlmsvc_rqst change Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 090/156] lockd: fix "list_add double add" caused by legacy signal interface Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 091/156] hwmon: (pmbus) Use 64bit math for DIRECT format values Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 092/156] quota: propagate error from __dquot_initialize Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 093/156] net: mvpp2: fix the txq_init error path Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 094/156] net: phy: marvell10g: fix the PHY id mask Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 095/156] bnxt_en: Fix an error handling path in bnxt_get_module_eeprom() Greg Kroah-Hartman
2018-02-02 16:57 ` Greg Kroah-Hartman [this message]
2018-02-02 16:57 ` [PATCH 4.14 097/156] nvme-pci: fix NULL pointer dereference in nvme_free_host_mem() Greg Kroah-Hartman
2018-02-02 16:57 ` [PATCH 4.14 098/156] xfs: fortify xfs_alloc_buftarg error handling Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 099/156] drm/amdgpu: dont try to move pinned BOs Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 100/156] net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 101/156] quota: Check for register_shrinker() failure Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 102/156] SUNRPC: Allow connect to return EHOSTUNREACH Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 103/156] scripts/faddr2line: extend usage on generic arch Greg Kroah-Hartman
2018-02-04  6:46   ` Liu, Changcheng
2018-02-04 10:46     ` Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 104/156] kmemleak: add scheduling point to kmemleak_scan() Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 105/156] drm/bridge: Fix lvds-encoder since the panel_bridge rework Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 106/156] drm/bridge: tc358767: do no fail on hi-res displays Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 107/156] drm/bridge: tc358767: filter out too high modes Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 108/156] drm/bridge: tc358767: fix DP0_MISC register set Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 109/156] drm/bridge: tc358767: fix timing calculations Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 110/156] drm/bridge: tc358767: fix AUXDATAn registers access Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 111/156] drm/bridge: tc358767: fix 1-lane behavior Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 112/156] drm/omap: Fix error handling path in omap_dmm_probe() Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 113/156] drm/omap: displays: panel-dpi: add backlight dependency Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 114/156] xfs: ubsan fixes Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 115/156] xfs: Properly retry failed dquot items in case of error during buffer writeback Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 116/156] perf/core: Fix memory leak triggered by perf --namespace Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 117/156] scsi: aacraid: Prevent crash in case of free interrupt during scsi EH path Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 118/156] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 119/156] iwlwifi: mvm: fix the TX queue hang timeout for MONITOR vif type Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 120/156] iwlwifi: fix access to prph when transport is stopped Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 121/156] ARM: dts: NSP: Disable AHCI controller for HR NSP boards Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 122/156] ARM: dts: NSP: Fix PPI interrupt types Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 123/156] media: usbtv: add a new usbid Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 124/156] x86/xen: Support early interrupts in xen pv guests Greg Kroah-Hartman
2018-02-02 16:58   ` Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 125/156] usb: gadget: dont dereference g until after it has been null checked Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 126/156] staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 127/156] drm/vc4: Move IRQ enable to PM path Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 128/156] KVM: x86: emulate #UD while in guest mode Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 129/156] staging: lustre: separate a connection destroy from free struct kib_conn Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 130/156] staging: ccree: NULLify backup_info when unused Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 131/156] staging: ccree: fix fips event irq handling build Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 132/156] tty: fix data race between tty_init_dev and flush of buf Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 133/156] usb: option: Add support for FS040U modem Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 134/156] USB: serial: pl2303: new device id for Chilitag Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 135/156] USB: cdc-acm: Do not log urb submission errors on disconnect Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 136/156] CDC-ACM: apply quirk for card reader Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 137/156] USB: serial: io_edgeport: fix possible sleep-in-atomic Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 138/156] usbip: prevent bind loops on devices attached to vhci_hcd Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 139/156] usbip: list: dont list " Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 140/156] USB: serial: simple: add Motorola Tetra driver Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 141/156] usb: f_fs: Prevent gadget unbind if it is already unbound Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 142/156] usb: uas: unconditionally bring back host after reset Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 143/156] usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc() Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 144/156] ANDROID: binder: remove waitqueue when thread exits Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 145/156] android: binder: use VM_ALLOC to get vm area Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 146/156] mei: me: allow runtime pm for platform with D0i3 Greg Kroah-Hartman
2018-02-02 16:58   ` Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 147/156] serial: 8250_of: fix return code when probe function fails to get reset Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 148/156] serial: 8250_uniphier: fix error return code in uniphier_uart_probe() Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 149/156] serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 150/156] spi: imx: do not access registers while clocks disabled Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 151/156] iio: adc: stm32: fix scan of multiple channels with DMA Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 152/156] iio: chemical: ccs811: Fix output of IIO_CONCENTRATION channels Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 153/156] test_firmware: fix missing unlock on error in config_num_requests_store() Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 154/156] Input: synaptics-rmi4 - unmask F03 interrupts when port is opened Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 155/156] Input: synaptics-rmi4 - do not delete interrupt memory too early Greg Kroah-Hartman
2018-02-02 16:58 ` [PATCH 4.14 156/156] x86/efi: Clarify that reset attack mitigation needs appropriate userspace Greg Kroah-Hartman
2018-02-02 22:18 ` [PATCH 4.14 000/156] 4.14.17-stable review Shuah Khan
2018-02-02 23:06 ` Dan Rue
2018-02-03 15:31 ` 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=20180202140844.564094479@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alexander.levin@verizon.com \
    --cc=dsterba@suse.com \
    --cc=fdmanana@suse.com \
    --cc=linux-kernel@vger.kernel.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.