Page MenuHomeFreeBSD

D58195.id181843.diff
No OneTemporary

D58195.id181843.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
Fri, Jul 17, 4:37 AM (9 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35114832
Default Alt Text
D58195.id181843.diff (755 B)

Event Timeline