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,
	Trond Myklebust <trond.myklebust@primarydata.com>,
	Stanislav Kinsbursky <skinsbursky@parallels.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>
Subject: [PATCH 3.16 118/125] NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes
Date: Wed,  3 Sep 2014 15:07:55 -0700	[thread overview]
Message-ID: <20140903220627.241051705@linuxfoundation.org> (raw)
In-Reply-To: <20140903220623.649748296@linuxfoundation.org>

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

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

From: "Eric W. Biederman" <ebiederm@xmission.com>

commit 65b38851a17472d31fec9019fc3a55b0802dab88 upstream.

The usage of pid_ns->child_reaper->nsproxy->net_ns in
nfs_server_list_open and nfs_client_list_open is not safe.

/proc for a pid namespace can remain mounted after the all of the
process in that pid namespace have exited.  There are also times
before the initial process in a pid namespace has started or after the
initial process in a pid namespace has exited where
pid_ns->child_reaper can be NULL or stale.  Making the idiom
pid_ns->child_reaper->nsproxy a double whammy of problems.

Luckily all that needs to happen is to move /proc/fs/nfsfs/servers and
/proc/fs/nfsfs/volumes under /proc/net to /proc/net/nfsfs/servers and
/proc/net/nfsfs/volumes and add a symlink from the original location,
and to use seq_open_net as it has been designed.

Cc: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/nfs/client.c   |   95 +++++++++++++++++++++++++++++++-----------------------
 fs/nfs/inode.c    |    3 +
 fs/nfs/internal.h |    9 +++++
 fs/nfs/netns.h    |    3 +
 4 files changed, 69 insertions(+), 41 deletions(-)

--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -1205,7 +1205,7 @@ static const struct file_operations nfs_
 	.open		= nfs_server_list_open,
 	.read		= seq_read,
 	.llseek		= seq_lseek,
-	.release	= seq_release,
+	.release	= seq_release_net,
 	.owner		= THIS_MODULE,
 };
 
@@ -1226,7 +1226,7 @@ static const struct file_operations nfs_
 	.open		= nfs_volume_list_open,
 	.read		= seq_read,
 	.llseek		= seq_lseek,
-	.release	= seq_release,
+	.release	= seq_release_net,
 	.owner		= THIS_MODULE,
 };
 
@@ -1236,19 +1236,8 @@ static const struct file_operations nfs_
  */
 static int nfs_server_list_open(struct inode *inode, struct file *file)
 {
-	struct seq_file *m;
-	int ret;
-	struct pid_namespace *pid_ns = file->f_dentry->d_sb->s_fs_info;
-	struct net *net = pid_ns->child_reaper->nsproxy->net_ns;
-
-	ret = seq_open(file, &nfs_server_list_ops);
-	if (ret < 0)
-		return ret;
-
-	m = file->private_data;
-	m->private = net;
-
-	return 0;
+	return seq_open_net(inode, file, &nfs_server_list_ops,
+			   sizeof(struct seq_net_private));
 }
 
 /*
@@ -1256,7 +1245,7 @@ static int nfs_server_list_open(struct i
  */
 static void *nfs_server_list_start(struct seq_file *m, loff_t *_pos)
 {
-	struct nfs_net *nn = net_generic(m->private, nfs_net_id);
+	struct nfs_net *nn = net_generic(seq_file_net(m), nfs_net_id);
 
 	/* lock the list against modification */
 	spin_lock(&nn->nfs_client_lock);
@@ -1268,7 +1257,7 @@ static void *nfs_server_list_start(struc
  */
 static void *nfs_server_list_next(struct seq_file *p, void *v, loff_t *pos)
 {
-	struct nfs_net *nn = net_generic(p->private, nfs_net_id);
+	struct nfs_net *nn = net_generic(seq_file_net(p), nfs_net_id);
 
 	return seq_list_next(v, &nn->nfs_client_list, pos);
 }
@@ -1278,7 +1267,7 @@ static void *nfs_server_list_next(struct
  */
 static void nfs_server_list_stop(struct seq_file *p, void *v)
 {
-	struct nfs_net *nn = net_generic(p->private, nfs_net_id);
+	struct nfs_net *nn = net_generic(seq_file_net(p), nfs_net_id);
 
 	spin_unlock(&nn->nfs_client_lock);
 }
@@ -1289,7 +1278,7 @@ static void nfs_server_list_stop(struct
 static int nfs_server_list_show(struct seq_file *m, void *v)
 {
 	struct nfs_client *clp;
-	struct nfs_net *nn = net_generic(m->private, nfs_net_id);
+	struct nfs_net *nn = net_generic(seq_file_net(m), nfs_net_id);
 
 	/* display header on line 1 */
 	if (v == &nn->nfs_client_list) {
@@ -1321,19 +1310,8 @@ static int nfs_server_list_show(struct s
  */
 static int nfs_volume_list_open(struct inode *inode, struct file *file)
 {
-	struct seq_file *m;
-	int ret;
-	struct pid_namespace *pid_ns = file->f_dentry->d_sb->s_fs_info;
-	struct net *net = pid_ns->child_reaper->nsproxy->net_ns;
-
-	ret = seq_open(file, &nfs_volume_list_ops);
-	if (ret < 0)
-		return ret;
-
-	m = file->private_data;
-	m->private = net;
-
-	return 0;
+	return seq_open_net(inode, file, &nfs_server_list_ops,
+			   sizeof(struct seq_net_private));
 }
 
 /*
@@ -1341,7 +1319,7 @@ static int nfs_volume_list_open(struct i
  */
 static void *nfs_volume_list_start(struct seq_file *m, loff_t *_pos)
 {
-	struct nfs_net *nn = net_generic(m->private, nfs_net_id);
+	struct nfs_net *nn = net_generic(seq_file_net(m), nfs_net_id);
 
 	/* lock the list against modification */
 	spin_lock(&nn->nfs_client_lock);
@@ -1353,7 +1331,7 @@ static void *nfs_volume_list_start(struc
  */
 static void *nfs_volume_list_next(struct seq_file *p, void *v, loff_t *pos)
 {
-	struct nfs_net *nn = net_generic(p->private, nfs_net_id);
+	struct nfs_net *nn = net_generic(seq_file_net(p), nfs_net_id);
 
 	return seq_list_next(v, &nn->nfs_volume_list, pos);
 }
@@ -1363,7 +1341,7 @@ static void *nfs_volume_list_next(struct
  */
 static void nfs_volume_list_stop(struct seq_file *p, void *v)
 {
-	struct nfs_net *nn = net_generic(p->private, nfs_net_id);
+	struct nfs_net *nn = net_generic(seq_file_net(p), nfs_net_id);
 
 	spin_unlock(&nn->nfs_client_lock);
 }
@@ -1376,7 +1354,7 @@ static int nfs_volume_list_show(struct s
 	struct nfs_server *server;
 	struct nfs_client *clp;
 	char dev[8], fsid[17];
-	struct nfs_net *nn = net_generic(m->private, nfs_net_id);
+	struct nfs_net *nn = net_generic(seq_file_net(m), nfs_net_id);
 
 	/* display header on line 1 */
 	if (v == &nn->nfs_volume_list) {
@@ -1407,6 +1385,45 @@ static int nfs_volume_list_show(struct s
 	return 0;
 }
 
+int nfs_fs_proc_net_init(struct net *net)
+{
+	struct nfs_net *nn = net_generic(net, nfs_net_id);
+	struct proc_dir_entry *p;
+
+	nn->proc_nfsfs = proc_net_mkdir(net, "nfsfs", net->proc_net);
+	if (!nn->proc_nfsfs)
+		goto error_0;
+
+	/* a file of servers with which we're dealing */
+	p = proc_create("servers", S_IFREG|S_IRUGO,
+			nn->proc_nfsfs, &nfs_server_list_fops);
+	if (!p)
+		goto error_1;
+
+	/* a file of volumes that we have mounted */
+	p = proc_create("volumes", S_IFREG|S_IRUGO,
+			nn->proc_nfsfs, &nfs_volume_list_fops);
+	if (!p)
+		goto error_2;
+	return 0;
+
+error_2:
+	remove_proc_entry("servers", nn->proc_nfsfs);
+error_1:
+	remove_proc_entry("fs/nfsfs", NULL);
+error_0:
+	return -ENOMEM;
+}
+
+void nfs_fs_proc_net_exit(struct net *net)
+{
+	struct nfs_net *nn = net_generic(net, nfs_net_id);
+
+	remove_proc_entry("volumes", nn->proc_nfsfs);
+	remove_proc_entry("servers", nn->proc_nfsfs);
+	remove_proc_entry("fs/nfsfs", NULL);
+}
+
 /*
  * initialise the /proc/fs/nfsfs/ directory
  */
@@ -1419,14 +1436,12 @@ int __init nfs_fs_proc_init(void)
 		goto error_0;
 
 	/* a file of servers with which we're dealing */
-	p = proc_create("servers", S_IFREG|S_IRUGO,
-			proc_fs_nfs, &nfs_server_list_fops);
+	p = proc_symlink("servers", proc_fs_nfs, "../../net/nfsfs/servers");
 	if (!p)
 		goto error_1;
 
 	/* a file of volumes that we have mounted */
-	p = proc_create("volumes", S_IFREG|S_IRUGO,
-			proc_fs_nfs, &nfs_volume_list_fops);
+	p = proc_symlink("volumes", proc_fs_nfs, "../../net/nfsfs/volumes");
 	if (!p)
 		goto error_2;
 	return 0;
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -1840,11 +1840,12 @@ EXPORT_SYMBOL_GPL(nfs_net_id);
 static int nfs_net_init(struct net *net)
 {
 	nfs_clients_init(net);
-	return 0;
+	return nfs_fs_proc_net_init(net);
 }
 
 static void nfs_net_exit(struct net *net)
 {
+	nfs_fs_proc_net_exit(net);
 	nfs_cleanup_cb_ident_idr(net);
 }
 
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -195,7 +195,16 @@ extern struct rpc_clnt *nfs4_find_or_cre
 #ifdef CONFIG_PROC_FS
 extern int __init nfs_fs_proc_init(void);
 extern void nfs_fs_proc_exit(void);
+extern int nfs_fs_proc_net_init(struct net *net);
+extern void nfs_fs_proc_net_exit(struct net *net);
 #else
+static inline int nfs_fs_proc_net_init(struct net *net)
+{
+	return 0;
+}
+static inline void nfs_fs_proc_net_exit(struct net *net)
+{
+}
 static inline int nfs_fs_proc_init(void)
 {
 	return 0;
--- a/fs/nfs/netns.h
+++ b/fs/nfs/netns.h
@@ -29,6 +29,9 @@ struct nfs_net {
 #endif
 	spinlock_t nfs_client_lock;
 	struct timespec boot_time;
+#ifdef CONFIG_PROC_FS
+	struct proc_dir_entry *proc_nfsfs;
+#endif
 };
 
 extern int nfs_net_id;



  parent reply	other threads:[~2014-09-03 22:07 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-03 22:05 [PATCH 3.16 000/125] 3.16.2-stable review Greg Kroah-Hartman
2014-09-03 22:05 ` [PATCH 3.16 001/125] stable_kernel_rules: Add pointer to netdev-FAQ for network patches Greg Kroah-Hartman
2014-09-03 22:05 ` [PATCH 3.16 002/125] MIPS: math-emu: Fix instruction decoding Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 003/125] HID: logitech: fix bounds checking on LED report size Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 004/125] HID: logitech: perform bounds checking on device_id early enough Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 005/125] HID: fix a couple of off-by-ones Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 006/125] isofs: Fix unbounded recursion when processing relocated directories Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 007/125] uas: Limit qdepth to 32 when connected over usb-2 Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 008/125] USB: OHCI: fix bugs in debug routines Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 009/125] USB: OHCI: dont lose track of EDs when a controller dies Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 010/125] usbcore: dont log on consecutive debounce failures of the same port Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 011/125] USB: devio: fix issue with log flooding Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 012/125] USB: serial: ftdi_sio: Annotate the current Xsens PID assignments Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 013/125] USB: serial: ftdi_sio: Add support for new Xsens devices Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 014/125] USB: ehci-pci: USB host controller support for Intel Quark X1000 Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 015/125] USB: Fix persist resume of some SS USB devices Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 016/125] ALSA: hda - fix an external mic jack problem on a HP machine Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 017/125] ALSA: usb-audio: Adjust Gamecom 780 volume level Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 018/125] ALSA: virtuoso: add Xonar Essence STX II support Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 019/125] ALSA: hda/ca0132 - Dont try loading firmware at resume when already failed Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 020/125] ALSA: usb-audio: fix BOSS ME-25 MIDI regression Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 021/125] ALSA: hda - Add mute LED pin quirk for HP 15 touchsmart Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 022/125] ALSA: hda - restore the gpio led after resume Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 023/125] ALSA: hda/realtek - Avoid setting wrong COEF on ALC269 & co Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 024/125] mei: reset client connection state on timeout Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 025/125] mei: start disconnect request timer consistently Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 026/125] mei: dont schedule suspend in pm idle Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 027/125] mei: fix return value on disconnect timeout Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 028/125] xhci: Blacklist using streams on the Etron EJ168 controller Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 029/125] sched: Fix sched_setparam() policy == -1 logic Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 030/125] arm64: Fix barriers used for page table modifications Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 031/125] arm64: dont call break hooks for BRK exceptions from EL0 Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 032/125] efi/arm64: Store Runtime Services revision Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 033/125] ARM: dts: AM4372: Correct mailbox node data Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 034/125] ARM: 8097/1: unistd.h: relocate comments back to place Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 036/125] drm: omapdrm: fix compiler errors Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 037/125] mmc: mmci: Remove redundant check of status for DATA irq Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 038/125] mmc: mmci: Move all CMD irq handling to mmci_cmd_irq() Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 039/125] hwmon: (sis5595) Prevent overflow problem when writing large limits Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 040/125] hwmon: (amc6821) Fix possible race condition bug Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 041/125] hwmon: (lm78) Fix overflow problems seen when writing large temperature limits Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 042/125] hwmon: (gpio-fan) Prevent overflow problem when writing large limits Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 043/125] hwmon: (ads1015) Fix off-by-one for valid channel index checking Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 044/125] hwmon: (lm85) Fix various errors on attribute writes Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 045/125] hwmon: (ads1015) Fix out-of-bounds array access Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 046/125] hwmon: (dme1737) Prevent overflow problem when writing large limits Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 047/125] hwmon: (lm92) " Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 048/125] tpm: Add missing tpm_do_selftest to ST33 I2C driver Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 049/125] drivers/i2c/busses: use correct type for dma_map/unmap Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 050/125] i2c: rk3x: fix interrupt handling issue Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 051/125] ext4: fix punch hole on files with indirect mapping Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 052/125] ext4: fix ext4_discard_allocated_blocks() if we cant allocate the pa struct Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 053/125] serial: core: Preserve termios c_cflag for console resume Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 054/125] crypto: ux500 - make interrupt mode plausible Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 055/125] debugfs: Fix corrupted loop in debugfs_remove_recursive Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 056/125] KVM: x86: Inter-privilege level ret emulation is not implemeneted Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 057/125] KVM: x86: always exit on EOIs for interrupts listed in the IOAPIC redir table Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 058/125] KVM: s390/mm: Fix page table locking vs. split pmd lock Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 059/125] KVM: PPC: Book3S: Fix LPCR one_reg interface Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 060/125] KVM: nVMX: fix "acknowledge interrupt on exit" when APICv is in use Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 061/125] Revert "KVM: x86: Increase the number of fixed MTRR regs to 10" Greg Kroah-Hartman
2014-09-03 22:06 ` [PATCH 3.16 062/125] kvm: iommu: fix the third parameter of kvm_iommu_put_pages (CVE-2014-3601) Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 063/125] ext4: fix BUG_ON in mb_free_blocks() Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 064/125] drm/radeon: add new KV pci id Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 065/125] drm/radeon: add new bonaire pci ids Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 066/125] drm/radeon: add additional SI " Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 067/125] PCI: Configure ASPM when enabling device Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 068/125] PCI: Keep original resource if we fail to expand it Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 069/125] PCI: pciehp: Clear Data Link Layer State Changed during init Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 070/125] ACPI / PCI: Fix sysfs acpi_index and label errors Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 071/125] x86: dont exclude low BIOS area when allocating address space for non-PCI cards Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 072/125] powerpc/eeh: Wrong place to call pci_get_slot() Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 073/125] powerpc/pci: Reorder pci bus/bridge unregistration during PHB removal Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 074/125] powerpc/powernv: Update dev->dma_mask in pci_set_dma_mask() path Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 075/125] x86_64/vsyscall: Fix warn_bad_vsyscall log output Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 076/125] hpsa: fix non-x86 builds Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 077/125] x86: MCE: Add raw_lock conversion again Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 078/125] xen/events/fifo: ensure all bitops are properly aligned even on x86 Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 080/125] x86/xen: use vmap() to map grant table pages in PVH guests Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 081/125] x86/xen: resume timer irqs early Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 082/125] x86,mm: fix pte_special versus pte_numa Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 083/125] hpsa: fix bad -ENOMEM return value in hpsa_big_passthru_ioctl Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 084/125] Btrfs: Fix memory corruption by ulist_add_merge() on 32bit arch Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 085/125] Btrfs: fix csum tree corruption, duplicate and outdated checksums Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 086/125] Btrfs: read lock extent buffer while walking backrefs Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 087/125] Btrfs: fix compressed write corruption on enospc Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 088/125] btrfs: disable strict file flushes for renames and truncates Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 089/125] Btrfs: fix crash on endio of reading corrupted block Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 090/125] Btrfs: fix filemap_flush call in btrfs_file_release Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 091/125] Btrfs: fix task hang under heavy compressed write Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 092/125] mei: reset client state on queued connect request Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 093/125] mei: nfc: fix memory leak in error path Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 094/125] ext4: propagate errors up to ext4_find_entry()s callers Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 095/125] ext4: move i_size,i_disksize update routines to helper function Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 096/125] ext4: fix incorect journal credits reservation in ext4_zero_range Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 097/125] ext4: fix transaction issues for ext4_fallocate and ext_zero_range Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 098/125] ext4: update i_disksize coherently with block allocation on error path Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 099/125] ext4: fix same-dir rename when inline data directory overflows Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 100/125] jbd2: fix infinite loop when recovering corrupt journal blocks Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 101/125] jbd2: fix descriptor block size handling errors with journal_csum Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 102/125] staging: lustre: Remove circular dependency on header Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 103/125] staging: et131x: Fix errors caused by phydev->addr accesses before initialisation Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 104/125] staging/rtl8188eu: add 0df6:0076 Sitecom Europe B.V Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 105/125] staging: r8188eu: Add new USB ID Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 106/125] xhci: Treat not finding the event_seg on COMP_STOP the same as COMP_STOP_INVAL Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 107/125] usb: xhci: amd chipset also needs short TX quirk Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 108/125] xhci: rework cycle bit checking for new dequeue pointers Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 109/125] xhci: Disable streams on Via XHCI with device-id 0x3432 Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 110/125] ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 111/125] USB: ftdi_sio: add Basic Micro ATOM Nano USB2Serial PID Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 113/125] USB: whiteheat: Added bounds checking for bulk command response Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 114/125] usb: ehci: using wIndex + 1 for hub port Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 115/125] usb: hub: Prevent hub autosuspend if usbcore.autosuspend is -1 Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 116/125] usbcore: Fix wrong device in an error message in hub_port_connect() Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 117/125] NFSD: Decrease nfsd_users in nfsd_startup_generic fail Greg Kroah-Hartman
2014-09-03 22:07 ` Greg Kroah-Hartman [this message]
2014-09-03 22:07 ` [PATCH 3.16 119/125] nfs3_list_one_acl(): check get_acl() result with IS_ERR_OR_NULL Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 120/125] nfs: reject changes to resvport and sharecache during remount Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 121/125] svcrdma: Select NFSv4.1 backchannel transport based on forward channel Greg Kroah-Hartman
2014-09-03 22:07 ` [PATCH 3.16 122/125] NFSv3: Fix another acl regression Greg Kroah-Hartman
2014-09-03 22:08 ` [PATCH 3.16 123/125] NFSv4: Dont clear the open state when we just did an OPEN_DOWNGRADE Greg Kroah-Hartman
2014-09-03 22:08 ` [PATCH 3.16 124/125] NFSv4: Fix problems with close in the presence of a delegation Greg Kroah-Hartman
2014-09-03 22:08 ` [PATCH 3.16 125/125] vm_is_stack: use for_each_thread() rather then buggy while_each_thread() Greg Kroah-Hartman
2014-09-03 23:44 ` [PATCH 3.16 000/125] 3.16.2-stable review Greg Kroah-Hartman
2014-09-04  4:52   ` Guenter Roeck
2014-09-04 13:40 ` Shuah Khan
2014-09-04 14:00   ` 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=20140903220627.241051705@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=skinsbursky@parallels.com \
    --cc=stable@vger.kernel.org \
    --cc=trond.myklebust@primarydata.com \
    /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).