diff options
author | raj <raj@FreeBSD.org> | 2008-10-13 18:42:25 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2008-10-13 18:42:25 +0000 |
commit | e725b1fa27cadbe3a6f57fc73839bbfea449a623 (patch) | |
tree | e81229bde6de4f202b8a72e7a215d453d54fae94 /UPDATING | |
parent | b9c565987ac8d8b7f1fedf4ed5b320ae753180b2 (diff) | |
download | FreeBSD-src-e725b1fa27cadbe3a6f57fc73839bbfea449a623.zip FreeBSD-src-e725b1fa27cadbe3a6f57fc73839bbfea449a623.tar.gz |
Do not use cached page for temporary mapping in pmap_zero_page_generic()
The physical page which we clear is accessed via additional temp kernel
mapping for the period of zeroing operation. However in systems with virtual
d-cache (most ARMs) when write-allocate feature is enabled, we can have
modified but unflushed content pertaining to this physical page still in the
d-cache due to its primary (pre-existing) mapping. In such scenario that
cached content upon flush is likely to overwrite [portions of] the physical
page we want to zero here..
This is a general problem with multiple virtual mappings covering the same
physical page with write-allocate and virtual d-cache: there is inherent
potential for corruptions of this kind, which are not easily resolved; it is
best policy that such multiple mappings be not allowed.
Obtained from: Marvell, Semihalf
Diffstat (limited to 'UPDATING')
0 files changed, 0 insertions, 0 deletions