extable.c (53a2ebaaabc1eb8458796fec3bc1e0e80746b642) extable.c (99504819fc643160afd6813921b1d42b18e52a49)
1#include <linux/extable.h>
2#include <linux/uaccess.h>
3#include <linux/sched/debug.h>
4
5#include <asm/traps.h>
6#include <asm/kdebug.h>
7
8typedef bool (*ex_handler_t)(const struct exception_table_entry *,

--- 128 unchanged lines hidden (view full) ---

137 if (early_recursion_flag > 2)
138 goto halt_loop;
139
140 /*
141 * Old CPUs leave the high bits of CS on the stack
142 * undefined. I'm not sure which CPUs do this, but at least
143 * the 486 DX works this way.
144 */
1#include <linux/extable.h>
2#include <linux/uaccess.h>
3#include <linux/sched/debug.h>
4
5#include <asm/traps.h>
6#include <asm/kdebug.h>
7
8typedef bool (*ex_handler_t)(const struct exception_table_entry *,

--- 128 unchanged lines hidden (view full) ---

137 if (early_recursion_flag > 2)
138 goto halt_loop;
139
140 /*
141 * Old CPUs leave the high bits of CS on the stack
142 * undefined. I'm not sure which CPUs do this, but at least
143 * the 486 DX works this way.
144 */
145 if ((regs->cs & 0xFFFF) != __KERNEL_CS)
145 if (regs->cs != __KERNEL_CS)
146 goto fail;
147
148 /*
149 * The full exception fixup machinery is available as soon as
150 * the early IDT is loaded. This means that it is the
151 * responsibility of extable users to either function correctly
152 * when handlers are invoked early or to simply avoid causing
153 * exceptions before they're ready to handle them.

--- 25 unchanged lines hidden ---
146 goto fail;
147
148 /*
149 * The full exception fixup machinery is available as soon as
150 * the early IDT is loaded. This means that it is the
151 * responsibility of extable users to either function correctly
152 * when handlers are invoked early or to simply avoid causing
153 * exceptions before they're ready to handle them.

--- 25 unchanged lines hidden ---