We already have CAP_RAWIO for this in mainline; I am not sure if this should be harder than that... Kees Cook <keescook@xxxxxxxxxxxx> wrote: >Writing to MSRs should not be allowed unless CAP_COMPROMISE_KERNEL is >set since it could lead to execution of arbitrary code in kernel mode. > >Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> >--- >This would be used on top of Matthew Garrett's existing "Secure boot >policy support" patch series. >--- > arch/x86/kernel/msr.c | 7 +++++++ > 1 file changed, 7 insertions(+) > >diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c >index 4929502..adaab3d 100644 >--- a/arch/x86/kernel/msr.c >+++ b/arch/x86/kernel/msr.c >@@ -103,6 +103,9 @@ static ssize_t msr_write(struct file *file, const >char __user *buf, > int err = 0; > ssize_t bytes = 0; > >+ if (!capable(CAP_COMPROMISE_KERNEL)) >+ return -EPERM; >+ > if (count % 8) > return -EINVAL; /* Invalid chunk size */ > >@@ -150,6 +153,10 @@ static long msr_ioctl(struct file *file, unsigned >int ioc, unsigned long arg) > err = -EBADF; > break; > } >+ if (!capable(CAP_COMPROMISE_KERNEL)) { >+ err = -EPERM; >+ break; >+ } > if (copy_from_user(®s, uregs, sizeof regs)) { > err = -EFAULT; > break; -- Sent from my mobile phone. Please excuse brevity and lack of formatting. -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html