diff options
| author | rin <rin@NetBSD.org> | 2021-09-02 07:55:56 +0000 |
|---|---|---|
| committer | rin <rin@NetBSD.org> | 2021-09-02 07:55:56 +0000 |
| commit | 4df5e2c5aa1ddc9a1ed63f591d8a48ccef902739 (patch) | |
| tree | 1bbc5cd8d26e91da9df6167ddec384abab732fb7 /sys/dev/microcode | |
| parent | f58737f933eb8d630c84b80526bffc7db2cfa69e (diff) | |
PR port-sh3/56381
pmap_enter() returns ENOMEM if __pmap_pte_alloc() fails and PMAP_CANFAIL
flag is specified. In this case, remove pv via __pmap_pv_remove() if it is
added to p-v map list via __pmap_pv_enter().
Otherwise, pmap becomes an inconsistent state, which results in an infinite
loop in pmap_page_protect(), as reported in the PR.
Also, KASSERT's are added for sure, in order to detect the infinite loops.
Great thanks to chs@ for finding out this bug!!
Diffstat (limited to 'sys/dev/microcode')
0 files changed, 0 insertions, 0 deletions
