summaryrefslogtreecommitdiffstats
path: root/drivers/lguest/interrupts_and_traps.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-04-23 14:12:10 +0200
committerIngo Molnar <mingo@kernel.org>2016-04-23 14:12:10 +0200
commit65cbbd037b3d7be0a40bbdb5da9d43b0fccf17ee (patch)
tree02b22c99008630010f28f45f502f55915f1014c2 /drivers/lguest/interrupts_and_traps.c
parent9243ae5b28d02dc7d71a4f00c981ef6feaede3f1 (diff)
parentb303e7c15d53cd8ef6b349b702e07eee3f102792 (diff)
downloadtalos-op-linux-65cbbd037b3d7be0a40bbdb5da9d43b0fccf17ee.tar.gz
talos-op-linux-65cbbd037b3d7be0a40bbdb5da9d43b0fccf17ee.zip
Merge branch 'perf/urgent' into perf/core, to resolve conflict
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/lguest/interrupts_and_traps.c')
-rw-r--r--drivers/lguest/interrupts_and_traps.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/lguest/interrupts_and_traps.c b/drivers/lguest/interrupts_and_traps.c
index eb934b0242e0..67392b6ab845 100644
--- a/drivers/lguest/interrupts_and_traps.c
+++ b/drivers/lguest/interrupts_and_traps.c
@@ -331,7 +331,7 @@ void set_interrupt(struct lg_cpu *cpu, unsigned int irq)
* Actually now I think of it, it's possible that Ron *is* half the Plan 9
* userbase. Oh well.
*/
-static bool could_be_syscall(unsigned int num)
+bool could_be_syscall(unsigned int num)
{
/* Normal Linux IA32_SYSCALL_VECTOR or reserved vector? */
return num == IA32_SYSCALL_VECTOR || num == syscall_vector;
@@ -416,6 +416,10 @@ bool deliver_trap(struct lg_cpu *cpu, unsigned int num)
*
* This routine indicates if a particular trap number could be delivered
* directly.
+ *
+ * Unfortunately, Linux 4.6 started using an interrupt gate instead of a
+ * trap gate for syscalls, so this trick is ineffective. See Mastery for
+ * how we could do this anyway...
*/
static bool direct_trap(unsigned int num)
{
OpenPOWER on IntegriCloud