Page MenuHomeFreeBSD

D58195.diff
No OneTemporary

D58195.diff

Index: sys/compat/linuxkpi/common/src/linux_compat.c
===================================================================
--- sys/compat/linuxkpi/common/src/linux_compat.c
+++ sys/compat/linuxkpi/common/src/linux_compat.c
@@ -1399,6 +1399,19 @@
error = ESTALE;
vm_no_fault = 1;
} else {
+ if (ptr->vm_start == vmap->vm_start &&
+ ptr->vm_end <= vmap->vm_end) {
+ /*
+ * Userspace wants to grow an existing
+ * mapping. We already have a
+ * `vm_object_t' for this mapping. We
+ * just need to update the `struct
+ * vm_area_struct` to have the correct
+ * end address.
+ */
+ ptr->vm_end = vmap->vm_end;
+ }
+
error = EEXIST;
vm_no_fault = (ptr->vm_ops->fault == NULL);
}

File Metadata

Mime Type
text/plain
Expires
Mon, Jul 20, 5:35 PM (41 m, 51 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35245848
Default Alt Text
D58195.diff (755 B)

Event Timeline