svn commit: r321323 - stable/11/sys/vm

Konstantin Belousov kib at FreeBSD.org
Fri Jul 21 06:52:41 UTC 2017


Author: kib
Date: Fri Jul 21 06:52:40 2017
New Revision: 321323
URL: https://svnweb.freebsd.org/changeset/base/321323

Log:
  MFC r321173:
  Convert assertion that only vmspace owner grows the stack, into a
  check blocking grow from other processes accesses.
  
  MFC r321230:
  Disable stack growth when accessed by AIO daemons.

Modified:
  stable/11/sys/vm/vm_map.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/vm/vm_map.c
==============================================================================
--- stable/11/sys/vm/vm_map.c	Fri Jul 21 06:48:47 2017	(r321322)
+++ stable/11/sys/vm/vm_map.c	Fri Jul 21 06:52:40 2017	(r321323)
@@ -3700,7 +3700,15 @@ vm_map_growstack(vm_map_t map, vm_offset_t addr, vm_ma
 
 	p = curproc;
 	vm = p->p_vmspace;
-	MPASS(map == &p->p_vmspace->vm_map);
+
+	/*
+	 * Disallow stack growth when the access is performed by a
+	 * debugger or AIO daemon.  The reason is that the wrong
+	 * resource limits are applied.
+	 */
+	if (map != &p->p_vmspace->vm_map || p->p_textvp == NULL)
+		return (KERN_FAILURE);
+
 	MPASS(!map->system_map);
 
 	guard = stack_guard_page * PAGE_SIZE;


More information about the svn-src-all mailing list