26 Jan, 2020

1 commit


23 Jan, 2020

1 commit


18 Jan, 2020

1 commit


15 Jan, 2020

1 commit


12 Jan, 2020

1 commit


09 Jan, 2020

2 commits


05 Jan, 2020

1 commit


31 Dec, 2019

1 commit


21 Dec, 2019

1 commit


18 Dec, 2019

2 commits


13 Dec, 2019

1 commit


05 Dec, 2019

1 commit


29 Nov, 2019

1 commit


25 Nov, 2019

1 commit


18 Nov, 2019

1 commit


14 Nov, 2019

1 commit

  • Sparse uses the same executable for all archs and uses flags
    like -m64, -mbig-endian or -D__arm__ for arch-specific parameters.
    But Sparse also uses value from the host machine used to build
    Sparse as default value for the target machine.

    This works, of course, well for native build but can create
    problems when cross-compiling, like defining both '__i386__'
    and '__arm__' when cross-compiling for arm on a x86-64 machine.

    Fix this by explicitely telling sparse the target architecture.

    Reported-by: Ben Dooks
    Signed-off-by: Luc Van Oostenryck
    Signed-off-by: Masahiro Yamada

    Luc Van Oostenryck
     

11 Nov, 2019

1 commit


04 Nov, 2019

1 commit


28 Oct, 2019

1 commit


21 Oct, 2019

1 commit


15 Oct, 2019

1 commit


14 Oct, 2019

1 commit


12 Oct, 2019

1 commit

  • Pull module fixes from Jessica Yu:
    "Code cleanups and kbuild/namespace related fixups from Masahiro.

    Most importantly, it fixes a namespace-related modpost issue for
    external module builds

    - Fix broken external module builds due to a modpost bug in
    read_dump(), where the namespace was not being strdup'd and
    sym->namespace would be set to bogus data.

    - Various namespace-related kbuild fixes and cleanups thanks to
    Masahiro Yamada"

    * tag 'modules-for-v5.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
    doc: move namespaces.rst from kbuild/ to core-api/
    nsdeps: make generated patches independent of locale
    nsdeps: fix hashbang of scripts/nsdeps
    kbuild: fix build error of 'make nsdeps' in clean tree
    module: rename __kstrtab_ns_* to __kstrtabns_* to avoid symbol conflict
    modpost: fix broken sym->namespace for external module builds
    module: swap the order of symbol.namespace
    scripts: add_namespace: Fix coccicheck failed

    Linus Torvalds
     

09 Oct, 2019

1 commit

  • …/git/shuah/linux-kselftest

    Pull Kselftest fixes from Shuah Khan:
    "Fixes for existing tests and the framework.

    Cristian Marussi's patches add the ability to skip targets (tests) and
    exclude tests that didn't build from run-list. These patches improve
    the Kselftest results. Ability to skip targets helps avoid running
    tests that aren't supported in certain environments. As an example,
    bpf tests from mainline aren't supported on stable kernels and have
    dependency on bleeding edge llvm. Being able to skip bpf on systems
    that can't meet this llvm dependency will be helpful.

    Kselftest can be built and installed from the main Makefile. This
    change help simplify Kselftest use-cases which addresses request from
    users.

    Kees Cook added per test timeout support to limit individual test
    run-time"

    * tag 'linux-kselftest-5.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests: watchdog: Add command line option to show watchdog_info
    selftests: watchdog: Validate optional file argument
    selftests/kselftest/runner.sh: Add 45 second timeout per test
    kselftest: exclude failed TARGETS from runlist
    kselftest: add capability to skip chosen TARGETS
    selftests: Add kselftest-all and kselftest-install targets

    Linus Torvalds
     

08 Oct, 2019

1 commit

  • Running 'make nsdeps' in a clean source tree fails as follows:

    $ make -s clean; make -s defconfig; make nsdeps
    [ snip ]
    awk: fatal: cannot open file `init/modules.order' for reading (No such file or directory)
    make: *** [Makefile;1307: modules.order] Error 2
    make: *** Deleting file 'modules.order'
    make: *** Waiting for unfinished jobs....

    The cause of the error is 'make nsdeps' does not build modules at all.
    Set KBUILD_MODULES to fix it.

    Reviewed-by: Matthias Maennich
    Signed-off-by: Masahiro Yamada
    Signed-off-by: Jessica Yu

    Masahiro Yamada
     

07 Oct, 2019

1 commit


02 Oct, 2019

1 commit

  • Add kselftest-all target to build tests from the top level
    Makefile. This is to simplify kselftest use-cases for CI and
    distributions where build and test systems are different.

    Current kselftest target builds and runs tests on a development
    system which is a developer use-case.

    Add kselftest-install target to install tests from the top level
    Makefile. This is to simplify kselftest use-cases for CI and
    distributions where build and test systems are different.

    This change addresses requests from developers and testers to add
    support for installing kselftest from the main Makefile.

    In addition, make the install directory the same when install is
    run using "make kselftest-install" or by running kselftest_install.sh.
    Also fix the INSTALL_PATH variable conflict between main Makefile and
    selftests Makefile.

    Signed-off-by: Shuah Khan
    Acked-by: Masahiro Yamada
    Signed-off-by: Shuah Khan

    Shuah Khan
     

01 Oct, 2019

3 commits


23 Sep, 2019

1 commit

  • Pull modules updates from Jessica Yu:
    "The main bulk of this pull request introduces a new exported symbol
    namespaces feature. The number of exported symbols is increasingly
    growing with each release (we're at about 31k exports as of 5.3-rc7)
    and we currently have no way of visualizing how these symbols are
    "clustered" or making sense of this huge export surface.

    Namespacing exported symbols allows kernel developers to more
    explicitly partition and categorize exported symbols, as well as more
    easily limiting the availability of namespaced symbols to other parts
    of the kernel. For starters, we have introduced the USB_STORAGE
    namespace to demonstrate the API's usage. I have briefly summarized
    the feature and its main motivations in the tag below.

    Summary:

    - Introduce exported symbol namespaces.

    This new feature allows subsystem maintainers to partition and
    categorize their exported symbols into explicit namespaces. Module
    authors are now required to import the namespaces they need.

    Some of the main motivations of this feature include: allowing
    kernel developers to better manage the export surface, allow
    subsystem maintainers to explicitly state that usage of some
    exported symbols should only be limited to certain users (think:
    inter-module or inter-driver symbols, debugging symbols, etc), as
    well as more easily limiting the availability of namespaced symbols
    to other parts of the kernel.

    With the module import requirement, it is also easier to spot the
    misuse of exported symbols during patch review.

    Two new macros are introduced: EXPORT_SYMBOL_NS() and
    EXPORT_SYMBOL_NS_GPL(). The API is thoroughly documented in
    Documentation/kbuild/namespaces.rst.

    - Some small code and kbuild cleanups here and there"

    * tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
    module: Remove leftover '#undef' from export header
    module: remove unneeded casts in cmp_name()
    module: move CONFIG_UNUSED_SYMBOLS to the sub-menu of MODULES
    module: remove redundant 'depends on MODULES'
    module: Fix link failure due to invalid relocation on namespace offset
    usb-storage: export symbols in USB_STORAGE namespace
    usb-storage: remove single-use define for debugging
    docs: Add documentation for Symbol Namespaces
    scripts: Coccinelle script for namespace dependencies.
    modpost: add support for generating namespace dependencies
    export: allow definition default namespaces in Makefiles or sources
    module: add config option MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
    modpost: add support for symbol namespaces
    module: add support for symbol namespaces.
    export: explicitly align struct kernel_symbol
    module: support reading multiple values per modinfo tag

    Linus Torvalds
     

20 Sep, 2019

2 commits

  • Pull Kbuild updates from Masahiro Yamada:

    - add modpost warn exported symbols marked as 'static' because 'static'
    and EXPORT_SYMBOL is an odd combination

    - break the build early if gold linker is used

    - optimize the Bison rule to produce .c and .h files by a single
    pattern rule

    - handle PREEMPT_RT in the module vermagic and UTS_VERSION

    - warn CONFIG options leaked to the user-space except existing ones

    - make single targets work properly

    - rebuild modules when module linker scripts are updated

    - split the module final link stage into scripts/Makefile.modfinal

    - fix the missed error code in merge_config.sh

    - improve the error message displayed on the attempt of the O= build in
    unclean source tree

    - remove 'clean-dirs' syntax

    - disable -Wimplicit-fallthrough warning for Clang

    - add CONFIG_CC_OPTIMIZE_FOR_SIZE_O3 for ARC

    - remove ARCH_{CPP,A,C}FLAGS variables

    - add $(BASH) to run bash scripts

    - change *CFLAGS_.o to take the relative path to $(obj)
    instead of the basename

    - stop suppressing Clang's -Wunused-function warnings when W=1

    - fix linux/export.h to avoid genksyms calculating CRC of trimmed
    exported symbols

    - misc cleanups

    * tag 'kbuild-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (63 commits)
    genksyms: convert to SPDX License Identifier for lex.l and parse.y
    modpost: use __section in the output to *.mod.c
    modpost: use MODULE_INFO() for __module_depends
    export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols
    export.h: remove defined(__KERNEL__), which is no longer needed
    kbuild: allow Clang to find unused static inline functions for W=1 build
    kbuild: rename KBUILD_ENABLE_EXTRA_GCC_CHECKS to KBUILD_EXTRA_WARN
    kbuild: refactor scripts/Makefile.extrawarn
    merge_config.sh: ignore unwanted grep errors
    kbuild: change *FLAGS_.o to take the path relative to $(obj)
    modpost: add NOFAIL to strndup
    modpost: add guid_t type definition
    kbuild: add $(BASH) to run scripts with bash-extension
    kbuild: remove ARCH_{CPP,A,C}FLAGS
    kbuild,arc: add CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 for ARC
    kbuild: Do not enable -Wimplicit-fallthrough for clang for now
    kbuild: clean up subdir-ymn calculation in Makefile.clean
    kbuild: remove unneeded '+' marker from cmd_clean
    kbuild: remove clean-dirs syntax
    kbuild: check clean srctree even earlier
    ...

    Linus Torvalds
     
  • Pull Devicetree updates from Rob Herring:

    - a bunch of DT binding conversions to DT schema format

    - clean-ups of the Arm idle-states binding

    - support a default number of cells in of_for_each_phandle() when the
    cells name is missing

    - expose dtbs_check and dt_binding_check in the make help

    - convert writting-schema.md to ReST

    - HiSilicon reset controller binding updates

    - add documentation for MT8516 RNG

    * tag 'devicetree-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (46 commits)
    of: restore old handling of cells_name=NULL in of_*_phandle_with_args()
    bus: qcom: fix spelling mistake "ambigous" -> "ambiguous"
    of: Let of_for_each_phandle fallback to non-negative cell_count
    iommu: pass cell_count = -1 to of_for_each_phandle with cells_name
    dt-bindings: arm: Convert Realtek board/soc bindings to json-schema
    dt-bindings: arm: Convert Actions Semi bindings to jsonschema
    dt-bindings: Correct spelling in example schema
    dt-bindings: cpu: Add a support cpu type for cortex-a55
    dt-bindings: gpu: mali-midgard: Add samsung exynos5250 compatible
    dt-bindings: arm: idle-states: Move exit-latency-us explanation
    dt-bindings: arm: idle-states: Add punctuation to improve readability
    dt-bindings: arm: idle-states: Correct "constraint guarantees"
    dt-bindings: arm: idle-states: Correct references to wake-up delay
    dt-bindings: arm: idle-states: Use "e.g." and "i.e." consistently
    pinctrl-mcp23s08: Fix property-name in dt-example
    dt-bindings: Clarify interrupts-extended usage
    dt-bindings: Convert Arm Mali Utgard GPU to DT schema
    dt-bindings: Convert Arm Mali Bifrost GPU to DT schema
    dt-bindings: Convert Arm Mali Midgard GPU to DT schema
    dt-bindings: irq: Convert Allwinner NMI Controller to a schema
    ...

    Linus Torvalds
     

17 Sep, 2019

1 commit

  • Pull arm64 updates from Will Deacon:
    "Although there isn't tonnes of code in terms of line count, there are
    a fair few headline features which I've noted both in the tag and also
    in the merge commits when I pulled everything together.

    The part I'm most pleased with is that we had 35 contributors this
    time around, which feels like a big jump from the usual small group of
    core arm64 arch developers. Hopefully they all enjoyed it so much that
    they'll continue to contribute, but we'll see.

    It's probably worth highlighting that we've pulled in a branch from
    the risc-v folks which moves our CPU topology code out to where it can
    be shared with others.

    Summary:

    - 52-bit virtual addressing in the kernel

    - New ABI to allow tagged user pointers to be dereferenced by
    syscalls

    - Early RNG seeding by the bootloader

    - Improve robustness of SMP boot

    - Fix TLB invalidation in light of recent architectural
    clarifications

    - Support for i.MX8 DDR PMU

    - Remove direct LSE instruction patching in favour of static keys

    - Function error injection using kprobes

    - Support for the PPTT "thread" flag introduced by ACPI 6.3

    - Move PSCI idle code into proper cpuidle driver

    - Relaxation of implicit I/O memory barriers

    - Build with RELR relocations when toolchain supports them

    - Numerous cleanups and non-critical fixes"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (114 commits)
    arm64: remove __iounmap
    arm64: atomics: Use K constraint when toolchain appears to support it
    arm64: atomics: Undefine internal macros after use
    arm64: lse: Make ARM64_LSE_ATOMICS depend on JUMP_LABEL
    arm64: asm: Kill 'asm/atomic_arch.h'
    arm64: lse: Remove unused 'alt_lse' assembly macro
    arm64: atomics: Remove atomic_ll_sc compilation unit
    arm64: avoid using hard-coded registers for LSE atomics
    arm64: atomics: avoid out-of-line ll/sc atomics
    arm64: Use correct ll/sc atomic constraints
    jump_label: Don't warn on __exit jump entries
    docs/perf: Add documentation for the i.MX8 DDR PMU
    perf/imx_ddr: Add support for AXI ID filtering
    arm64: kpti: ensure patched kernel text is fetched from PoU
    arm64: fix fixmap copy for 16K pages and 48-bit VA
    perf/smmuv3: Validate groups for global filtering
    perf/smmuv3: Validate group size
    arm64: Relax Documentation/arm64/tagged-pointers.rst
    arm64: kvm: Replace hardcoded '1' with SYS_PAR_EL1_F
    arm64: mm: Ignore spurious translation faults taken from the kernel
    ...

    Linus Torvalds
     

16 Sep, 2019

1 commit


10 Sep, 2019

2 commits

  • A script that uses the '.ns_deps' files generated by modpost to
    automatically add the required symbol namespace dependencies to each
    module.

    Usage:
    1) Move some symbols to a namespace with EXPORT_SYMBOL_NS() or define
    DEFAULT_SYMBOL_NAMESPACE
    2) Run 'make' (or 'make modules') and get warnings about modules not
    importing that namespace.
    3) Run 'make nsdeps' to automatically add required import statements
    to said modules.

    This makes it easer for subsystem maintainers to introduce and maintain
    symbol namespaces into their codebase.

    Co-developed-by: Martijn Coenen
    Signed-off-by: Martijn Coenen
    Acked-by: Julia Lawall
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Matthias Maennich
    Signed-off-by: Jessica Yu

    Matthias Maennich
     
  • This patch adds an option to modpost to generate a .ns_deps file
    per module, containing the namespace dependencies for that module.

    E.g. if the linked module my-module.ko would depend on the symbol
    myfunc.MY_NS in the namespace MY_NS, the my-module.ns_deps file created
    by modpost would contain the entry MY_NS to express the namespace
    dependency of my-module imposed by using the symbol myfunc.

    These files can subsequently be used by static analysis tools (like
    coccinelle scripts) to address issues with missing namespace imports. A
    later patch of this series will introduce such a script 'nsdeps' and a
    corresponding make target to automatically add missing
    MODULE_IMPORT_NS() definitions to the module's sources. For that it uses
    the information provided in the generated .ns_deps files.

    Co-developed-by: Martijn Coenen
    Signed-off-by: Martijn Coenen
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Matthias Maennich
    Signed-off-by: Jessica Yu

    Matthias Maennich
     

09 Sep, 2019

1 commit