Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Jun 2016 17:11:24 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r301212 - head/sys/vm
Message-ID:  <201606021711.u52HBOYM076686@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Thu Jun  2 17:11:24 2016
New Revision: 301212
URL: https://svnweb.freebsd.org/changeset/base/301212

Log:
  Reset the page busy lock state after failing to insert into the object.
  
  Freeing a shared-busy page is not permitted.
  
  Reviewed by:	kib
  MFC after:	1 week
  Differential Revision:	https://reviews.freebsd.org/D6670

Modified:
  head/sys/vm/vm_page.c

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c	Thu Jun  2 17:08:08 2016	(r301211)
+++ head/sys/vm/vm_page.c	Thu Jun  2 17:11:24 2016	(r301212)
@@ -1748,6 +1748,7 @@ vm_page_alloc(vm_object_t object, vm_pin
 			}
 			m->object = NULL;
 			m->oflags = VPO_UNMANAGED;
+			m->busy_lock = VPB_UNBUSIED;
 			vm_page_free(m);
 			return (NULL);
 		}
@@ -1949,6 +1950,7 @@ retry:
 						m->object = NULL;
 						m->oflags |= VPO_UNMANAGED;
 					}
+					m->busy_lock = VPB_UNBUSIED;
 					vm_page_free(m);
 				}
 				return (NULL);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606021711.u52HBOYM076686>