|
@@ -286,7 +286,7 @@ struct task_struct *validate_current(void)
|
|
|
static struct task_struct corrupt = { .comm = "<corrupt>" };
|
|
|
struct task_struct *tsk = current;
|
|
|
if (unlikely((unsigned long)tsk < PAGE_OFFSET ||
|
|
|
- (void *)tsk > high_memory ||
|
|
|
+ (high_memory && (void *)tsk > high_memory) ||
|
|
|
((unsigned long)tsk & (__alignof__(*tsk) - 1)) != 0)) {
|
|
|
pr_err("Corrupt 'current' %p (sp %#lx)\n", tsk, stack_pointer);
|
|
|
tsk = &corrupt;
|