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: Andy Lutomirski <l...@kernel.org>
---
 tools/testing/selftests/x86/ldt_gdt.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/x86/ldt_gdt.c 
b/tools/testing/selftests/x86/ldt_gdt.c
index 337f217d0ae9..05d0d6f49c2c 100644
--- a/tools/testing/selftests/x86/ldt_gdt.c
+++ b/tools/testing/selftests/x86/ldt_gdt.c
@@ -188,7 +188,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)
-- 
2.13.6

Reply via email to