27 Aug, 2018

1 commit


26 Aug, 2018

1 commit

  • Pull more Kbuild updates from Masahiro Yamada:

    - add build_{menu,n,g,x}config targets for compile-testing Kconfig

    - fix and improve recursive dependency detection in Kconfig

    - fix parallel building of menuconfig/nconfig

    - fix syntax error in clang-version.sh

    - suppress distracting log from syncconfig

    - remove obsolete "rpm" target

    - remove VMLINUX_SYMBOL(_STR) macro entirely

    - fix microblaze build with CONFIG_DYNAMIC_FTRACE

    - move compiler test for dead code/data elimination to Kconfig

    - rename well-known LDFLAGS variable to KBUILD_LDFLAGS

    - misc fixes and cleanups

    * tag 'kbuild-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: rename LDFLAGS to KBUILD_LDFLAGS
    kbuild: pass LDFLAGS to recordmcount.pl
    kbuild: test dead code/data elimination support in Kconfig
    initramfs: move gen_initramfs_list.sh from scripts/ to usr/
    vmlinux.lds.h: remove stale include
    export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR()
    Coccinelle: remove pci_alloc_consistent semantic to detect in zalloc-simple.cocci
    kbuild: make sorting initramfs contents independent of locale
    kbuild: remove "rpm" target, which is alias of "rpm-pkg"
    kbuild: Fix LOADLIBES rename in Documentation/kbuild/makefiles.txt
    kconfig: suppress "configuration written to .config" for syncconfig
    kconfig: fix "Can't open ..." in parallel build
    kbuild: Add a space after `!` to prevent parsing as file pattern
    scripts: modpost: check memory allocation results
    kconfig: improve the recursive dependency report
    kconfig: report recursive dependency involving 'imply'
    kconfig: error out when seeing recursive dependency
    kconfig: add build-only configurator targets
    scripts/dtc: consolidate include path options in Makefile

    Linus Torvalds
     

24 Aug, 2018

4 commits

  • Also add these typos to spelling.txt so checkpatch.pl will look for them.

    Link: http://lkml.kernel.org/r/88af06b9de34d870cb0afc46cfd24e0458be2575.1529471371.git.fthain@telegraphics.com.au
    Signed-off-by: Finn Thain
    Cc: Masahiro Yamada
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Commit a0f97e06a43c ("kbuild: enable 'make CFLAGS=...' to add
    additional options to CC") renamed CFLAGS to KBUILD_CFLAGS.

    Commit 222d394d30e7 ("kbuild: enable 'make AFLAGS=...' to add
    additional options to AS") renamed AFLAGS to KBUILD_AFLAGS.

    Commit 06c5040cdb13 ("kbuild: enable 'make CPPFLAGS=...' to add
    additional options to CPP") renamed CPPFLAGS to KBUILD_CPPFLAGS.

    For some reason, LDFLAGS was not renamed.

    Using a well-known variable like LDFLAGS may result in accidental
    override of the variable.

    Kbuild generally uses KBUILD_ prefixed variables for the internally
    appended options, so here is one more conversion to sanitize the
    naming convention.

    I did not touch Makefiles under tools/ since the tools build system
    is a different world.

    Signed-off-by: Masahiro Yamada
    Acked-by: Kirill A. Shutemov
    Reviewed-by: Palmer Dabbelt

    Masahiro Yamada
     
  • Since commit 0fbe9a245c60 ("microblaze: add endianness options to
    LDFLAGS instead of LD"), you cannot build the kernel for microblaze
    with CONFIG_DYNAMIC_FTRACE.

    Fixes: 0fbe9a245c60 ("microblaze: add endianness options to LDFLAGS instead of LD")
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Prior to doing compiler feature detection in Kconfig, attempts to build
    GCC plugins with Clang would fail the build, much in the same way missing
    GCC plugin headers would fail the build. However, now that this logic
    has been lifted into Kconfig, add an explicit test for GCC (instead of
    duplicating it in the feature-test script).

    Reported-by: Stefan Agner
    Signed-off-by: Kees Cook
    Reviewed-by: Masahiro Yamada

    Kees Cook
     

23 Aug, 2018

18 commits

  • Devicetree bindings should be their own patch as documented in
    Documentation/devicetree/bindings/submitting-patches.txt section I.1.
    This is because bindings are logically independent from a driver
    implementation, they have a different maintainer (even though they often
    are applied via the same tree), and it makes for a cleaner history in the
    DT only tree created with git-filter-branch.

    [robh@kernel.org: add doc pointer to warning, simplify logic]
    Link: http://lkml.kernel.org/r/20180810170513.26284-1-robh@kernel.org
    [robh@kernel.org: v3]
    Link: http://lkml.kernel.org/r/20180810225049.20452-1-robh@kernel.org
    Link: http://lkml.kernel.org/r/20180809205032.22205-1-robh@kernel.org
    Signed-off-by: Rob Herring
    Acked-by: Joe Perches
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Herring
     
  • On Sun, 2018-08-05 at 08:52 -0700, Linus Torvalds wrote:
    > "long unsigned int" isn't _technically_ wrong. But we normally
    > call that type "unsigned long".

    So add a checkpatch test for it.

    Link: http://lkml.kernel.org/r/7bbd97dc0a1e5896a0251fada7bb68bb33643f77.camel@perches.com
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Current checkpatch implementation permits notation like

    } else{

    in kernel code. It looks like oversight and inconsistency in checkpatch
    rules (e.g. instruction like 'do' is tested).

    Add regex for checking space after 'else' keyword and trigger error if
    space is not present.

    Link: http://lkml.kernel.org/r/1533545753-8870-1-git-send-email-michal.zylowski@intel.com
    Signed-off-by: Michal Zylowski
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Zylowski
     
  • checkpatch uses the in-kernel script spdxcheck.py to validate the specific
    license in a file or script.

    This check can currently fail for a couple reasons:

    o spdxcheck.py assumes the existence of git tree that may not
    exist for a bare source tree from something like a tarball
    o the spdxcheck.py must be run from the top level root directory

    So add a git existence test and set the subprocess subdirectory.

    Link: http://lkml.kernel.org/r/2b32864324ae9c92948b002ec4c0c22409ed98f1.camel@perches.com
    Signed-off-by: Joe Perches
    Reported-by: Charlemagne Lasse
    Tested-by: Charlemagne Lasse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Potential patches should have a commit description. Emit a warning when
    there isn't one.

    [akpm@linux-foundation.org: s/else if/elsif/]
    Link: http://lkml.kernel.org/r/1b099f4d8373aa583a17011992676bf0f3f09eee.camel@perches.com
    Signed-off-by: Joe Perches
    Suggested-by: Prakruthi Deepak Heragu
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • The #if 0 or #if 1 is used to toggle features. Warn if #if 0 or #if 1
    is present and suggest that they can be removed.

    [akpm@linux-foundation.org: fix spacing around periods, per Joe\
    Link: http://lkml.kernel.org/r/1532625218-24321-1-git-send-email-pheragu@codeaurora.org
    Signed-off-by: Abhijeet Dharmapurikar
    Signed-off-by: Prakruthi Deepak Heragu
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prakruthi Deepak Heragu
     
  • The current krealloc test does not function correctly when the temporary
    pointer return name contains the original pointer name.

    Fix that by maximally matching the return pointer name and the original
    pointer name and doing a separate comparison of the both names.

    Link: http://lkml.kernel.org/r/e617ecb8c019a9c4c56540a1bec16c8aed43a4e4.camel@perches.com
    Signed-off-by: Joe Perches
    Reported-by: Lars-Peter Clausen
    Cc: Manish Narani
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Use the existing scripts/spdxcheck.py to validate any
    SPDX-License-Identifier found in line 1 or 2 of patches or files.

    Miscellanea:

    o Properly indent the existing SPDX-License-Identifier block.

    Link: http://lkml.kernel.org/r/05b832407b24e0a27e419906187cd863bc1617c7.camel@perches.com
    Signed-off-by: Joe Perches
    Acked-by: Rob Herring
    Cc: Thomas Gleixner
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Multiple line macro definitions where the arguments are separated by line
    continuations can cause checkpatch to emit invalid syntax regex tests.

    This can occur when a single argument is modified in a part of a patch.

    For example: (to not add a diff in the commit message)

    $ ./scripts/checkpatch.pl --git db023296f0115d2fe01fdabad54678f2b806da23
    Unterminated \g... pattern in regex;

    And, the test does not work correctly when these arguments are all new as
    the initial patch line addition "+" is used in the argument name.

    Fix this by stripping the line continuations and any "+" from the list of
    arguments.

    Link: http://lkml.kernel.org/r/86cdb43a4db70670c102020093f7fb4eb3003e01.camel@perches.com
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Print a warning if none of the Signed-off-by lines cover the patch author.

    Non-ASCII quoted printable encoding in From: headers and (lack of) double
    quotes are handled. Split From: headers are not fully handled: only the
    first part is compared.

    [geert+renesas@glider.be: only encode UTF-8 quoted printable mail headers]
    Link: http://lkml.kernel.org/r/20180718145254.4770-1-geert+renesas@glider.be
    Link: http://lkml.kernel.org/r/20180712100323.26684-1-geert+renesas@glider.be
    Signed-off-by: Geert Uytterhoeven
    Acked-by: Joe Perches
    Acked-by: Linus Walleij
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • As of commit bd721ea73e1f ("treewide: replace obsolete _refok by
    __ref"), __init_refok no longer exists, so it can be removed. While at
    it, add the modern variants that were still missing.

    Link: http://lkml.kernel.org/r/20180706084205.26367-1-geert+renesas@glider.be
    Signed-off-by: Geert Uytterhoeven
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • checkpatch repeatedly uses a runtime minimum version check that validates
    the minimum perl version required for a regex match by using a "$^V ge
    5.10.0" runtime string match.

    Only perform that minimum version test once and store the result to reduce
    string matching time.

    This reduces runtime execution time for patches or files with high line
    counts.

    An example runtime improvement:

    new: $ time ./scripts/checkpatch.pl -f drivers/net/ethernet/intel/i40e/i40e_main.c > /dev/null

    real 0m11.856s
    user 0m11.831s
    sys 0m0.025s

    old: $ time ./scripts/checkpatch.pl -f drivers/net/ethernet/intel/i40e/i40e_main.c > /dev/null

    real 0m13.330s
    user 0m13.282s
    sys 0m0.049s

    Link: http://lkml.kernel.org/r/db21aa9703833bad65ab70cc4e8a78da5b399138.camel@perches.com
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Add the ability to --fix these string issues.

    e.g.:
    printk(KERN_INFO"bar" "baz"QUX);
    converts to
    printk(KERN_INFO "barbaz" QUX);

    Link: http://lkml.kernel.org/r/a9fb505ccfedffc5869d08832a7ff05a21d85621.camel@perches.com
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • A struct with a bool member can have different sizes on various
    architectures because neither bool size nor alignment is standardized.

    So emit a message on the use of bool in structs only in .h files and not
    .c files.

    There is the real possibility that this test could have a false positive
    when a bool is declared as an automatic, so limit the test to .h files
    where the only false positive is for declarations in static inline
    functions.

    Link: http://lkml.kernel.org/r/95477c93db187bab6da8a8ba7c57836868446179.camel@perches.com
    Signed-off-by: Joe Perches
    Suggested-by: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • There is an external use case for multiple private MAINTAINER style files
    in a separate directory. Allow it.

    --mpath has a default of "./MAINTAINERS".

    The value entered can be either a file or a directory.

    The behaviors are now:

    --mpath Read only the specific file as file
    --mpath Read all files in as files
    --mpath --find-maintainer-files
    Recurse through and read all files named MAINTAINERS

    Link: http://lkml.kernel.org/r/991b2f20112d53863cd79e61d908f1d26d3e1971.camel@perches.com
    Signed-off-by: Joe Perches
    Tested-by: Don Zickus
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Add the ability to have an override for the location of the MAINTAINERS
    file.

    Miscellanea:

    o Properly indent a few lines with leading spaces

    Link: http://lkml.kernel.org/r/a86e69195076ed3c4c526fddc76b86c28e0a1e37.camel@perches.com
    Signed-off-by: Joe Perches
    Suggested-by: Don Zickus
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Add option '--no-tree' to get_maintainer.pl script to allow using this
    script in projects that aren't the Linux kernel if they use the same
    format for their MAINTAINERS file. This command is also available in
    checkpatch.pl, for example.

    Link: http://lkml.kernel.org/r/04452ac6-1575-f612-72c6-6ea88e70a9d5@arm.com
    Signed-off-by: Antonio Nino Diaz
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonio Nino Diaz
     
  • Here are some of the more common spelling mistakes and typos that I've
    found while fixing up spelling mistakes in the kernel over the past 6
    months.

    Link: http://lkml.kernel.org/r/20180629150603.1159-1-colin.king@canonical.com
    Signed-off-by: Colin Ian King
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Colin Ian King
     

22 Aug, 2018

12 commits

  • scripts/gen_initramfs_list.sh is only invoked from usr/Makefile.
    Move it so that all tools to create initramfs are self-contained
    in the usr/ directory.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Because pci_alloc_consistent has been deprecated. We prefer to use
    dma_alloc_coherent directly. Therefore, we should remove pci_alloc_consistent
    to increase the confidence.

    Acked-by: Julia Lawall
    Acked-by: Himanshu Jha
    Signed-off-by: zhong jiang
    Signed-off-by: Masahiro Yamada

    zhong jiang
     
  • Some LANG values (e.g. pl_PL.UTF-8) cause the sort command to output
    files before their parent directories, which makes them inaccessible for
    the kernel. In other words, when the kernel populates the rootfs, it is
    unable to create files whose parent directories have not been yet created.

    This patch makes sorting use the default (LANG=C) locale, which results in
    correctly laid out initramfs images (parent directories before files).

    Signed-off-by: Andrzej Pietrasiewicz
    Signed-off-by: Masahiro Yamada

    Andrzej Pietrasiewicz
     
  • The top-level Makefile invokes "make syncconfig" when necessary.
    Then, Kconfig displays the following message when .config is updated.

    #
    # configuration written to .config
    #

    It is distracting because "make syncconfig" happens during the build
    stage, and does nothing important in most cases.

    Suggested-by: Linus Torvalds
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • If you run "make menuconfig" or "make nconfig" with -j option in a
    fresh source tree, you will see several "Can't open ..." messages:

    $ make -j8 menuconfig
    HOSTCC scripts/basic/fixdep
    YACC scripts/kconfig/zconf.tab.c
    LEX scripts/kconfig/zconf.lex.c
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: HOSTCC scripts/kconfig/lxdialog/checklist.o
    Can't open scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    HOSTCC scripts/kconfig/lxdialog/inputbox.o
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    UPD scripts/kconfig/.mconf-cfg
    /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
    HOSTCC scripts/kconfig/lxdialog/menubox.o
    HOSTCC scripts/kconfig/lxdialog/textbox.o
    HOSTCC scripts/kconfig/lxdialog/util.o
    HOSTCC scripts/kconfig/lxdialog/yesno.o
    HOSTCC scripts/kconfig/mconf.o
    HOSTCC scripts/kconfig/zconf.tab.o
    HOSTLD scripts/kconfig/mconf

    Correct dependencies to fix this problem.

    Fixes: 1c5af5cf9308 ("kconfig: refactor ncurses package checks for building mconf and nconf")
    Cc: linux-stable # v4.18
    Reported-by: Borislav Petkov
    Signed-off-by: Masahiro Yamada
    Tested-by: Borislav Petkov

    Masahiro Yamada
     
  • Some shells use !(pattern|...|pattern) to match file names not
    containing the specified patterns. This may result in output like

    $ ./scripts/clang-version.sh gcc
    ./scripts/clang-version.sh[18]: COPYING: not found
    printf: %d __clang_major__: conversion error
    printf: %d __clang_minor__: conversion error
    printf: %d __clang_patchlevel__: conversion error
    00000
    $

    and set CONFIG_CLANG_VERSION to the invalid value '00000'.

    POSIX says[0]

    If the pipeline begins with the reserved word ! and command1 is a
    subshell command, the application shall ensure that the ( operator at
    the beginning of command1 is separated from the ! by one or more
    characters. The behavior of the reserved word ! immediately
    followed by the ( operator is unspecified.

    So, just add a to prevent this.

    [0] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_02

    Signed-off-by: Michael Forney
    Signed-off-by: Masahiro Yamada

    Michael Forney
     
  • Fix missing error check for memory allocation functions in
    scripts/mod/modpost.c.

    Fixes kernel bugzilla #200319:
    https://bugzilla.kernel.org/show_bug.cgi?id=200319

    Signed-off-by: Randy Dunlap
    Cc: Yuexing Wang
    Signed-off-by: Masahiro Yamada

    Randy Dunlap
     
  • This commit improves the messages of the recursive dependency.
    Currently, sym->dir_dep.expr is not checked. Hence, any dependency
    in property visibility is regarded as the dependency of the symbol.

    [Test Code 1]

    config A
    bool "a"
    depends on B

    config B
    bool "b"
    depends on A

    [Test Code 2]

    config A
    bool "a" if B

    config B
    bool "b"
    depends on A

    For both cases above, the same message is displayed:

    symbol B depends on A
    symbol A depends on B

    This commit changes the message for the latter, like this:

    symbol B depends on A
    symbol A prompt is visible depending on B

    Also, 'select' and 'imply' are distinguished.

    Signed-off-by: Masahiro Yamada
    Tested-by: Dirk Gouders

    Masahiro Yamada
     
  • Currently, Kconfig does not complain about the recursive dependency
    where 'imply' keywords are involved.

    [Test Code]

    config A
    bool "a"

    config B
    bool "b"
    imply A
    depends on A

    In the code above, Kconfig cannot calculate the symbol values correctly
    due to the circular dependency. For example, allyesconfig followed by
    syncconfig results in an odd behavior because CONFIG_B becomes visible
    in syncconfig.

    $ make allyesconfig
    scripts/kconfig/conf --allyesconfig Kconfig
    #
    # configuration written to .config
    #
    $ cat .config
    #
    # Automatically generated file; DO NOT EDIT.
    # Main menu
    #
    CONFIG_A=y
    $ make syncconfig
    scripts/kconfig/conf --syncconfig Kconfig
    *
    * Restart config...
    *
    *
    * Main menu
    *
    a (A) [Y/n/?] y
    b (B) [N/y/?] (NEW)

    To detect this correctly, sym_check_expr_deps() should recurse to
    not only sym->rev_dep.expr but also sym->implied.expr .

    At this moment, sym_check_print_recursive() cannot distinguish
    'select' and 'imply' since it does not know the precise context
    where the recursive dependency has been hit. This will be solved
    by the next commit.

    In fact, even the document and the unit-test are confused. Using
    'imply' does not solve recursive dependency since 'imply' addresses
    the unmet direct dependency, which 'select' could cause.

    Signed-off-by: Masahiro Yamada
    Tested-by: Dirk Gouders

    Masahiro Yamada
     
  • Originally, recursive dependency was a fatal error for Kconfig
    because Kconfig cannot compute symbol values in such a situation.

    Commit d595cea62403 ("kconfig: print more info when we see a recursive
    dependency") changed it to a warning, which I guess was not intentional.

    Get it back to an error again.

    Also, rename the unit test directory "warn_recursive_dep" to
    "err_recursive_dep" so that it matches to the behavior.

    Signed-off-by: Masahiro Yamada
    Tested-by: Dirk Gouders

    Masahiro Yamada
     
  • Add build-only targets for build_menuconfig, build_nconfig,
    build_xconfig, and build_gconfig.
    (targets must end in "config" to qualify in top-level Makefile)

    This allows these target to be built without execution (e.g., to
    look for errors or warnings) and/or to be built and checked by sparse.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Masahiro Yamada

    Randy Dunlap
     
  • It is tedious to specify extra compiler options for every file.
    HOST_EXTRACFLAGS is useful to add options to all files in a
    directory.

    -I$(src)/libfdt is needed for all the files in this directory
    to include libfdt_env.h etc. from scripts/dtc/libfdt/.

    On the other hand, -I$(src) is used to include check-in headers
    from generated C files. Thus, I added it only to dtc-lexer.lex.o
    and dtc-parser.tab.o .

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Rob Herring

    Masahiro Yamada
     

21 Aug, 2018

1 commit

  • Pull tracing updates from Steven Rostedt:

    - Restructure of lockdep and latency tracers

    This is the biggest change. Joel Fernandes restructured the hooks
    from irqs and preemption disabling and enabling. He got rid of a lot
    of the preprocessor #ifdef mess that they caused.

    He turned both lockdep and the latency tracers to use trace events
    inserted in the preempt/irqs disabling paths. But unfortunately,
    these started to cause issues in corner cases. Thus, parts of the
    code was reverted back to where lockdep and the latency tracers just
    get called directly (without using the trace events). But because the
    original change cleaned up the code very nicely we kept that, as well
    as the trace events for preempt and irqs disabling, but they are
    limited to not being called in NMIs.

    - Have trace events use SRCU for "rcu idle" calls. This was required
    for the preempt/irqs off trace events. But it also had to not allow
    them to be called in NMI context. Waiting till Paul makes an NMI safe
    SRCU API.

    - New notrace SRCU API to allow trace events to use SRCU.

    - Addition of mcount-nop option support

    - SPDX headers replacing GPL templates.

    - Various other fixes and clean ups.

    - Some fixes are marked for stable, but were not fully tested before
    the merge window opened.

    * tag 'trace-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (44 commits)
    tracing: Fix SPDX format headers to use C++ style comments
    tracing: Add SPDX License format tags to tracing files
    tracing: Add SPDX License format to bpf_trace.c
    blktrace: Add SPDX License format header
    s390/ftrace: Add -mfentry and -mnop-mcount support
    tracing: Add -mcount-nop option support
    tracing: Avoid calling cc-option -mrecord-mcount for every Makefile
    tracing: Handle CC_FLAGS_FTRACE more accurately
    Uprobe: Additional argument arch_uprobe to uprobe_write_opcode()
    Uprobes: Simplify uprobe_register() body
    tracepoints: Free early tracepoints after RCU is initialized
    uprobes: Use synchronize_rcu() not synchronize_sched()
    tracing: Fix synchronizing to event changes with tracepoint_synchronize_unregister()
    ftrace: Remove unused pointer ftrace_swapper_pid
    tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify their usage"
    tracing/irqsoff: Handle preempt_count for different configs
    tracing: Partial revert of "tracing: Centralize preemptirq tracepoints and unify their usage"
    tracing: irqsoff: Account for additional preempt_disable
    trace: Use rcu_dereference_raw for hooks from trace-event subsystem
    tracing/kprobes: Fix within_notrace_func() to check only notrace functions
    ...

    Linus Torvalds
     

19 Aug, 2018

2 commits

  • Pull char/misc driver updates from Greg KH:
    "Here is the bit set of char/misc drivers for 4.19-rc1

    There is a lot here, much more than normal, seems like everyone is
    writing new driver subsystems these days... Anyway, major things here
    are:

    - new FSI driver subsystem, yet-another-powerpc low-level hardware
    bus

    - gnss, finally an in-kernel GPS subsystem to try to tame all of the
    crazy out-of-tree drivers that have been floating around for years,
    combined with some really hacky userspace implementations. This is
    only for GNSS receivers, but you have to start somewhere, and this
    is great to see.

    Other than that, there are new slimbus drivers, new coresight drivers,
    new fpga drivers, and loads of DT bindings for all of these and
    existing drivers.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (255 commits)
    android: binder: Rate-limit debug and userspace triggered err msgs
    fsi: sbefifo: Bump max command length
    fsi: scom: Fix NULL dereference
    misc: mic: SCIF Fix scif_get_new_port() error handling
    misc: cxl: changed asterisk position
    genwqe: card_base: Use true and false for boolean values
    misc: eeprom: assignment outside the if statement
    uio: potential double frees if __uio_register_device() fails
    eeprom: idt_89hpesx: clean up an error pointer vs NULL inconsistency
    misc: ti-st: Fix memory leak in the error path of probe()
    android: binder: Show extra_buffers_size in trace
    firmware: vpd: Fix section enabled flag on vpd_section_destroy
    platform: goldfish: Retire pdev_bus
    goldfish: Use dedicated macros instead of manual bit shifting
    goldfish: Add missing includes to goldfish.h
    mux: adgs1408: new driver for Analog Devices ADGS1408/1409 mux
    dt-bindings: mux: add adi,adgs1408
    Drivers: hv: vmbus: Cleanup synic memory free path
    Drivers: hv: vmbus: Remove use of slow_virt_to_phys()
    Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
    ...

    Linus Torvalds
     
  • Pull USB/PHY updates from Greg KH:
    "Here is the big USB and phy driver patch set for 4.19-rc1.

    Nothing huge but there was a lot of work that happened this
    development cycle:

    - lots of type-c work, with drivers graduating out of staging, and
    displayport support being added.

    - new PHY drivers

    - the normal collection of gadget driver updates and fixes

    - code churn to work on the urb handling path, using irqsave()
    everywhere in anticipation of making this codepath a lot simpler in
    the future.

    - usbserial driver fixes and reworks

    - other misc changes

    All of these have been in linux-next with no reported issues for a
    while"

    * tag 'usb-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (159 commits)
    USB: serial: pl2303: add a new device id for ATEN
    usb: renesas_usbhs: Kconfig: convert to SPDX identifiers
    usb: dwc3: gadget: Check MaxPacketSize from descriptor
    usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms
    usb: dwc2: Turn on uframe_sched on "amlogic" platforms
    usb: dwc2: Turn on uframe_sched on "his" platforms
    usb: dwc2: Turn on uframe_sched on "bcm" platforms
    usb: dwc2: gadget: ISOC's starting flow improvement
    usb: dwc2: Make dwc2_readl/writel functions endianness-agnostic.
    usb: dwc3: core: Enable AutoRetry feature in the controller
    usb: dwc3: Set default mode for dwc_usb31
    usb: gadget: udc: renesas_usb3: Add register of usb role switch
    usb: dwc2: replace ioread32/iowrite32_rep with dwc2_readl/writel_rep
    usb: dwc2: Modify dwc2_readl/writel functions prototype
    usb: dwc3: pci: Intel Merrifield can be host
    usb: dwc3: pci: Supply device properties via driver data
    arm64: dts: dwc3: description of incr burst type
    usb: dwc3: Enable undefined length INCR burst type
    usb: dwc3: add global soc bus configuration reg0
    usb: dwc3: Describe 'wakeup_work' field of struct dwc3_pci
    ...

    Linus Torvalds
     

18 Aug, 2018

1 commit

  • Merge updates from Andrew Morton:

    - a few misc things

    - a few Y2038 fixes

    - ntfs fixes

    - arch/sh tweaks

    - ocfs2 updates

    - most of MM

    * emailed patches from Andrew Morton : (111 commits)
    mm/hmm.c: remove unused variables align_start and align_end
    fs/userfaultfd.c: remove redundant pointer uwq
    mm, vmacache: hash addresses based on pmd
    mm/list_lru: introduce list_lru_shrink_walk_irq()
    mm/list_lru.c: pass struct list_lru_node* as an argument to __list_lru_walk_one()
    mm/list_lru.c: move locking from __list_lru_walk_one() to its caller
    mm/list_lru.c: use list_lru_walk_one() in list_lru_walk_node()
    mm, swap: make CONFIG_THP_SWAP depend on CONFIG_SWAP
    mm/sparse: delete old sparse_init and enable new one
    mm/sparse: add new sparse_init_nid() and sparse_init()
    mm/sparse: move buffer init/fini to the common place
    mm/sparse: use the new sparse buffer functions in non-vmemmap
    mm/sparse: abstract sparse buffer allocations
    mm/hugetlb.c: don't zero 1GiB bootmem pages
    mm, page_alloc: double zone's batchsize
    mm/oom_kill.c: document oom_lock
    mm/hugetlb: remove gigantic page support for HIGHMEM
    mm, oom: remove sleep from under oom_lock
    kernel/dma: remove unsupported gfp_mask parameter from dma_alloc_from_contiguous()
    mm/cma: remove unsupported gfp_mask parameter from cma_alloc()
    ...

    Linus Torvalds