summaryrefslogtreecommitdiffstats
path: root/drivers/misc
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2020-02-01 11:47:17 +0100
committerMichael Ellerman <mpe@ellerman.id.au>2020-02-01 11:47:17 +0100
commit4c25df5640ae6e4491ee2c50d3f70c1559ef037d (patch)
tree9d68b0361918926d7d7b6d78090dcfb942ec4e72 /drivers/misc
parentpowerpc: configs: Cleanup old Kconfig options (diff)
parentpowerpc: Implement user_access_save() and user_access_restore() (diff)
downloadlinux-4c25df5640ae6e4491ee2c50d3f70c1559ef037d.tar.xz
linux-4c25df5640ae6e4491ee2c50d3f70c1559ef037d.zip
Merge branch 'topic/user-access-begin' into next
Merge the user_access_begin() series from Christophe. This is based on a commit from Linus that went into v5.5-rc7.
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/enclosure.c3
-rw-r--r--drivers/misc/lkdtm/bugs.c12
2 files changed, 8 insertions, 7 deletions
diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c
index 6d27ccfe0680..3c2d405bc79b 100644
--- a/drivers/misc/enclosure.c
+++ b/drivers/misc/enclosure.c
@@ -406,10 +406,9 @@ int enclosure_remove_device(struct enclosure_device *edev, struct device *dev)
cdev = &edev->component[i];
if (cdev->dev == dev) {
enclosure_remove_links(cdev);
- device_del(&cdev->cdev);
put_device(dev);
cdev->dev = NULL;
- return device_add(&cdev->cdev);
+ return 0;
}
}
return -ENODEV;
diff --git a/drivers/misc/lkdtm/bugs.c b/drivers/misc/lkdtm/bugs.c
index a4fdad04809a..de87693cf557 100644
--- a/drivers/misc/lkdtm/bugs.c
+++ b/drivers/misc/lkdtm/bugs.c
@@ -278,7 +278,7 @@ void lkdtm_STACK_GUARD_PAGE_TRAILING(void)
void lkdtm_UNSET_SMEP(void)
{
-#ifdef CONFIG_X86_64
+#if IS_ENABLED(CONFIG_X86_64) && !IS_ENABLED(CONFIG_UML)
#define MOV_CR4_DEPTH 64
void (*direct_write_cr4)(unsigned long val);
unsigned char *insn;
@@ -338,13 +338,13 @@ void lkdtm_UNSET_SMEP(void)
native_write_cr4(cr4);
}
#else
- pr_err("FAIL: this test is x86_64-only\n");
+ pr_err("XFAIL: this test is x86_64-only\n");
#endif
}
-#ifdef CONFIG_X86_32
void lkdtm_DOUBLE_FAULT(void)
{
+#ifdef CONFIG_X86_32
/*
* Trigger #DF by setting the stack limit to zero. This clobbers
* a GDT TLS slot, which is okay because the current task will die
@@ -373,6 +373,8 @@ void lkdtm_DOUBLE_FAULT(void)
asm volatile ("movw %0, %%ss; addl $0, (%%esp)" ::
"r" ((unsigned short)(GDT_ENTRY_TLS_MIN << 3)));
- panic("tried to double fault but didn't die\n");
-}
+ pr_err("FAIL: tried to double fault but didn't die\n");
+#else
+ pr_err("XFAIL: this test is ia32-only\n");
#endif
+}