提交 e670a483 创建 作者: kolya's avatar kolya

as rtm noticed, avoid doubly-freeing pipe page

上级 deca9fef
......@@ -69,10 +69,11 @@ pipeclose(struct pipe *p, int writable)
p->readopen = 0;
wakeup(&p->writep);
}
release(&p->lock);
if(p->readopen == 0 && p->writeopen == 0)
if(p->readopen == 0 && p->writeopen == 0) {
release(&p->lock);
kfree((char*)p, PAGE);
} else
release(&p->lock);
}
//PAGEBREAK: 30
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论