svn commit: r231188 - stable/9/sys/vm

Alexander Motin mav at FreeBSD.org
Wed Feb 8 07:30:48 UTC 2012


Author: mav
Date: Wed Feb  8 07:30:48 2012
New Revision: 231188
URL: http://svn.freebsd.org/changeset/base/231188

Log:
  MFC 230877:
  Fix NULL dereference panic on attempt to turn off (on system shutdown)
  disconnected swap device.
  
  This is quick and imperfect solution, as swap device will still be opened
  and GEOM will not be able to destroy it. Proper solution would be to
  automatically turn off and close disconnected swap device, but with existing
  code it will cause panic if there is at least one page on device, even if
  it is unimportant page of the user-level process. It needs some work.

Modified:
  stable/9/sys/vm/swap_pager.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/vm/swap_pager.c
==============================================================================
--- stable/9/sys/vm/swap_pager.c	Wed Feb  8 06:56:19 2012	(r231187)
+++ stable/9/sys/vm/swap_pager.c	Wed Feb  8 07:30:48 2012	(r231188)
@@ -2521,7 +2521,7 @@ swapgeom_orphan(struct g_consumer *cp)
 	mtx_lock(&sw_dev_mtx);
 	TAILQ_FOREACH(sp, &swtailq, sw_list)
 		if (sp->sw_id == cp)
-			sp->sw_id = NULL;
+			sp->sw_flags |= SW_CLOSING;
 	mtx_unlock(&sw_dev_mtx);
 }
 


More information about the svn-src-stable-9 mailing list