Page MenuHomeFreeBSD

D26304.id76560.diff
No OneTemporary

D26304.id76560.diff

Index: sys/vm/vm_page.c
===================================================================
--- sys/vm/vm_page.c
+++ sys/vm/vm_page.c
@@ -4724,6 +4724,8 @@
VM_OBJECT_ASSERT_WLOCKED(object);
KASSERT(((u_int)allocflags >> VM_ALLOC_COUNT_SHIFT) == 0,
("vm_page_grap_pages: VM_ALLOC_COUNT() is not allowed"));
+ KASSERT(count > 0,
+ ("vm_page_grab_pages: invalid page count %d", count));
vm_page_grab_check(allocflags);
pflags = vm_page_grab_pflags(allocflags);
@@ -4783,6 +4785,8 @@
int flags;
int i;
+ KASSERT(count > 0,
+ ("vm_page_grab_pages_unlocked: invalid page count %d", count));
vm_page_grab_check(allocflags);
/*
@@ -4805,7 +4809,7 @@
vm_page_grab_release(m, allocflags);
pred = ma[i] = m;
}
- if ((allocflags & VM_ALLOC_NOCREAT) != 0)
+ if (i == count || (allocflags & VM_ALLOC_NOCREAT) != 0)
return (i);
count -= i;
VM_OBJECT_WLOCK(object);

File Metadata

Mime Type
text/plain
Expires
Tue, May 19, 5:19 PM (17 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33322153
Default Alt Text
D26304.id76560.diff (901 B)

Event Timeline