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, Johannes Weiner <hannes@cmpxchg.org>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>,
	Shaohua Li <shli@fb.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Sasha Levin <alexander.levin@verizon.com>
Subject: [PATCH 4.4 098/192] [PATCH 102/135] proc: revert /proc/<pid>/maps [stack:TID] annotation
Date: Mon, 12 Sep 2016 19:00:07 +0200	[thread overview]
Message-ID: <20160912152203.052491949@linuxfoundation.org> (raw)
In-Reply-To: <20160912152158.855601725@linuxfoundation.org>

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

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

[ Upstream commit 65376df582174ffcec9e6471bf5b0dd79ba05e4a ]

Commit b76437579d13 ("procfs: mark thread stack correctly in
proc/<pid>/maps") added [stack:TID] annotation to /proc/<pid>/maps.

Finding the task of a stack VMA requires walking the entire thread list,
turning this into quadratic behavior: a thousand threads means a
thousand stacks, so the rendering of /proc/<pid>/maps needs to look at a
million combinations.

The cost is not in proportion to the usefulness as described in the
patch.

Drop the [stack:TID] annotation to make /proc/<pid>/maps (and
/proc/<pid>/numa_maps) usable again for higher thread counts.

The [stack] annotation inside /proc/<pid>/task/<tid>/maps is retained, as
identifying the stack VMA there is an O(1) operation.

Siddesh said:
 "The end users needed a way to identify thread stacks programmatically and
  there wasn't a way to do that.  I'm afraid I no longer remember (or have
  access to the resources that would aid my memory since I changed
  employers) the details of their requirement.  However, I did do this on my
  own time because I thought it was an interesting project for me and nobody
  really gave any feedback then as to its utility, so as far as I am
  concerned you could roll back the main thread maps information since the
  information is available in the thread-specific files"

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>
Cc: Shaohua Li <shli@fb.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 Documentation/filesystems/proc.txt |    9 +----
 fs/proc/task_mmu.c                 |   66 ++++++++++++-------------------------
 fs/proc/task_nommu.c               |   49 +++++++++++----------------
 include/linux/mm.h                 |    3 -
 mm/util.c                          |   27 ---------------
 5 files changed, 48 insertions(+), 106 deletions(-)

--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -346,7 +346,7 @@ address           perms offset  dev   in
 a7cb1000-a7cb2000 ---p 00000000 00:00 0
 a7cb2000-a7eb2000 rw-p 00000000 00:00 0
 a7eb2000-a7eb3000 ---p 00000000 00:00 0
-a7eb3000-a7ed5000 rw-p 00000000 00:00 0          [stack:1001]
+a7eb3000-a7ed5000 rw-p 00000000 00:00 0
 a7ed5000-a8008000 r-xp 00000000 03:00 4222       /lib/libc.so.6
 a8008000-a800a000 r--p 00133000 03:00 4222       /lib/libc.so.6
 a800a000-a800b000 rw-p 00135000 03:00 4222       /lib/libc.so.6
@@ -378,7 +378,6 @@ is not associated with a file:
 
  [heap]                   = the heap of the program
  [stack]                  = the stack of the main process
- [stack:1001]             = the stack of the thread with tid 1001
  [vdso]                   = the "virtual dynamic shared object",
                             the kernel system call handler
 
@@ -386,10 +385,8 @@ is not associated with a file:
 
 The /proc/PID/task/TID/maps is a view of the virtual memory from the viewpoint
 of the individual tasks of a process. In this file you will see a mapping marked
-as [stack] if that task sees it as a stack. This is a key difference from the
-content of /proc/PID/maps, where you will see all mappings that are being used
-as stack by all of those tasks. Hence, for the example above, the task-level
-map, i.e. /proc/PID/task/TID/maps for thread 1001 will look like this:
+as [stack] if that task sees it as a stack. Hence, for the example above, the
+task-level map, i.e. /proc/PID/task/TID/maps for thread 1001 will look like this:
 
 08048000-08049000 r-xp 00000000 03:00 8312       /opt/test
 08049000-0804a000 rw-p 00001000 03:00 8312       /opt/test
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -248,23 +248,29 @@ static int do_maps_open(struct inode *in
 				sizeof(struct proc_maps_private));
 }
 
-static pid_t pid_of_stack(struct proc_maps_private *priv,
-				struct vm_area_struct *vma, bool is_pid)
+/*
+ * Indicate if the VMA is a stack for the given task; for
+ * /proc/PID/maps that is the stack of the main task.
+ */
+static int is_stack(struct proc_maps_private *priv,
+		    struct vm_area_struct *vma, int is_pid)
 {
-	struct inode *inode = priv->inode;
-	struct task_struct *task;
-	pid_t ret = 0;
+	int stack = 0;
+
+	if (is_pid) {
+		stack = vma->vm_start <= vma->vm_mm->start_stack &&
+			vma->vm_end >= vma->vm_mm->start_stack;
+	} else {
+		struct inode *inode = priv->inode;
+		struct task_struct *task;
 
-	rcu_read_lock();
-	task = pid_task(proc_pid(inode), PIDTYPE_PID);
-	if (task) {
-		task = task_of_stack(task, vma, is_pid);
+		rcu_read_lock();
+		task = pid_task(proc_pid(inode), PIDTYPE_PID);
 		if (task)
-			ret = task_pid_nr_ns(task, inode->i_sb->s_fs_info);
+			stack = vma_is_stack_for_task(vma, task);
+		rcu_read_unlock();
 	}
-	rcu_read_unlock();
-
-	return ret;
+	return stack;
 }
 
 static void
@@ -324,8 +330,6 @@ show_map_vma(struct seq_file *m, struct
 
 	name = arch_vma_name(vma);
 	if (!name) {
-		pid_t tid;
-
 		if (!mm) {
 			name = "[vdso]";
 			goto done;
@@ -337,21 +341,8 @@ show_map_vma(struct seq_file *m, struct
 			goto done;
 		}
 
-		tid = pid_of_stack(priv, vma, is_pid);
-		if (tid != 0) {
-			/*
-			 * Thread stack in /proc/PID/task/TID/maps or
-			 * the main process stack.
-			 */
-			if (!is_pid || (vma->vm_start <= mm->start_stack &&
-			    vma->vm_end >= mm->start_stack)) {
-				name = "[stack]";
-			} else {
-				/* Thread stack in /proc/PID/maps */
-				seq_pad(m, ' ');
-				seq_printf(m, "[stack:%d]", tid);
-			}
-		}
+		if (is_stack(priv, vma, is_pid))
+			name = "[stack]";
 	}
 
 done:
@@ -1566,19 +1557,8 @@ static int show_numa_map(struct seq_file
 		seq_file_path(m, file, "\n\t= ");
 	} else if (vma->vm_start <= mm->brk && vma->vm_end >= mm->start_brk) {
 		seq_puts(m, " heap");
-	} else {
-		pid_t tid = pid_of_stack(proc_priv, vma, is_pid);
-		if (tid != 0) {
-			/*
-			 * Thread stack in /proc/PID/task/TID/maps or
-			 * the main process stack.
-			 */
-			if (!is_pid || (vma->vm_start <= mm->start_stack &&
-			    vma->vm_end >= mm->start_stack))
-				seq_puts(m, " stack");
-			else
-				seq_printf(m, " stack:%d", tid);
-		}
+	} else if (is_stack(proc_priv, vma, is_pid)) {
+		seq_puts(m, " stack");
 	}
 
 	if (is_vm_hugetlb_page(vma))
--- a/fs/proc/task_nommu.c
+++ b/fs/proc/task_nommu.c
@@ -123,23 +123,26 @@ unsigned long task_statm(struct mm_struc
 	return size;
 }
 
-static pid_t pid_of_stack(struct proc_maps_private *priv,
-				struct vm_area_struct *vma, bool is_pid)
+static int is_stack(struct proc_maps_private *priv,
+		    struct vm_area_struct *vma, int is_pid)
 {
-	struct inode *inode = priv->inode;
-	struct task_struct *task;
-	pid_t ret = 0;
-
-	rcu_read_lock();
-	task = pid_task(proc_pid(inode), PIDTYPE_PID);
-	if (task) {
-		task = task_of_stack(task, vma, is_pid);
+	struct mm_struct *mm = vma->vm_mm;
+	int stack = 0;
+
+	if (is_pid) {
+		stack = vma->vm_start <= mm->start_stack &&
+			vma->vm_end >= mm->start_stack;
+	} else {
+		struct inode *inode = priv->inode;
+		struct task_struct *task;
+
+		rcu_read_lock();
+		task = pid_task(proc_pid(inode), PIDTYPE_PID);
 		if (task)
-			ret = task_pid_nr_ns(task, inode->i_sb->s_fs_info);
+			stack = vma_is_stack_for_task(vma, task);
+		rcu_read_unlock();
 	}
-	rcu_read_unlock();
-
-	return ret;
+	return stack;
 }
 
 /*
@@ -181,21 +184,9 @@ static int nommu_vma_show(struct seq_fil
 	if (file) {
 		seq_pad(m, ' ');
 		seq_file_path(m, file, "");
-	} else if (mm) {
-		pid_t tid = pid_of_stack(priv, vma, is_pid);
-
-		if (tid != 0) {
-			seq_pad(m, ' ');
-			/*
-			 * Thread stack in /proc/PID/task/TID/maps or
-			 * the main process stack.
-			 */
-			if (!is_pid || (vma->vm_start <= mm->start_stack &&
-			    vma->vm_end >= mm->start_stack))
-				seq_printf(m, "[stack]");
-			else
-				seq_printf(m, "[stack:%d]", tid);
-		}
+	} else if (mm && is_stack(priv, vma, is_pid)) {
+		seq_pad(m, ' ');
+		seq_printf(m, "[stack]");
 	}
 
 	seq_putc(m, '\n');
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1311,8 +1311,7 @@ static inline int stack_guard_page_end(s
 		!vma_growsup(vma->vm_next, addr);
 }
 
-extern struct task_struct *task_of_stack(struct task_struct *task,
-				struct vm_area_struct *vma, bool in_group);
+int vma_is_stack_for_task(struct vm_area_struct *vma, struct task_struct *t);
 
 extern unsigned long move_page_tables(struct vm_area_struct *vma,
 		unsigned long old_addr, struct vm_area_struct *new_vma,
--- a/mm/util.c
+++ b/mm/util.c
@@ -199,36 +199,11 @@ void __vma_link_list(struct mm_struct *m
 }
 
 /* Check if the vma is being used as a stack by this task */
-static int vm_is_stack_for_task(struct task_struct *t,
-				struct vm_area_struct *vma)
+int vma_is_stack_for_task(struct vm_area_struct *vma, struct task_struct *t)
 {
 	return (vma->vm_start <= KSTK_ESP(t) && vma->vm_end >= KSTK_ESP(t));
 }
 
-/*
- * Check if the vma is being used as a stack.
- * If is_group is non-zero, check in the entire thread group or else
- * just check in the current task. Returns the task_struct of the task
- * that the vma is stack for. Must be called under rcu_read_lock().
- */
-struct task_struct *task_of_stack(struct task_struct *task,
-				struct vm_area_struct *vma, bool in_group)
-{
-	if (vm_is_stack_for_task(task, vma))
-		return task;
-
-	if (in_group) {
-		struct task_struct *t;
-
-		for_each_thread(task, t) {
-			if (vm_is_stack_for_task(t, vma))
-				return t;
-		}
-	}
-
-	return NULL;
-}
-
 #if defined(CONFIG_MMU) && !defined(HAVE_ARCH_PICK_MMAP_LAYOUT)
 void arch_pick_mmap_layout(struct mm_struct *mm)
 {



  parent reply	other threads:[~2016-09-12 17:10 UTC|newest]

Thread overview: 182+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20160912170204uscas1p21b335f9a8ceedfaf36b218439fe6f15d@uscas1p2.samsung.com>
2016-09-12 16:58 ` [PATCH 4.4 000/192] 4.4.21-stable review Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 001/192] [PATCH 001/135] i40e: Workaround fix for mss < 256 issue Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 002/192] [PATCH 002/135] i40evf: handle many MAC filters correctly Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 003/192] [PATCH 003/135] i40e/i40evf: Fix RS bit update in Tx path and disable force WB workaround Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 004/192] [PATCH 004/135] i40e: fix: do not sleep in netdev_ops Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 005/192] [PATCH 005/135] i40e: Fix memory leaks, sideband filter programming Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 006/192] [PATCH 006/135] i40e: properly delete VF MAC filters Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 007/192] [PATCH 007/135] i40e: dont add zero MAC filter Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 008/192] [PATCH 008/135] i40evf: check rings before freeing resources Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 009/192] [PATCH 009/135] i40e: clean whole mac filter list Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 010/192] [PATCH 010/135] i40e: Fix Rx hash reported to the stack by our driver Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 011/192] [PATCH 011/135] igb: dont unmap NULL hw_addr Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 012/192] [PATCH 012/135] igb: use the correct i210 register for EEMNGCTL Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 013/192] [PATCH 013/135] igb: fix NULL derefs due to skipped SR-IOV enabling Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 014/192] [PATCH 014/135] ixgbe: Fix handling of NAPI budget when multiple queues are enabled per vector Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 015/192] [PATCH 015/135] e1000: fix data race between tx_ring->next_to_clean Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 016/192] [PATCH 016/135] e1000e: fix division by zero on jumbo MTUs Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 017/192] [PATCH 017/135] clk: xgene: Fix divider with non-zero shift value Greg Kroah-Hartman
2016-09-20 11:39     ` Ben Hutchings
     [not found]       ` <CAPw-ZTkb-BnykF_Gij2NUiQFKjOWjoB0+mUO9Oq9Rtktr2kbnQ@mail.gmail.com>
2016-09-20 16:26         ` Ben Hutchings
2016-09-12 16:58   ` [PATCH 4.4 018/192] [PATCH 018/135] fm10k: do not assume VF always has 1 queue Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 019/192] [PATCH 019/135] fm10k: Correct MTU for jumbo frames Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 020/192] [PATCH 020/135] fm10k: Fix handling of NAPI budget when multiple queues are enabled per vector Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 021/192] [PATCH 021/135] fm10k: reset max_queues on init_hw_vf failure Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 022/192] [PATCH 022/135] fm10k: always check init_hw for errors Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 023/192] [PATCH 023/135] fm10k: reinitialize queuing scheme after calling init_hw Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 024/192] [PATCH 024/135] fm10k: Cleanup MSI-X interrupts in case of failure Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 025/192] [PATCH 025/135] fm10k: Cleanup exception handling for mailbox interrupt Greg Kroah-Hartman
2016-09-12 16:58   ` [PATCH 4.4 026/192] [PATCH 026/135] cxlflash: a couple off by one bugs Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 033/192] [PATCH 034/135] Drivers: hv: util: Increase the timeout for util services Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 034/192] [PATCH 035/135] Drivers: hv: utils: run polling callback always in interrupt context Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 035/192] [PATCH 036/135] tools: hv: report ENOSPC errors in hv_fcopy_daemon Greg Kroah-Hartman
2016-09-20 12:31     ` Ben Hutchings
2016-09-12 16:59   ` [PATCH 4.4 036/192] [PATCH 037/135] Drivers: hv: util: catch allocation errors Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 037/192] [PATCH 038/135] drivers/hv: cleanup synic msrs if vmbus connect failed Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 038/192] [PATCH 039/135] Drivers: hv: vss: run only on supported host versions Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 039/192] [PATCH 040/135] Drivers: hv: vmbus: serialize process_chn_event() and vmbus_close_internal() Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 040/192] [PATCH 041/135] Drivers: hv: vmbus: fix rescind-offer handling for device without a driver Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 041/192] [PATCH 042/135] cxl: Fix possible idr warning when contexts are released Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 042/192] [PATCH 043/135] cxl: Fix DSI misses when the context owning task exits Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 043/192] [PATCH 044/135] cxlflash: Fix to resolve cmd leak after host reset Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 044/192] [PATCH 045/135] cxlflash: Resolve oops in wait_port_offline Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 045/192] [PATCH 046/135] cxlflash: Enable device id for future IBM CXL adapter Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 046/192] [PATCH 047/135] cxl: fix build for GCC 4.6.x Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 047/192] [PATCH 048/135] cxl: Enable PCI device ID for future IBM CXL adapter Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 048/192] [PATCH 049/135] lpfc: Fix FCF Infinite loop in lpfc_sli4_fcf_rr_next_index_get Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 049/192] [PATCH 050/135] lpfc: Fix the FLOGI discovery logic to comply with T11 standards Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 050/192] [PATCH 051/135] lpfc: Fix RegLogin failed error seen on Lancer FC during port bounce Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 051/192] [PATCH 052/135] lpfc: Fix driver crash when module parameter lpfc_fcp_io_channel set to 16 Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 052/192] [PATCH 053/135] lpfc: Fix crash in fcp command completion path Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 053/192] [PATCH 054/135] lpfc: Fix RDP Speed reporting Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 054/192] [PATCH 056/135] lpfc: Fix mbox reuse in PLOGI completion Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 055/192] [PATCH 057/135] lpfc: Fix external loopback failure Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 056/192] [PATCH 058/135] qeth: initialize net_device with carrier off Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 057/192] [PATCH 059/135] s390/cio: fix measurement characteristics memleak Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 058/192] [PATCH 060/135] s390/cio: ensure consistent measurement state Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 059/192] [PATCH 061/135] s390/cio: update measurement characteristics Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 060/192] [PATCH 063/135] megaraid_sas: Do not allow PCI access during OCR Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 061/192] [PATCH 064/135] megaraid_sas: Fix SMAP issue Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 062/192] [PATCH 065/135] megaraid_sas: Add an i/o barrier Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 063/192] [PATCH 066/135] pwm: fsl-ftm: Fix clock enable/disable when using PM Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 064/192] [PATCH 067/135] pwm: lpc32xx: correct number of PWM channels from 2 to 1 Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 065/192] [PATCH 068/135] pwm: lpc32xx: fix and simplify duty cycle and period calculations Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 066/192] [PATCH 069/135] irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is visible on redestributor Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 067/192] [PATCH 070/135] arm64: KVM: Configure TCR_EL2.PS at runtime Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 068/192] [PATCH 071/135] net: cavium: liquidio: fix check for in progress flag Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 069/192] [PATCH 072/135] mpt3sas: A correction in unmap_resources Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 070/192] [PATCH 073/135] mpt3sas: Fix for Asynchronous completion of timedout IO and task abort of timedout IO Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 071/192] [PATCH 074/135] i40e/i40evf: Fix RSS rx-flow-hash configuration through ethtool Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 072/192] [PATCH 075/135] hrtimer: Catch illegal clockids Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 073/192] [PATCH 076/135] drm/i915/bxt: update list of PCIIDs Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 075/192] [PATCH 078/135] drm/atomic: Do not unset crtc when an encoder is stolen Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 076/192] [PATCH 079/135] mmc: sdhci: 64-bit DMA actually has 4-byte alignment Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 077/192] [PATCH 080/135] qla2xxx: Use ATIO type to send correct tmr response Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 078/192] [PATCH 081/135] drm/amdgpu: fix dp link rate selection (v2) Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 079/192] [PATCH 082/135] drm/radeon: " Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 080/192] [PATCH 083/135] net: thunderx: Fix for Qset error due to CQ full Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 081/192] [PATCH 085/135] arm64: Add workaround for Cavium erratum 27456 Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 082/192] [PATCH 086/135] tipc: fix nullptr crash during subscription cancel Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 084/192] [PATCH 088/135] ALSA: hda - add codec support for Kabylake display audio codec Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 085/192] [PATCH 089/135] sched/numa: Fix use-after-free bug in the task_numa_compare Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 086/192] [PATCH 090/135] UVC: Add support for R200 depth camera Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 087/192] [PATCH 091/135] mmc: sdhci: Do not BUG on invalid vdd Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 088/192] [PATCH 092/135] net/mlx5e: Dont try to modify CQ moderation if it is not supported Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 089/192] [PATCH 093/135] net/mlx5e: Dont modify CQ before it was created Greg Kroah-Hartman
2016-09-12 16:59   ` [PATCH 4.4 090/192] [PATCH 094/135] s390/pci_dma: fix DMA table corruption with > 4 TB main memory Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 091/192] [PATCH 095/135] arcmsr: fixed getting wrong configuration data Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 092/192] [PATCH 096/135] arcmsr: fixes not release allocated resource Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 093/192] [PATCH 097/135] Drivers: hv: vmbus: avoid infinite loop in init_vp_index() Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 094/192] [PATCH 098/135] Drivers: hv: vmbus: avoid scheduling in interrupt context in vmbus_initiate_unload() Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 095/192] [PATCH 099/135] Drivers: hv: vmbus: dont manipulate with clocksources on crash Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 096/192] [PATCH 100/135] cxlflash: Fix to avoid unnecessary scan with internal LUNs Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 097/192] [PATCH 101/135] intel_idle: Support for Intel Xeon Phi Processor x200 Product Family Greg Kroah-Hartman
2016-09-12 17:00   ` Greg Kroah-Hartman [this message]
2016-09-12 17:00   ` [PATCH 4.4 099/192] [PATCH 103/135] s390/crypto: provide correct file mode at device register Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 100/192] [PATCH 104/135] perf/x86/cqm: Fix CQM handling of grouping events into a cache_group Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 101/192] [PATCH 105/135] perf/x86/cqm: Fix CQM memory leak and notifier leak Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 102/192] [PATCH 106/135] net: thunderx: Fix for multiqset not configured upon interface toggle Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 103/192] [PATCH 107/135] net: thunderx: Fix receive packet stats Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 104/192] [PATCH 108/135] Input: xpad - correctly handle concurrent LED and FF requests Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 105/192] [PATCH 109/135] time: Verify time values in adjtimex ADJ_SETOFFSET to avoid overflow Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 106/192] [PATCH 110/135] ntp: Fix ADJ_SETOFFSET being used w/ ADJ_NANO Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 109/192] [PATCH 113/135] ecryptfs: fix handling of directory opening Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 110/192] [PATCH 114/135] drm/radeon/mst: fix regression in lane/link handling Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 111/192] [PATCH 115/135] cxlflash: Fix to resolve dead-lock during EEH recovery Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 112/192] [PATCH 116/135] blk-mq: End unstarted requests on dying queue Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 113/192] [PATCH 117/135] btrfs: Continue write in case of can_not_nocow Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 114/192] [PATCH 118/135] clocksource: Allow unregistering the watchdog Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 115/192] [PATCH 119/135] irqchip/gicv3-its: numa: Enable workaround for Cavium thunderx erratum 23144 Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 116/192] [PATCH 120/135] block: fix blk_rq_get_max_sectors for driver private requests Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 117/192] [PATCH 121/135] lpfc: Fix DMA faults observed upon plugging loopback connector Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 118/192] [PATCH 122/135] HID: core: prevent out-of-bound readings Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 119/192] [PATCH 123/135] crypto: vmx - comply with ABIs that specify vrsave as reserved Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 120/192] [PATCH 124/135] crypto: vmx - Fix ABI detection Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 121/192] [PATCH 125/135] tda10071: Fix dependency to REGMAP_I2C Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 122/192] [PATCH 126/135] crypto: vmx - IV size failing on skcipher API Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 123/192] [PATCH 127/135] x86/hyperv: Avoid reporting bogus NMI status for Gen2 instances Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 124/192] [PATCH 128/135] net: thunderx: Fix link status reporting Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 125/192] [PATCH 129/135] Input: xpad - move pending clear to the correct location Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 128/192] [PATCH 132/135] Bluetooth: Add support for Intel Bluetooth device 8265 [8087:0a2b] Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 129/192] [PATCH 133/135] netfilter: x_tables: check for size overflow Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 130/192] [PATCH 134/135] tipc: fix an infoleak in tipc_nl_compat_link_dump Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 131/192] [PATCH 135/135] tipc: fix nl compat regression for link statistics Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 132/192] [PATCH 4.4 01/16] cxlflash: Fix to escalate LINK_RESET also on port 1 Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 133/192] [PATCH 4.4 02/16] cxlflash: Fix to avoid virtual LUN failover failure Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 134/192] [PATCH 4.4 04/16] crypto: nx-842 - Mask XERS0 bit in return value Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 135/192] [PATCH 4.4 05/16] udp: properly support MSG_PEEK with truncated buffers Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 136/192] [PATCH 4.4 06/16] IB/IPoIB: Do not set skb truesize since using one linearskb Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 137/192] [PATCH 4.4 07/16] fs: Check for invalid i_uid in may_follow_link() Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 138/192] [PATCH 4.4 08/16] cred: Reject inodes with invalid ids in set_create_file_as() Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 140/192] [PATCH 4.4 11/16] netfilter: x_tables: check for size overflow Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 141/192] [PATCH 4.4 12/16] cxlflash: Move to exponential back-off when cmd_room is not available Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 142/192] [PATCH 4.4 13/16] drivers:hv: Lock access to hyperv_mmio resource tree Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 143/192] [PATCH 4.4 14/16] KEYS: Fix ASN.1 indefinite length object parsing Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 144/192] kernel: Add noaudit variant of ns_capable() Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 145/192] net: Use ns_capable_noaudit() when determining net sysctl permissions Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 146/192] ext4: validate that metadata blocks do not overlap superblock Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 147/192] ext4: fix xattr shifting when expanding inodes Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 148/192] ext4: fix xattr shifting when expanding inodes part 2 Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 149/192] ext4: properly align shifted xattrs when expanding inodes Greg Kroah-Hartman
2016-09-12 17:00   ` [PATCH 4.4 150/192] ext4: avoid deadlock when expanding inode size Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 152/192] block: Fix race triggered by blk_set_queue_dying() Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 153/192] block: make sure a big bio is split into at most 256 bvecs Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 154/192] cgroup: reduce read locked section of cgroup_threadgroup_rwsem during fork Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 155/192] nvme: Call pci_disable_device on the error path Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 156/192] powerpc/tm: Avoid SLB faults in treclaim/trecheckpoint when RI=0 Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 157/192] rds: fix an infoleak in rds_inc_info_copy Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 158/192] s390/sclp_ctl: fix potential information leak with /dev/sclp Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 160/192] drm: Reject page_flip for !DRIVER_MODESET Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 161/192] drm/msm: fix use of copy_from_user() while holding spinlock Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 162/192] ASoC: atmel_ssc_dai: Dont unconditionally reset SSC on stream startup Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 163/192] xfs: fix superblock inprogress check Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 164/192] timekeeping: Cap array access in timekeeping_debug Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 165/192] timekeeping: Avoid taking lock in NMI path with CONFIG_DEBUG_TIMEKEEPING Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 166/192] lustre: remove unused declaration Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 167/192] [PATCH] wrappers for ->i_mutex access Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 168/192] ovl: dont copy up opaqueness Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 169/192] ovl: remove posix_acl_default from workdir Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 170/192] ovl: listxattr: use strnlen() Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 171/192] ovl: fix workdir creation Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 173/192] bcache: RESERVE_PRIO is too small by one when prio_buckets() is a power of two Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 174/192] vhost/scsi: fix reuse of &vq->iov[out] in response Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 175/192] x86/apic: Do not init irq remapping if ioapic is disabled Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 176/192] uprobes: Fix the memcg accounting Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 178/192] ALSA: usb-audio: Add sample rate inquiry quirk for B850V3 CP2114 Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 179/192] ALSA: firewire-tascam: accessing to user space outside spinlock Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 180/192] ALSA: fireworks: " Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 181/192] ALSA: rawmidi: Fix possible deadlock with virmidi registration Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 182/192] ALSA: hda - Add headset mic quirk for Dell Inspiron 5468 Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 183/192] ALSA: hda - Enable subwoofer on Dell Inspiron 7559 Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 184/192] ALSA: timer: fix NULL pointer dereference in read()/ioctl() race Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 185/192] ALSA: timer: fix division by zero after SNDRV_TIMER_IOCTL_CONTINUE Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 186/192] ALSA: timer: fix NULL pointer dereference on memory allocation failure Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 187/192] scsi: fix upper bounds check of sense key in scsi_sense_key_string() Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 188/192] metag: Fix atomic_*_return inline asm constraints Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 189/192] cpufreq: Fix GOV_LIMITS handling for the userspace governor Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 190/192] hwrng: exynos - Disable runtime PM on probe failure Greg Kroah-Hartman
2016-09-12 17:01   ` [PATCH 4.4 192/192] lib/mpi: mpi_write_sgl(): fix skipping of leading zero limbs Greg Kroah-Hartman
2016-09-13  3:05   ` [PATCH 4.4 000/192] 4.4.21-stable review Guenter Roeck
2016-09-13 18:33   ` Shuah Khan
2016-09-14 22:20   ` Ben Hutchings
2016-09-15  6:19     ` 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=20160912152203.052491949@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.levin@verizon.com \
    --cc=hannes@cmpxchg.org \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shli@fb.com \
    --cc=siddhesh.poyarekar@gmail.com \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).