aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_object.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/vm_object.c')
-rw-r--r--sys/vm/vm_object.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 735ab603a09b..1aa05093f93a 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -330,24 +330,12 @@ vm_object_set_memattr(vm_object_t object, vm_memattr_t memattr)
{
VM_OBJECT_ASSERT_WLOCKED(object);
- switch (object->type) {
- case OBJT_DEFAULT:
- case OBJT_DEVICE:
- case OBJT_MGTDEVICE:
- case OBJT_PHYS:
- case OBJT_SG:
- case OBJT_SWAP:
- case OBJT_SWAP_TMPFS:
- case OBJT_VNODE:
- if (!TAILQ_EMPTY(&object->memq))
- return (KERN_FAILURE);
- break;
- case OBJT_DEAD:
+
+ if (object->type == OBJT_DEAD)
return (KERN_INVALID_ARGUMENT);
- default:
- panic("vm_object_set_memattr: object %p is of undefined type",
- object);
- }
+ if (!TAILQ_EMPTY(&object->memq))
+ return (KERN_FAILURE);
+
object->memattr = memattr;
return (KERN_SUCCESS);
}