[PATCH] powerpc: Add a is_kernel_addr() macro
There's a bunch of code that compares an address with KERNELBASE to see if it's a "kernel address", ie. >= KERNELBASE. The proper test is actually to compare with PAGE_OFFSET, since we're going to change KERNELBASE soon. So replace all of them with an is_kernel_addr() macro that does that. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
cd0ca2ce4b
commit
51fae6de24
@ -122,7 +122,7 @@ static int __ste_allocate(unsigned long ea, struct mm_struct *mm)
|
||||
unsigned long offset;
|
||||
|
||||
/* Kernel or user address? */
|
||||
if (ea >= KERNELBASE) {
|
||||
if (is_kernel_addr(ea)) {
|
||||
vsid = get_kernel_vsid(ea);
|
||||
} else {
|
||||
if ((ea >= TASK_SIZE_USER64) || (! mm))
|
||||
@ -133,7 +133,7 @@ static int __ste_allocate(unsigned long ea, struct mm_struct *mm)
|
||||
|
||||
stab_entry = make_ste(get_paca()->stab_addr, GET_ESID(ea), vsid);
|
||||
|
||||
if (ea < KERNELBASE) {
|
||||
if (!is_kernel_addr(ea)) {
|
||||
offset = __get_cpu_var(stab_cache_ptr);
|
||||
if (offset < NR_STAB_CACHE_ENTRIES)
|
||||
__get_cpu_var(stab_cache[offset++]) = stab_entry;
|
||||
@ -190,7 +190,7 @@ void switch_stab(struct task_struct *tsk, struct mm_struct *mm)
|
||||
entry++, ste++) {
|
||||
unsigned long ea;
|
||||
ea = ste->esid_data & ESID_MASK;
|
||||
if (ea < KERNELBASE) {
|
||||
if (!is_kernel_addr(ea)) {
|
||||
ste->esid_data = 0;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user