16 Oct, 2016

1 commit

  • Pull gcc plugins update from Kees Cook:
    "This adds a new gcc plugin named "latent_entropy". It is designed to
    extract as much possible uncertainty from a running system at boot
    time as possible, hoping to capitalize on any possible variation in
    CPU operation (due to runtime data differences, hardware differences,
    SMP ordering, thermal timing variation, cache behavior, etc).

    At the very least, this plugin is a much more comprehensive example
    for how to manipulate kernel code using the gcc plugin internals"

    * tag 'gcc-plugins-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    latent_entropy: Mark functions with __latent_entropy
    gcc-plugins: Add latent_entropy plugin

    Linus Torvalds
     

15 Oct, 2016

1 commit

  • Pull kbuild updates from Michal Marek:

    - EXPORT_SYMBOL for asm source by Al Viro.

    This does bring a regression, because genksyms no longer generates
    checksums for these symbols (CONFIG_MODVERSIONS). Nick Piggin is
    working on a patch to fix this.

    Plus, we are talking about functions like strcpy(), which rarely
    change prototypes.

    - Fixes for PPC fallout of the above by Stephen Rothwell and Nick
    Piggin

    - fixdep speedup by Alexey Dobriyan.

    - preparatory work by Nick Piggin to allow architectures to build with
    -ffunction-sections, -fdata-sections and --gc-sections

    - CONFIG_THIN_ARCHIVES support by Stephen Rothwell

    - fix for filenames with colons in the initramfs source by me.

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (22 commits)
    initramfs: Escape colons in depfile
    ppc: there is no clear_pages to export
    powerpc/64: whitelist unresolved modversions CRCs
    kbuild: -ffunction-sections fix for archs with conflicting sections
    kbuild: add arch specific post-link Makefile
    kbuild: allow archs to select link dead code/data elimination
    kbuild: allow architectures to use thin archives instead of ld -r
    kbuild: Regenerate genksyms lexer
    kbuild: genksyms fix for typeof handling
    fixdep: faster CONFIG_ search
    ia64: move exports to definitions
    sparc32: debride memcpy.S a bit
    [sparc] unify 32bit and 64bit string.h
    sparc: move exports to definitions
    ppc: move exports to definitions
    arm: move exports to definitions
    s390: move exports to definitions
    m68k: move exports to definitions
    alpha: move exports to actual definitions
    x86: move exports to actual definitions
    ...

    Linus Torvalds
     

11 Oct, 2016

1 commit

  • The __latent_entropy gcc attribute can be used only on functions and
    variables. If it is on a function then the plugin will instrument it for
    gathering control-flow entropy. If the attribute is on a variable then
    the plugin will initialize it with random contents. The variable must
    be an integer, an integer array type or a structure with integer fields.

    These specific functions have been selected because they are init
    functions (to help gather boot-time entropy), are called at unpredictable
    times, or they have variable loops, each of which provide some level of
    latent entropy.

    Signed-off-by: Emese Revfy
    [kees: expanded commit message]
    Signed-off-by: Kees Cook

    Emese Revfy
     

21 Sep, 2016

1 commit


09 Sep, 2016

1 commit

  • Introduce LD_DEAD_CODE_DATA_ELIMINATION option for architectures to
    select to build with -ffunction-sections, -fdata-sections, and link
    with --gc-sections. It requires some work (documented) to ensure all
    unreferenced entrypoints are live, and requires toolchain and build
    verification, so it is made a per-arch option for now.

    On a random powerpc64le build, this yelds a significant size saving,
    it boots and runs fine, but there is a lot I haven't tested as yet, so
    these savings may be reduced if there are bugs in the link.

    text data bss dec filename
    11169741 1180744 1923176 14273661 vmlinux
    10445269 1004127 1919707 13369103 vmlinux.dce

    ~700K text, ~170K data, 6% removed from kernel image size.

    Signed-off-by: Nicholas Piggin
    Signed-off-by: Michal Marek

    Nicholas Piggin
     

03 Aug, 2016

1 commit

  • There was only one use of __initdata_refok and __exit_refok

    __init_refok was used 46 times against 82 for __ref.

    Those definitions are obsolete since commit 312b1485fb50 ("Introduce new
    section reference annotations tags: __ref, __refdata, __refconst")

    This patch removes the following compatibility definitions and replaces
    them treewide.

    /* compatibility defines */
    #define __init_refok __ref
    #define __initdata_refok __refdata
    #define __exit_refok __ref

    I can also provide separate patches if necessary.
    (One patch per tree and check in 1 month or 2 to remove old definitions)

    [akpm@linux-foundation.org: coding-style fixes]
    Link: http://lkml.kernel.org/r/1466796271-3043-1-git-send-email-fabf@skynet.be
    Signed-off-by: Fabian Frederick
    Cc: Ingo Molnar
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fabian Frederick
     

22 Feb, 2016

1 commit

  • Instead of defining mark_rodata_ro() in each architecture, consolidate it.

    Signed-off-by: Kees Cook
    Acked-by: Will Deacon
    Cc: Andrew Morton
    Cc: Andy Gross
    Cc: Andy Lutomirski
    Cc: Ard Biesheuvel
    Cc: Arnd Bergmann
    Cc: Ashok Kumar
    Cc: Borislav Petkov
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Catalin Marinas
    Cc: Dan Williams
    Cc: David Brown
    Cc: David Hildenbrand
    Cc: Denys Vlasenko
    Cc: Emese Revfy
    Cc: H. Peter Anvin
    Cc: Helge Deller
    Cc: James E.J. Bottomley
    Cc: Linus Torvalds
    Cc: Luis R. Rodriguez
    Cc: Marc Zyngier
    Cc: Mark Rutland
    Cc: Mathias Krause
    Cc: Michael Ellerman
    Cc: Nicolas Pitre
    Cc: PaX Team
    Cc: Paul Gortmaker
    Cc: Peter Zijlstra
    Cc: Ross Zwisler
    Cc: Russell King
    Cc: Rusty Russell
    Cc: Stephen Boyd
    Cc: Thomas Gleixner
    Cc: Toshi Kani
    Cc: kernel-hardening@lists.openwall.com
    Cc: linux-arch
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-parisc@vger.kernel.org
    Link: http://lkml.kernel.org/r/1455748879-21872-2-git-send-email-keescook@chromium.org
    Signed-off-by: Ingo Molnar

    Kees Cook
     

06 Jul, 2015

1 commit

  • Modular users will always be users of init functionality, but
    users of init functionality are not necessarily always modules.

    Hence any functionality like module_init and module_exit would
    be more at home in the module.h file. And module.h should
    explicitly include init.h to make the dependency clear.

    We've already done all the legwork needed to ensure that this
    move does not cause any build regressions due to implicit
    header file include assumptions about where module_init lives.

    Cc: Rusty Russell
    Acked-by: Rusty Russell
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

17 Jun, 2015

1 commit

  • The __cpuinit support was removed several releases ago in 3.11-rc1 with
    commit 22f0a27367742f65130c0fb25ef00f7297e032c1 ("init.h: remove __cpuinit
    sections from the kernel")

    People have had a chance to update their out of tree code, so now we remove
    the no-op stubs to ensure no more new use cases can creep back in.

    Also delete the mention of __cpuinitdata from the tag script.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

05 Mar, 2015

2 commits

  • Make it all a bit easier on the eyes:

    - Move the __setup_param() lines right after their init functions
    - Use consistent vertical spacing
    - Use more horizontal spacing to make it look like regular C code
    - Use standard comment style

    Cc: Luis R. Rodriguez
    Cc: Andrew Morton
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Borislav Petkov
    Cc: Dave Hansen
    Cc: David Vrabel
    Cc: Dexuan Cui
    Cc: Greg Kroah-Hartman
    Cc: H. Peter Anvin
    Cc: Jan Beulich
    Cc: Joonsoo Kim
    Cc: Juergen Gross
    Cc: Linus Torvalds
    Cc: Pavel Machek
    Cc: Thomas Gleixner
    Cc: Tony Lindgren
    Cc: Toshi Kani
    Cc: Vlastimil Babka
    Cc: Xishi Qiu
    Cc: julia.lawall@lip6.fr
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • At times all you need is a kconfig variable to enable a feature,
    by default but you may want to also enable / disable it through
    a kernel parameter. In such cases the parameter routines to turn
    the thing on / off are really simple. Just use a wrapper for
    this, it lets us generalize the code and makes it easier to
    associate parameters with related kernel configuration options.

    Signed-off-by: Luis R. Rodriguez
    Cc: Andrew Morton
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Borislav Petkov
    Cc: Dave Hansen
    Cc: David Vrabel
    Cc: Dexuan Cui
    Cc: Greg Kroah-Hartman
    Cc: H. Peter Anvin
    Cc: JBeulich@suse.com
    Cc: Jan Beulich
    Cc: Joonsoo Kim
    Cc: Juergen Gross
    Cc: Linus Torvalds
    Cc: Pavel Machek
    Cc: Thomas Gleixner
    Cc: Tony Lindgren
    Cc: Toshi Kani
    Cc: Vlastimil Babka
    Cc: Xishi Qiu
    Cc: julia.lawall@lip6.fr
    Link: http://lkml.kernel.org/r/1425518654-3403-4-git-send-email-mcgrof@do-not-panic.com
    Signed-off-by: Ingo Molnar

    Luis R. Rodriguez
     

28 May, 2014

1 commit

  • We are getting randconfig build errors on device drivers with
    tristate Kconfig option if they are using custom initcall
    levels. Rather than add ifdeffery into the drivers, let's add
    the missing initcall_sync variants.

    As the comment in init.h has kept people from updating the
    list of initcalls that can be just module_init when the driver
    is loaded as a loadable module, let's also update the comment
    a bit to describe valid use cases custom initcall levels.

    While most drivers should nowadays use just regular module_init
    because of the deferred probe, we do have quite a few custom
    initcall levels left that we cannot remove until tested properly.

    There are also still few valid cases where a custom initcall
    level might make sense that I'm aware of.

    For example a bus snooping driver can provide information about
    invalid bus access and is handy loader early when built in. But
    there's no hard dependency to have it necessarily built in and
    a loadable module is a valid option.

    Another example is a driver implementing a Linux framework like
    pinctrl framework. That driver may be needed early on some
    platforms because of legacy reasons, while it can be just a
    regular module_init on most platforms.

    Signed-off-by: Tony Lindgren
    Cc: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Tony Lindgren
     

14 Feb, 2014

1 commit

  • Work around a LTO gcc problem: when there is no reference to a variable
    in a module it will be moved to the end of the program. This causes
    reordering of initcalls which the kernel does not like.
    Add a dummy reference function to avoid this. The function is
    deleted by the linker.

    This replaces a previous much slower workaround.

    Thanks to Jan "Honza" Hubička for suggesting this technique.

    Suggested-by: Jan Hubička
    Signed-off-by: Andi Kleen
    Link: http://lkml.kernel.org/r/1391846481-31491-4-git-send-email-ak@linux.intel.com
    Signed-off-by: H. Peter Anvin

    Andi Kleen
     

11 Dec, 2013

1 commit

  • Add missing initcall variants when building for loadable modules.
    This fixes this build error on powerpc allmodconfig:

    drivers/tty/ehv_bytechan.c: error: type defaults to 'int' in declaration of 'console_initcall' [-Werror=implicit-int]

    Signed-off-by: Randy Dunlap
    Reported-by: Geert Uytterhoeven
    Cc: Benjamin Herrenschmidt
    Acked-by: Timur Tabi
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     

13 Nov, 2013

1 commit


12 Sep, 2013

1 commit

  • When the rootfs code was a wrapper around ramfs, having them in the same
    file made sense. Now that it can wrap another filesystem type, move it in
    with the init code instead.

    This also allows a subsequent patch to access rootfstype= command line
    arg.

    Signed-off-by: Rob Landley
    Cc: Jeff Layton
    Cc: Jens Axboe
    Cc: Stephen Warren
    Cc: Rusty Russell
    Cc: Jim Cromie
    Cc: Sam Ravnborg
    Cc: Greg Kroah-Hartman
    Cc: "Eric W. Biederman"
    Cc: Alexander Viro
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Landley
     

27 Jun, 2013

1 commit

  • The __cpuinit type of throwaway sections might have made sense
    some time ago when RAM was more constrained, but now the savings
    do not offset the cost and complications. For example, the fix in
    commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
    is a good example of the nasty type of bugs that can be created
    with improper use of the various __init prefixes.

    After a discussion on LKML[1] it was decided that cpuinit should go
    the way of devinit and be phased out. Once all the users are gone,
    we can then finally remove the macros themselves from linux/init.h.

    As an interim step, we can dummy out the macros to be no-ops, and
    this will allow us to avoid a giant tree-wide patch, and instead
    we can feed in smaller chunks mainly via the arch/ trees. This
    is in keeping with commit 78d86c213f28193082b5d8a1a424044b7ba406f1
    ("init.h: Remove __dev* sections from the kernel")

    We don't strictly need to dummy out the macros to do this, but if
    we don't then some harmless section mismatch warnings may temporarily
    result. For example, notify_cpu_starting() and cpu_up() are arch
    independent (kernel/cpu.c) and are flagged as __cpuinit. And hence
    the calling functions in the arch specific code are also expected
    to be __cpuinit -- if not, then we get the section mismatch warning.

    Two of the three __CPUINIT variants are not used whatsoever, and
    so they are simply removed directly at this point in time.

    [1] https://lkml.org/lkml/2013/5/20/589

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

24 Jan, 2013

1 commit


19 Jan, 2013

1 commit

  • This patch adds default module loading and uses it to load the default
    block elevator. During boot, it's called right after initramfs or
    initrd is made available and right before control is passed to
    userland. This ensures that as long as the modules are available in
    the usual places in initramfs, initrd or the root filesystem, the
    default modules are loaded as soon as possible.

    This will replace the on-demand elevator module loading from elevator
    init path.

    v2: Fixed build breakage when !CONFIG_BLOCK. Reported by kbuild test
    robot.

    Signed-off-by: Tejun Heo
    Cc: Jens Axboe
    Cc: Arjan van de Ven
    Cc: Linus Torvalds
    Cc: Alex Riesen
    Cc: Fengguang We

    Tejun Heo
     

11 Jan, 2013

1 commit

  • Now that all in-kernel users of __dev* are gone, let's remove them from
    init.h to keep them from popping up again and again.

    Thanks to Bill Pemberton for doing all of the hard work to make removal
    of this possible.

    Cc: Bill Pemberton
    Cc: Stephen Rothwell
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

18 Dec, 2012

1 commit

  • Currently the __define_initcall() macro takes three arguments, fn, id and
    level. The level argument is exactly the same as the id argument but
    wrapped in quotes. To overcome this need to specify three arguments to
    the __define_initcall macro, where one argument is the stringification of
    another, we can just use the stringification macro instead.

    Signed-off-by: Matthew Leach
    Cc: Benjamin Herrenschmidt
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Leach
     

01 Dec, 2012

1 commit

  • With the recent work to remove CONFIG_HOTPLUG, we are starting to get a
    bunch of __devinit section warnings, despite CONFIG_HOTPLUG always being
    enabled. So, stop marking the sections entirely, by defining them away
    the section markings in init.h

    Acked-by: Sam Ravnborg
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

06 Oct, 2012

1 commit

  • The PA-RISC tool chain seems to have some problem with correct
    read/write attributes on sections. This causes problems when the const
    sections are fixed up for other architecture to only contain truly
    read-only data.

    Disable const sections for PA-RISC

    This can cause a bit of noise with modpost.

    Signed-off-by: Andi Kleen
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Acked-by: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     

27 Jul, 2012

1 commit

  • main.c has initcall_level_names[] for parse_args to print in debug messages,
    add comments to keep them in sync with initcalls defined in init.h.

    Also add "loadable" into comment re not using *_initcall macros in
    modules, to disambiguate from kernel/params.c and other builtins.

    Signed-off-by: Jim Cromie
    Acked-by: Borislav Petkov
    Signed-off-by: Rusty Russell

    Jim Cromie
     

13 Jan, 2012

1 commit


17 May, 2011

1 commit

  • The init and exit sections should not be traced and adding a call to
    mcount to them is a waste of text and instruction cache. Have the
    macro section attributes include notrace to ignore these functions
    for tracing from the build.

    Link: http://lkml.kernel.org/r/20110421023738.953028219@goodmis.org
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

23 Oct, 2010

1 commit

  • The __ref* tags may have been confusing for new kernel
    developers (I was confused by them for sure) so adding a few
    more sentences to comment to clear things up for people who
    see those for the first time.

    Signed-off-by: Michal Nazarewicz
    Acked-by: Uwe Kleine-König
    Acked-by: Sam Ravnborg
    Signed-off-by: Greg Kroah-Hartman

    Michal Nazarewicz
     

03 Mar, 2010

1 commit


16 Dec, 2009

1 commit

  • In order to diagnose overall suspend/resume times, we need
    basic instrumentation to break down the total time into per
    device timing, similar to initcall_debug.

    This patch adds the basic timing instrumentation, needed
    for a scritps/bootgraph.pl equivalent or humans.
    The bootgraph.pl program is still a work in progress, but
    is far enough along to know that this patch is sufficient.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Rafael J. Wysocki

    Arjan van de Ven
     

02 Oct, 2009

1 commit


22 Aug, 2009

1 commit

  • Some of the NOPs tables aren't used on 64-bits, quite some code and
    data is needed post-init for module loading only, and a couple of
    functions aren't used outside that file (i.e. can be static, and don't
    need to be exported).

    The change to __INITDATA/__INITRODATA is needed to avoid an assembler
    warning.

    Signed-off-by: Jan Beulich
    LKML-Reference:
    Acked-by: Sam Ravnborg
    Signed-off-by: H. Peter Anvin

    Jan Beulich
     

19 Jun, 2009

1 commit

  • Call constructors (gcc-generated initcall-like functions) during kernel
    start and module load. Constructors are e.g. used for gcov data
    initialization.

    Disable constructor support for usermode Linux to prevent conflicts with
    host glibc.

    Signed-off-by: Peter Oberparleiter
    Acked-by: Rusty Russell
    Acked-by: WANG Cong
    Cc: Sam Ravnborg
    Cc: Jeff Dike
    Cc: Andi Kleen
    Cc: Huang Ying
    Cc: Li Wei
    Cc: Michael Ellerman
    Cc: Ingo Molnar
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Oberparleiter
     

17 Jun, 2009

1 commit

  • Now we have __initconst, we can finally move the external declarations for
    the various Linux logo structures to .

    James' ack dates back to the previous submission (way to long ago), when the
    logos were still __initdata, which caused failures on some platforms with some
    toolchain versions.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: James Simmons
    Cc: Krzysztof Helt
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

15 Jun, 2009

1 commit

  • Updated after review by Tim Abbott.
    - Use HEAD_TEXT_SECTION
    - Drop use of section-names.h and delete file
    - Introduce EXIT_CALL

    Deleting section-names.h required a few simple
    updates of init.h

    Signed-off-by: Sam Ravnborg
    Cc: Tim Abbott

    Sam Ravnborg
     

10 Jun, 2009

1 commit

  • - add .init.rodata to INIT_DATA, and group all initconst flavors
    together
    - move strings generated from __setup_param() into .init.rodata
    - add .*init.rodata to modpost's sets of init sections
    - make modpost warn about references between meminit and cpuinit
    as well as memexit and cpuexit sections (as CPU and memory
    hotplug are independently selectable features)

    Signed-off-by: Jan Beulich
    Signed-off-by: Sam Ravnborg

    Jan Beulich
     

28 Apr, 2009

1 commit

  • The old refok sections

    .text.init.refok
    .data.init.refok
    .exit.text.refok

    have been deprecated since commit
    312b1485fb509c9bc32eda28ad29537896658cb8. After the other patches in
    this patch series nothing is put in these sections, so clean things up
    by eliminating all the remaining references to them.

    Signed-off-by: Tim Abbott
    Acked-by: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Tim Abbott
     

27 Apr, 2009

1 commit

  • This patch is preparation for replacing all uses of ".head.text" or
    ".text.head" in the kernel with macros, so that the section name can
    later be changed without having to touch a lot of the kernel.

    Since some linker scripts do more complex things than referencing
    HEAD_TEXT, we add a HEAD_TEXT_SECTION macro that just contains the
    actual name.

    I've defined HEAD_TEXT_SECTION in a new header,
    include/linux/section-names.h, so that this section name only needs to
    appear in one place. I anticipate creating similar macro structures
    for a number of other section names.

    The long-term goal here is to be able to change the kernel's magic
    section names to those that are compatible with -ffunction-sections
    -fdata-sections. This requires renaming all magic sections with names
    of the form ".text.foo".

    Signed-off-by: Tim Abbott
    Signed-off-by: Linus Torvalds

    Tim Abbott
     

17 Apr, 2009

1 commit

  • V3 of the early platform driver implementation.

    Platform drivers are great for embedded platforms because we can separate
    driver configuration from the actual driver. So base addresses,
    interrupts and other configuration can be kept with the processor or board
    code, and the platform driver can be reused by many different platforms.

    For early devices we have nothing today. For instance, to configure early
    timers and early serial ports we cannot use platform devices. This
    because the setup order during boot. Timers are needed before the
    platform driver core code is available. The same goes for early printk
    support. Early in this case means before initcalls.

    These early drivers today have their configuration either hard coded or
    they receive it using some special configuration method. This is working
    quite well, but if we want to support both regular kernel modules and
    early devices then we need to have two ways of configuring the same
    driver. A single way would be better.

    The early platform driver patch is basically a set of functions that allow
    drivers to register themselves and architecture code to locate them and
    probe. Registration happens through early_param(). The time for the
    probe is decided by the architecture code.

    See Documentation/driver-model/platform.txt for more details.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Magnus Damm
    Cc: Paul Mundt
    Cc: Kay Sievers
    Cc: David Brownell
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Magnus Damm
     

30 Oct, 2008

1 commit


21 Oct, 2008

1 commit

  • …l/git/tip/linux-2.6-tip

    * 'tracing-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (131 commits)
    tracing/fastboot: improve help text
    tracing/stacktrace: improve help text
    tracing/fastboot: fix initcalls disposition in bootgraph.pl
    tracing/fastboot: fix bootgraph.pl initcall name regexp
    tracing/fastboot: fix issues and improve output of bootgraph.pl
    tracepoints: synchronize unregister static inline
    tracepoints: tracepoint_synchronize_unregister()
    ftrace: make ftrace_test_p6nop disassembler-friendly
    markers: fix synchronize marker unregister static inline
    tracing/fastboot: add better resolution to initcall debug/tracing
    trace: add build-time check to avoid overrunning hex buffer
    ftrace: fix hex output mode of ftrace
    tracing/fastboot: fix initcalls disposition in bootgraph.pl
    tracing/fastboot: fix printk format typo in boot tracer
    ftrace: return an error when setting a nonexistent tracer
    ftrace: make some tracers reentrant
    ring-buffer: make reentrant
    ring-buffer: move page indexes into page headers
    tracing/fastboot: only trace non-module initcalls
    ftrace: move pc counter in irqtrace
    ...

    Manually fix conflicts:
    - init/main.c: initcall tracing
    - kernel/module.c: verbose level vs tracepoints
    - scripts/bootgraph.pl: fallout from cherry-picking commits.

    Linus Torvalds