Author: mav
Date: Mon Jul  8 15:59:11 2013
New Revision: 253038
URL: http://svnweb.freebsd.org/changeset/base/253038

Log:
  MFC r252569:
  Fix NULL-deference kernel panic on attempt of destroying non-existing
  ramdisk-backed CTL LUN.

Modified:
  stable/9/sys/cam/ctl/ctl_backend_ramdisk.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/cam/ctl/ctl_backend_ramdisk.c
==============================================================================
--- stable/9/sys/cam/ctl/ctl_backend_ramdisk.c  Mon Jul  8 15:54:38 2013        
(r253037)
+++ stable/9/sys/cam/ctl/ctl_backend_ramdisk.c  Mon Jul  8 15:59:11 2013        
(r253038)
@@ -441,6 +441,9 @@ ctl_backend_ramdisk_rm(struct ctl_be_ram
                snprintf(req->error_str, sizeof(req->error_str),
                         "%s: error %d returned from ctl_invalidate_lun() for "
                         "LUN %d", __func__, retval, params->lun_id);
+               mtx_lock(&softc->lock);
+               be_lun->flags &= ~CTL_BE_RAMDISK_LUN_WAITING;
+               mtx_unlock(&softc->lock);
                goto bailout_error;
        }
 
@@ -475,14 +478,6 @@ ctl_backend_ramdisk_rm(struct ctl_be_ram
        return (retval);
 
 bailout_error:
-
-       /*
-        * Don't leave the waiting flag set.
-        */
-       mtx_lock(&softc->lock);
-       be_lun->flags &= ~CTL_BE_RAMDISK_LUN_WAITING;
-       mtx_unlock(&softc->lock);
-
        req->status = CTL_LUN_ERROR;
 
        return (0);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to