Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit adedf289 authored by Andy Lutomirski's avatar Andy Lutomirski Committed by Ingo Molnar
Browse files

selftests/x86/ldt_gdt: Run most existing LDT test cases against the GDT as well



Now that the main test infrastructure supports the GDT, run tests
that will pass the kernel's GDT permission tests against the GDT.

Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bpetkov@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/686a1eda63414da38fcecc2412db8dba1ae40581.1509794321.git.luto@kernel.org


Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent d744dcad
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -189,7 +189,15 @@ static bool install_valid_mode(const struct user_desc *d, uint32_t ar,

static bool install_valid(const struct user_desc *desc, uint32_t ar)
{
	return install_valid_mode(desc, ar, false, true);
	bool ret = install_valid_mode(desc, ar, false, true);

	if (desc->contents <= 1 && desc->seg_32bit &&
	    !desc->seg_not_present) {
		/* Should work in the GDT, too. */
		install_valid_mode(desc, ar, false, false);
	}

	return ret;
}

static void install_invalid(const struct user_desc *desc, bool oldmode)