lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 23 Jan 2020 12:23:25 +0100
From:   Borislav Petkov <bp@...en8.de>
To:     Dave Hansen <dave.hansen@...el.com>
Cc:     Dave Hansen <dave.hansen@...ux.intel.com>,
        linux-kernel@...r.kernel.org, x86@...nel.org, luto@...nel.org
Subject: Re: [PATCH 0/3] [RFC] x86: start the MPX removal process

On Wed, Jan 22, 2020 at 10:14:58AM -0800, Dave Hansen wrote:
> Here's an updated tree:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/daveh/x86-mpx.git/log/?h=mpx-remove-202001
> 
> Very lightly tested.

Thx.

So I merged tip/master into it and did some build smoke testing. The
only issue I found is below which happens with an allnoconfig build and
the fix is simple:

diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 34360ca301a2..e8133c0e7799 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -21,6 +21,7 @@
 #include <asm/pgtable.h>
 #include <asm/mce.h>
 #include <asm/nmi.h>
+#include <asm/insn.h>
 #include <asm/cacheflush.h>
 #include <asm/tlbflush.h>
 #include <asm/io.h>

as apparently the include hell needs to be satisfied again. :)

You could fold it into one of your 4 patches so that you don't break
bisection and then either send the pull request directly to Linus next
week or I can do that - I'm fine with either.

Provided, of course, there are no other complaints.

Thx.

---
    arch/x86/kernel/alternative.c: In function ‘text_poke_loc_init’:
    arch/x86/kernel/alternative.c:1172:14: error: storage size of ‘insn’ isn’t known
     1172 |  struct insn insn;
          |              ^~~~
    arch/x86/kernel/alternative.c:1178:2: error: implicit declaration of function ‘kernel_insn_init’; did you mean ‘kernfs_init’? [-Werror=implicit-function-declaration]
     1178 |  kernel_insn_init(&insn, emulate, MAX_INSN_SIZE);
          |  ^~~~~~~~~~~~~~~~
          |  kernfs_init
    arch/x86/kernel/alternative.c:1178:35: error: ‘MAX_INSN_SIZE’ undeclared (first use in this function); did you mean ‘CALL_INSN_SIZE’?
     1178 |  kernel_insn_init(&insn, emulate, MAX_INSN_SIZE);
          |                                   ^~~~~~~~~~~~~
          |                                   CALL_INSN_SIZE
    arch/x86/kernel/alternative.c:1178:35: note: each undeclared identifier is reported only once for each function it appears in
    arch/x86/kernel/alternative.c:1179:2: error: implicit declaration of function ‘insn_get_length’ [-Werror=implicit-function-declaration]
     1179 |  insn_get_length(&insn);
          |  ^~~~~~~~~~~~~~~
    In file included from ./include/linux/export.h:43,
                     from ./include/linux/linkage.h:7,
                     from ./include/linux/kernel.h:8,
                     from ./include/linux/list.h:9,
                     from ./include/linux/module.h:12,
                     from arch/x86/kernel/alternative.c:4:
    arch/x86/kernel/alternative.c:1181:10: error: implicit declaration of function ‘insn_complete’; did you mean ‘complete’? [-Werror=implicit-function-declaration]
     1181 |  BUG_ON(!insn_complete(&insn));
          |          ^~~~~~~~~~~~~
    ./include/linux/compiler.h:78:42: note: in definition of macro ‘unlikely’
       78 | # define unlikely(x) __builtin_expect(!!(x), 0)
          |                                          ^
    arch/x86/kernel/alternative.c:1181:2: note: in expansion of macro ‘BUG_ON’
     1181 |  BUG_ON(!insn_complete(&insn));
          |  ^~~~~~
    arch/x86/kernel/alternative.c:1172:14: warning: unused variable ‘insn’ [-Wunused-variable]
     1172 |  struct insn insn;
          |              ^~~~
    cc1: some warnings being treated as errors
    make[2]: *** [scripts/Makefile.build:266: arch/x86/kernel/alternative.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    make[1]: *** [scripts/Makefile.build:503: arch/x86/kernel] Error 2
    make: *** [Makefile:1694: arch/x86] Error 2
    make: *** Waiting for unfinished jobs....



-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ