15 Aug, 2020

1 commit

  • Pull Kconfig updates from Masahiro Yamada:

    - remove '---help---' keyword support

    - fix mouse events for 'menuconfig' symbols in search view of qconf

    - code cleanups of qconf

    * tag 'kconfig-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (24 commits)
    kconfig: qconf: move setOptionMode() to ConfigList from ConfigView
    kconfig: qconf: do not limit the pop-up menu to the first row
    kconfig: qconf: refactor icon setups
    kconfig: qconf: remove unused voidPix, menuInvPix
    kconfig: qconf: remove ConfigItem::text/setText
    kconfig: qconf: remove ConfigList::addColumn/removeColumn
    kconfig: qconf: remove ConfigItem::pixmap/setPixmap
    kconfig: qconf: drop more localization code
    kconfig: qconf: remove 'parent' from ConfigList::updateMenuList()
    kconfig: qconf: remove unused argument from ConfigView::updateList()
    kconfig: qconf: remove unused argument from ConfigList::updateList()
    kconfig: qconf: omit parent to QHBoxLayout()
    kconfig: qconf: remove name from ConfigSearchWindow constructor
    kconfig: qconf: remove unused ConfigList::listView()
    kconfig: qconf: overload addToolBar() to create and insert toolbar
    kconfig: qconf: remove toolBar from ConfigMainWindow members
    kconfig: qconf: use 'menu' variable for (QMenu *)
    kconfig: qconf: do not use 'menu' variable for (QMenuBar *)
    kconfig: qconf: remove ->addSeparator() to menuBar
    kconfig: add 'static' to some file-local data
    ...

    Linus Torvalds
     

14 Aug, 2020

24 commits


13 Aug, 2020

8 commits

  • Pull more KVM updates from Paolo Bonzini:
    "PPC:
    - Improvements and bugfixes for secure VM support, giving reduced
    startup time and memory hotplug support.

    - Locking fixes in nested KVM code

    - Increase number of guests supported by HV KVM to 4094

    - Preliminary POWER10 support

    ARM:
    - Split the VHE and nVHE hypervisor code bases, build the EL2 code
    separately, allowing for the VHE code to now be built with
    instrumentation

    - Level-based TLB invalidation support

    - Restructure of the vcpu register storage to accomodate the NV code

    - Pointer Authentication available for guests on nVHE hosts

    - Simplification of the system register table parsing

    - MMU cleanups and fixes

    - A number of post-32bit cleanups and other fixes

    MIPS:
    - compilation fixes

    x86:
    - bugfixes

    - support for the SERIALIZE instruction"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (70 commits)
    KVM: MIPS/VZ: Fix build error caused by 'kvm_run' cleanup
    x86/kvm/hyper-v: Synic default SCONTROL MSR needs to be enabled
    MIPS: KVM: Convert a fallthrough comment to fallthrough
    MIPS: VZ: Only include loongson_regs.h for CPU_LOONGSON64
    x86: Expose SERIALIZE for supported cpuid
    KVM: x86: Don't attempt to load PDPTRs when 64-bit mode is enabled
    KVM: arm64: Move S1PTW S2 fault logic out of io_mem_abort()
    KVM: arm64: Don't skip cache maintenance for read-only memslots
    KVM: arm64: Handle data and instruction external aborts the same way
    KVM: arm64: Rename kvm_vcpu_dabt_isextabt()
    KVM: arm: Add trace name for ARM_NISV
    KVM: arm64: Ensure that all nVHE hyp code is in .hyp.text
    KVM: arm64: Substitute RANDOMIZE_BASE for HARDEN_EL2_VECTORS
    KVM: arm64: Make nVHE ASLR conditional on RANDOMIZE_BASE
    KVM: PPC: Book3S HV: Rework secure mem slot dropping
    KVM: PPC: Book3S HV: Move kvmppc_svm_page_out up
    KVM: PPC: Book3S HV: Migrate hot plugged memory
    KVM: PPC: Book3S HV: In H_SVM_INIT_DONE, migrate remaining normal-GFNs to secure-GFNs
    KVM: PPC: Book3S HV: Track the state GFNs associated with secure VMs
    KVM: PPC: Book3S HV: Disable page merging in H_SVM_INIT_START
    ...

    Linus Torvalds
     
  • Merge more updates from Andrew Morton:

    - most of the rest of MM (memcg, hugetlb, vmscan, proc, compaction,
    mempolicy, oom-kill, hugetlbfs, migration, thp, cma, util,
    memory-hotplug, cleanups, uaccess, migration, gup, pagemap),

    - various other subsystems (alpha, misc, sparse, bitmap, lib, bitops,
    checkpatch, autofs, minix, nilfs, ufs, fat, signals, kmod, coredump,
    exec, kdump, rapidio, panic, kcov, kgdb, ipc).

    * emailed patches from Andrew Morton : (164 commits)
    mm/gup: remove task_struct pointer for all gup code
    mm: clean up the last pieces of page fault accountings
    mm/xtensa: use general page fault accounting
    mm/x86: use general page fault accounting
    mm/sparc64: use general page fault accounting
    mm/sparc32: use general page fault accounting
    mm/sh: use general page fault accounting
    mm/s390: use general page fault accounting
    mm/riscv: use general page fault accounting
    mm/powerpc: use general page fault accounting
    mm/parisc: use general page fault accounting
    mm/openrisc: use general page fault accounting
    mm/nios2: use general page fault accounting
    mm/nds32: use general page fault accounting
    mm/mips: use general page fault accounting
    mm/microblaze: use general page fault accounting
    mm/m68k: use general page fault accounting
    mm/ia64: use general page fault accounting
    mm/hexagon: use general page fault accounting
    mm/csky: use general page fault accounting
    ...

    Linus Torvalds
     
  • Fixes the observed warnings:
    scripts/gdb/linux/rbtree.py:20: SyntaxWarning: "is" with a literal. Did
    you mean "=="?
    if node is 0:
    scripts/gdb/linux/rbtree.py:36: SyntaxWarning: "is" with a literal. Did
    you mean "=="?
    if node is 0:

    It looks like this is a new warning added in Python 3.8. I've only seen
    this once after adding the add-auto-load-safe-path rule to my ~/.gdbinit
    for a new tree.

    Fixes: commit 449ca0c95ea2 ("scripts/gdb: add rb tree iterating utilities")
    Signed-off-by: Nick Desaulniers
    Signed-off-by: Andrew Morton
    Reviewed-by: Stephen Boyd
    Cc: Jan Kiszka
    Cc: Kieran Bingham
    Cc: Aymeric Agon-Rambosson
    Link: http://lkml.kernel.org/r/20200805225015.2847624-1-ndesaulniers@google.com
    Link: https://adamj.eu/tech/2020/01/21/why-does-python-3-8-syntaxwarning-for-is-literal/
    Signed-off-by: Linus Torvalds

    Nick Desaulniers
     
  • This test doesn't work well and newer compilers are much better
    at emitting this warning.

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

    Joe Perches
     
  • Try to avoid adding repeated words either on the same line or consecutive
    comment lines in a block

    e.g.:

    duplicated word in comment block

    /*
    * this is a comment block where the last word of the previous
    * previous line is also the first word of the next line
    */

    and simple duplication

    /* test this this again */

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

    Joe Perches
     
  • Checkpatch reports warnings when some specific structs are not declared as
    const in the code. The list of structs to consider was initially defined
    in the checkpatch.pl script itself, but it was later moved to an external
    file (scripts/const_structs.checkpatch), in commit bf1fa1dae68e
    ("checkpatch: externalize the structs that should be const"). This
    introduced two minor issues:

    - When file scripts/const_structs.checkpatch is not present (for
    example, if checkpatch is run outside of the kernel directory with the
    "--no-tree" option), a warning is printed to stderr to tell the user
    that "No structs that should be const will be found". This is fair,
    but the warning is printed unconditionally, even if the option
    "--ignore CONST_STRUCT" is passed. In the latter case, we explicitly
    ask checkpatch to skip this check, so no warning should be printed.

    - When scripts/const_structs.checkpatch is missing, or even when trying
    to silence the warning by adding an empty file, $const_structs is set
    to "", and the regex used for finding structs that should be const,
    "$line =~ /struct\s+($const_structs)(?!\s*\{)/)", matches all
    structs found in the code, thus reporting a number of false positives.

    Let's fix the first item by skipping scripts/const_structs.checkpatch
    processing if "CONST_STRUCT" checks are ignored, and the second one by
    skipping the test if $const_structs is not defined. Since we modify the
    read_words() function a little bit, update the checks for
    $typedefsfile/$typeOtherTypedefs as well.

    Signed-off-by: Quentin Monnet
    Signed-off-by: Andrew Morton
    Acked-by: Joe Perches
    Link: http://lkml.kernel.org/r/20200623221822.3727-1-quentin@isovalent.com
    Signed-off-by: Linus Torvalds

    Quentin Monnet
     
  • Add a --fix option for 2 types of single-line assignment in if statements

    if ((foo = bar(...)) < BAZ) {
    expands to:
    foo = bar(..);
    if (foo < BAZ) {
    and
    if ((foo = bar(...)) {
    expands to:
    foo = bar(...);
    if (foo) {

    if statements with assignments spanning multiple lines are
    not converted with the --fix option.

    if statements with additional logic are also not converted.

    e.g.: if ((foo = bar(...)) & BAZ == BAZ) {

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Cc: Julia Lawall
    Link: http://lkml.kernel.org/r/9bc7c782516f37948f202deba511bc95ed279bbd.camel@perches.com
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • IS_ENABLED is almost always used with CONFIG_ defines.

    Add a test to verify that the #define being tested starts with CONFIG_.

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

    Joe Perches
     

12 Aug, 2020

1 commit


10 Aug, 2020

6 commits

  • Commit ea0eada45632 leads to the following build failure on powerpc:

    HOSTCC scripts/recordmcount
    scripts/recordmcount.c: In function 'arm64_is_fake_mcount':
    scripts/recordmcount.c:440: error: 'R_AARCH64_CALL26' undeclared (first use in this function)
    scripts/recordmcount.c:440: error: (Each undeclared identifier is reported only once
    scripts/recordmcount.c:440: error: for each function it appears in.)
    make[2]: *** [scripts/recordmcount] Error 1

    Make sure R_AARCH64_CALL26 is always defined.

    Fixes: ea0eada45632 ("recordmcount: only record relocation of type R_AARCH64_CALL26 on arm64.")
    Signed-off-by: Christophe Leroy
    Acked-by: Steven Rostedt (VMware)
    Acked-by: Gregory Herrero
    Cc: Gregory Herrero
    Link: https://lore.kernel.org/r/5ca1be21fa6ebf73203b45fd9aadd2bafb5e6b15.1597049145.git.christophe.leroy@csgroup.eu
    Signed-off-by: Catalin Marinas

    Christophe Leroy
     
  • Pull Kbuild updates from Masahiro Yamada:

    - run the checker (e.g. sparse) after the compiler

    - remove unneeded cc-option tests for old compiler flags

    - fix tar-pkg to install dtbs

    - introduce ccflags-remove-y and asflags-remove-y syntax

    - allow to trace functions in sub-directories of lib/

    - introduce hostprogs-always-y and userprogs-always-y syntax

    - various Makefile cleanups

    * tag 'kbuild-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: stop filtering out $(GCC_PLUGINS_CFLAGS) from cc-option base
    kbuild: include scripts/Makefile.* only when relevant CONFIG is enabled
    kbuild: introduce hostprogs-always-y and userprogs-always-y
    kbuild: sort hostprogs before passing it to ifneq
    kbuild: move host .so build rules to scripts/gcc-plugins/Makefile
    kbuild: Replace HTTP links with HTTPS ones
    kbuild: trace functions in subdirectories of lib/
    kbuild: introduce ccflags-remove-y and asflags-remove-y
    kbuild: do not export LDFLAGS_vmlinux
    kbuild: always create directories of targets
    powerpc/boot: add DTB to 'targets'
    kbuild: buildtar: add dtbs support
    kbuild: remove cc-option test of -ffreestanding
    kbuild: remove cc-option test of -fno-stack-protector
    Revert "kbuild: Create directory for target DTB"
    kbuild: run the checker after the compiler

    Linus Torvalds
     
  • …vmarm into kvm-next-5.6

    KVM/arm64 updates for Linux 5.9:

    - Split the VHE and nVHE hypervisor code bases, build the EL2 code
    separately, allowing for the VHE code to now be built with instrumentation

    - Level-based TLB invalidation support

    - Restructure of the vcpu register storage to accomodate the NV code

    - Pointer Authentication available for guests on nVHE hosts

    - Simplification of the system register table parsing

    - MMU cleanups and fixes

    - A number of post-32bit cleanups and other fixes

    Paolo Bonzini
     
  • Commit d26e94149276 ("kbuild: no gcc-plugins during cc-option tests")
    was neeeded because scripts/Makefile.gcc-plugins was too early.

    This is unneeded by including scripts/Makefile.gcc-plugins last,
    and being careful to not add cc-option tests after it.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Currently, the top Makefile includes all of scripts/Makefile.
    even if the associated CONFIG option is disabled.

    Do not include unneeded Makefiles in order to slightly optimize the
    parse stage.

    Include $(include-y), and ignore $(include-).

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • To build host programs, you need to add the program names to 'hostprogs'
    to use the necessary build rule, but it is not enough to build them
    because there is no dependency.

    There are two types of host programs: built as the prerequisite of
    another (e.g. gen_crc32table in lib/Makefile), or always built when
    Kbuild visits the Makefile (e.g. genksyms in scripts/genksyms/Makefile).

    The latter is typical in Makefiles under scripts/, which contains host
    programs globally used during the kernel build. To build them, you need
    to add them to both 'hostprogs' and 'always-y'.

    This commit adds hostprogs-always-y as a shorthand.

    The same applies to user programs. net/bpfilter/Makefile builds
    bpfilter_umh on demand, hence always-y is unneeded. In contrast,
    programs under samples/ are added to both 'userprogs' and 'always-y'
    so they are always built when Kbuild visits the Makefiles.

    userprogs-always-y works as a shorthand.

    Signed-off-by: Masahiro Yamada
    Acked-by: Miguel Ojeda

    Masahiro Yamada