diff options
| author | Marcel Moolenaar <marcel@FreeBSD.org> | 2002-05-04 08:04:28 +0000 |
|---|---|---|
| committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2002-05-04 08:04:28 +0000 |
| commit | 9a1bf469342d4200128473f39984cae87cf71335 (patch) | |
| tree | c4b350530d511be2a60c414019dac25cb5d43f34 /sys | |
| parent | 698f85d3e3ba44864bbdad084250e74dfa26002c (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/ia64/ia64/pmap.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index 734d8c5d82932..46af2e42f20d0 100644 --- a/sys/ia64/ia64/pmap.c +++ b/sys/ia64/ia64/pmap.c @@ -637,6 +637,16 @@ pmap_ensure_rid(pmap_t pmap, vm_offset_t va) int rr; rr = va >> 61; + + /* + * We get called for virtual addresses that may just as well be + * kernel addresses (ie region 5, 6 or 7). Since the pm_rid field + * only holds region IDs for user regions, we have to make sure + * the region is within bounds. + */ + if (rr >= 5) + return; + if (pmap->pm_rid[rr]) return; |
