summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2000-09-07 23:02:55 +0000
committermckusick <mckusick@FreeBSD.org>2000-09-07 23:02:55 +0000
commit7438b4ca6f301ab7e44fabaf644023829988e5e9 (patch)
tree2561b994ff3e646625db722456d3c7d0327d0589 /sys/ufs
parentcf7fa77feb19f92c340c847610e11f229acfc5f5 (diff)
downloadFreeBSD-src-7438b4ca6f301ab7e44fabaf644023829988e5e9.zip
FreeBSD-src-7438b4ca6f301ab7e44fabaf644023829988e5e9.tar.gz
Cannot do MALLOC with M_WAITOK while holding ACQUIRE_LOCK
Obtained from: Ethan Solomita <ethan@geocast.com>
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index ad30011..1668fa1 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -2837,11 +2837,11 @@ softdep_disk_io_initiation(bp)
/*
* Replace up-to-date version with safe version.
*/
+ MALLOC(indirdep->ir_saveddata, caddr_t, bp->b_bcount,
+ M_INDIRDEP, M_WAITOK);
ACQUIRE_LOCK(&lk);
indirdep->ir_state &= ~ATTACHED;
indirdep->ir_state |= UNDONE;
- MALLOC(indirdep->ir_saveddata, caddr_t, bp->b_bcount,
- M_INDIRDEP, M_WAITOK);
bcopy(bp->b_data, indirdep->ir_saveddata, bp->b_bcount);
bcopy(indirdep->ir_savebp->b_data, bp->b_data,
bp->b_bcount);
OpenPOWER on IntegriCloud