The commit is pushed to "branch-rh7-3.10.0-229.7.2-ovz" and will appear at 
https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-229.7.2.vz7.6.6
------>
commit 498baa3fdd64742725539c281086d23aee327fa4
Author: Andrey Ryabinin <aryabi...@odin.com>
Date:   Thu Sep 3 19:27:44 2015 +0400

    ms/kernel: add support for .init_array.* constructors
    
    https://jira.sw.ru/browse/PSBM-26429
    
    From: Andrey Ryabinin <a.ryabi...@samsung.com>
    
    commit 9ddf82521c86ae07af79dbe5a93c52890f2bab23 upstream.
    
    KASan uses constructors for initializing redzones for global variables.
    Globals instrumentation in GCC 4.9.2 produces constructors with priority
    (.init_array.00099)
    
    Currently kernel ignores such constructors.  Only constructors with
    default priority supported (.init_array)
    
    This patch adds support for constructors with priorities.  For kernel
    image we put pointers to constructors between __ctors_start/__ctors_end
    and do_ctors() will call them on start up.  For modules we merge
    .init_array.* sections into resulting .init_array.  Module code properly
    handles constructors in .init_array section.
    
    Signed-off-by: Andrey Ryabinin <a.ryabi...@samsung.com>
    Cc: Dmitry Vyukov <dvyu...@google.com>
    Cc: Konstantin Serebryany <k...@google.com>
    Cc: Dmitry Chernenkov <dmit...@google.com>
    Signed-off-by: Andrey Konovalov <adech...@gmail.com>
    Cc: Yuri Gribov <tetra2...@gmail.com>
    Cc: Konstantin Khlebnikov <koc...@gmail.com>
    Cc: Sasha Levin <sasha.le...@oracle.com>
    Cc: Christoph Lameter <c...@linux.com>
    Cc: Joonsoo Kim <iamjoonsoo....@lge.com>
    Cc: Dave Hansen <dave.han...@intel.com>
    Cc: Andi Kleen <a...@firstfloor.org>
    Cc: Ingo Molnar <mi...@elte.hu>
    Cc: Thomas Gleixner <t...@linutronix.de>
    Cc: "H. Peter Anvin" <h...@zytor.com>
    Cc: Christoph Lameter <c...@linux.com>
    Cc: Pekka Enberg <penb...@kernel.org>
    Cc: David Rientjes <rient...@google.com>
    Signed-off-by: Andrew Morton <a...@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
    Signed-off-by: Andrey Ryabinin <aryabi...@odin.com>
    
    Signed-off-by: Andrey Ryabinin <aryabi...@odin.com>
---
 include/asm-generic/vmlinux.lds.h | 1 +
 scripts/module-common.lds         | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/include/asm-generic/vmlinux.lds.h 
b/include/asm-generic/vmlinux.lds.h
index 72e4edc..5c90355 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -481,6 +481,7 @@
 #define KERNEL_CTORS() . = ALIGN(8);                      \
                        VMLINUX_SYMBOL(__ctors_start) = .; \
                        *(.ctors)                          \
+                       *(SORT(.init_array.*))             \
                        *(.init_array)                     \
                        VMLINUX_SYMBOL(__ctors_end) = .;
 #else
diff --git a/scripts/module-common.lds b/scripts/module-common.lds
index 0865b3e..10fa8bf 100644
--- a/scripts/module-common.lds
+++ b/scripts/module-common.lds
@@ -16,4 +16,8 @@ SECTIONS {
        __kcrctab_unused        : { *(SORT(___kcrctab_unused+*)) }
        __kcrctab_unused_gpl    : { *(SORT(___kcrctab_unused_gpl+*)) }
        __kcrctab_gpl_future    : { *(SORT(___kcrctab_gpl_future+*)) }
+
+
+       . = ALIGN(8);
+       .init_array             0 : { *(SORT(.init_array.*)) *(.init_array) }
 }
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to