One apparent problem with this implementation
> +	 *
> +	 * This verifies that the fault happens in kernel space
> +	 * (error_code & 4) == 0, and that the fault was not a
> +	 * protection error (error_code & 1) == 0.
>  	 */
> -	if (address >= TASK_SIZE)
> +	if (address >= TASK_SIZE && !(error_code & 5))
>  		goto vmalloc_fault;
address might be from the following vmalloc fault. The error code would
indicate user space, so we would do a bogus user space fix up for vmalloc
space, fault and die.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/