Fix dropping grants without unmapping if they have no file descriptor (such as those from anonymous maps)

This commit is contained in:
Jeremy Soller
2019-04-14 19:23:23 -06:00
parent 339d68ac8d
commit 3a0671d20f

View File

@@ -427,11 +427,9 @@ pub fn funmap(virtual_address: usize) -> Result<usize> {
let end = start + grants[i].size();
if virtual_address >= start && virtual_address < end {
let mut grant = grants.remove(i);
if grant.desc_opt.is_some() {
desc_opt = grant.desc_opt.take();
grant.unmap();
break;
}
desc_opt = grant.desc_opt.take();
grant.unmap();
break;
}
}
}