Module Name: src Committed By: chs Date: Sun Sep 20 23:03:01 UTC 2020
Modified Files: src/sys/uvm: uvm_amap.c Log Message: Effectively disable the AMAP_REFALL flag because it is unsafe. This flag tells the amap code that it does not need to allocate ppref as part of adding or removing a reference, but that is only correct if the range of the reference being added or removed is the same as the range of all other references to the amap, and the point of this flag is exactly to try to optimize the case where the range is different and thus this flag would not be correct to use. Fixes PR 55366. To generate a diff of this commit: cvs rdiff -u -r1.123 -r1.124 src/sys/uvm/uvm_amap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/uvm/uvm_amap.c diff -u src/sys/uvm/uvm_amap.c:1.123 src/sys/uvm/uvm_amap.c:1.124 --- src/sys/uvm/uvm_amap.c:1.123 Tue Aug 18 10:40:20 2020 +++ src/sys/uvm/uvm_amap.c Sun Sep 20 23:03:01 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_amap.c,v 1.123 2020/08/18 10:40:20 chs Exp $ */ +/* $NetBSD: uvm_amap.c,v 1.124 2020/09/20 23:03:01 chs Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvm_amap.c,v 1.123 2020/08/18 10:40:20 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_amap.c,v 1.124 2020/09/20 23:03:01 chs Exp $"); #include "opt_uvmhist.h" @@ -1593,7 +1593,7 @@ amap_adjref_anons(struct vm_amap *amap, * so that the ppref values match the current amap refcount. */ - if (amap->am_ppref == NULL && !all && len != amap->am_nslot) { + if (amap->am_ppref == NULL) { amap_pp_establish(amap, offset); } #endif