diff options
author | Tony Luck <tony.luck@intel.com> | 2016-02-17 10:20:12 -0800 |
---|---|---|
committer | Sasha Levin <alexander.levin@verizon.com> | 2016-10-30 14:15:18 -0400 |
commit | 7ea3d2e9c6aa73bc07d537ab4574d18bcfe2f680 (patch) | |
tree | 7ad294894bae5613a0be2673889bea53ce49fe04 /drivers/scsi | |
parent | 9ca365c0c8bdd8552ec064f0e696600cf7ea66dd (diff) |
x86/mm: Expand the exception table logic to allow new handling options
[ Upstream commit 548acf19234dbda5a52d5a8e7e205af46e9da840 ]
Huge amounts of help from Andy Lutomirski and Borislav Petkov to
produce this. Andy provided the inspiration to add classes to the
exception table with a clever bit-squeezing trick, Boris pointed
out how much cleaner it would all be if we just had a new field.
Linus Torvalds blessed the expansion with:
' I'd rather not be clever in order to save just a tiny amount of space
in the exception table, which isn't really criticial for anybody. '
The third field is another relative function pointer, this one to a
handler that executes the actions.
We start out with three handlers:
1: Legacy - just jumps the to fixup IP
2: Fault - provide the trap number in %ax to the fixup code
3: Cleaned up legacy for the uaccess error hack
Signed-off-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/f6af78fcbd348cf4939875cfda9c19689b5e50b8.1455732970.git.tony.luck@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Diffstat (limited to 'drivers/scsi')
0 files changed, 0 insertions, 0 deletions