Use the correct object's backing_object_offset while calculating offsets.

While we are here, add a note that we need to lock the object before walking
the backing object list.

Pointed out by:	alc
Discussed with:	rwatson
This commit is contained in:
csjp 2005-10-04 14:47:47 +00:00
parent 55a69cff02
commit ac94e44f1f

View File

@ -354,9 +354,12 @@ mac_cred_mmapped_drop_perms_recurse(struct thread *td, struct ucred *cred,
object = vme->object.vm_object;
if (object == NULL)
continue;
/* XXXCSJP We need to lock the object before walking
* the backing object list.
*/
while (object->backing_object != NULL) {
object = object->backing_object;
offset += object->backing_object_offset;
object = object->backing_object;
}
/*
* At the moment, vm_maps and objects aren't considered