Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Feb 2012 07:34:03 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r231190 - stable/7/sys/vm
Message-ID:  <201202080734.q187Y3XM028364@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Wed Feb  8 07:34:03 2012
New Revision: 231190
URL: http://svn.freebsd.org/changeset/base/231190

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/7/sys/vm/swap_pager.c
Directory Properties:
  stable/7/sys/   (props changed)

Modified: stable/7/sys/vm/swap_pager.c
==============================================================================
--- stable/7/sys/vm/swap_pager.c	Wed Feb  8 07:31:55 2012	(r231189)
+++ stable/7/sys/vm/swap_pager.c	Wed Feb  8 07:34:03 2012	(r231190)
@@ -2368,7 +2368,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);
 }
 



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