vmm devmem_mmap_single: Bump object reference under memsegs lock.
Reported by: markj Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37273
This commit is contained in:
parent
67b69e76e8
commit
223de44c93
@ -1262,15 +1262,13 @@ devmem_mmap_single(struct cdev *cdev, vm_ooffset_t *offset, vm_size_t len,
|
||||
KASSERT(error == 0 && !sysmem && *objp != NULL,
|
||||
("%s: invalid devmem segment %d", __func__, dsc->segid));
|
||||
|
||||
if (seglen >= last)
|
||||
vm_object_reference(*objp);
|
||||
else
|
||||
error = EINVAL;
|
||||
|
||||
vm_unlock_memsegs(dsc->sc->vm);
|
||||
|
||||
if (seglen >= last) {
|
||||
vm_object_reference(*objp);
|
||||
return (0);
|
||||
} else {
|
||||
return (EINVAL);
|
||||
}
|
||||
return (error);
|
||||
}
|
||||
|
||||
static struct cdevsw devmemsw = {
|
||||
|
Loading…
Reference in New Issue
Block a user