1. 15 Sep, 2020 4 commits
    • Corey Minyard's avatar
      ipmi: Clean up some printks · a190db94
      Corey Minyard authored
      Convert to dev_xxx() and fix some verbage.
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      a190db94
    • Xianting Tian's avatar
      ipmi:msghandler: retry to get device id on an error · f8910ffa
      Xianting Tian authored
      We fail to get the BMCS's device id with low probability when loading
      the ipmi driver and it causes BMC device registration failed. When this
      issue occurs we got below kernel prints:
      
        [Wed Sep  9 19:52:03 2020] ipmi_si IPI0001:00: IPMI message handler:
           device id demangle failed: -22
        [Wed Sep  9 19:52:03 2020] IPMI BT: using default values
        [Wed Sep  9 19:52:03 2020] IPMI BT: req2rsp=5 secs retries=2
        [Wed Sep  9 19:52:03 2020] ipmi_si IPI0001:00: Unable to get the
           device id: -5
        [Wed Sep  9 19:52:04 2020] ipmi_si IPI0001:00: Unable to register
           device: error -5
      
      When this issue happens, we want to manually unload the driver and try to
      load it again, but it can't be unloaded by 'rmmod' as it is already 'in
      use'.
      
      We add a print in handle_one_recv_msg(), when this issue happens,
      the msg we received is "Recv: 1c 01 d5", which means the data_len is 1,
      data[0] is 0xd5 (completion code), which means "bmc cannot execute
      command.  Command, or request parameter(s), not supported in present
      state".  Debug code:
      	static int handle_one_recv_msg(struct ipmi_smi *intf,
                                     struct ipmi_smi_msg *msg) {
              	printk("Recv: %*ph\n", msg->rsp_size, msg->rsp);
      		... ...
      	}
      Then in ipmi_demangle_device_id(), it returned '-EINVAL' as 'data_len < 7'
      and 'data[0] != 0'.
      
      We created this patch to retry the get device id when this error
      happens.  We reproduced this issue again and the retry succeed on the
      first retry, we finally got the correct msg and then all is ok:
      Recv: 1c 01 00 01 81 05 84 02 af db 07 00 01 00 b9 00 10 00
      
      So use a retry machanism in this patch to give bmc more opportunity to
      correctly response kernel when we received specific completion codes.
      Signed-off-by: default avatarXianting Tian <tian.xianting@h3c.com>
      Message-Id: <20200915071817.4484-1-tian.xianting@h3c.com>
      [Cleaned up the verbage a bit in the header and prints.]
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      f8910ffa
    • Xianting Tian's avatar
      ipmi:sm: Print current state when the state is invalid · c2b1e76d
      Xianting Tian authored
      Print current state before returning IPMI_NOT_IN_MY_STATE_ERR so we can
      know where this issue is coming from and possibly fix the state machine.
      Signed-off-by: default avatarXianting Tian <tian.xianting@h3c.com>
      Message-Id: <20200915074441.4090-1-tian.xianting@h3c.com>
      [Converted printk() to pr_xxx().]
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      c2b1e76d
    • Markus Boehme's avatar
      ipmi: Reset response handler when failing to send the command · 81e7571e
      Markus Boehme authored
      When failing to send a command we don't expect a response. Clear the
      `null_user_handler` like is done in the success path.
      Signed-off-by: default avatarMarkus Boehme <markubo@amazon.com>
      Message-Id: <1599495937-10654-1-git-send-email-markubo@amazon.com>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      81e7571e
  2. 03 Sep, 2020 1 commit
  3. 18 Aug, 2020 1 commit
  4. 09 Aug, 2020 16 commits
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · fc80c51f
      Linus Torvalds authored
      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
      fc80c51f
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.9' of git://git.linux-nfs.org/projects/cel/cel-2.6 · 7a6b6044
      Linus Torvalds authored
      Pull NFS server updates from Chuck Lever:
       "Highlights:
         - Support for user extended attributes on NFS (RFC 8276)
         - Further reduce unnecessary NFSv4 delegation recalls
      
        Notable fixes:
         - Fix recent krb5p regression
         - Address a few resource leaks and a rare NULL dereference
      
        Other:
         - De-duplicate RPC/RDMA error handling and other utility functions
         - Replace storage and display of kernel memory addresses by tracepoints"
      
      * tag 'nfsd-5.9' of git://git.linux-nfs.org/projects/cel/cel-2.6: (38 commits)
        svcrdma: CM event handler clean up
        svcrdma: Remove transport reference counting
        svcrdma: Fix another Receive buffer leak
        SUNRPC: Refresh the show_rqstp_flags() macro
        nfsd: netns.h: delete a duplicated word
        SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()")
        nfsd: avoid a NULL dereference in __cld_pipe_upcall()
        nfsd4: a client's own opens needn't prevent delegations
        nfsd: Use seq_putc() in two functions
        svcrdma: Display chunk completion ID when posting a rw_ctxt
        svcrdma: Record send_ctxt completion ID in trace_svcrdma_post_send()
        svcrdma: Introduce Send completion IDs
        svcrdma: Record Receive completion ID in svc_rdma_decode_rqst
        svcrdma: Introduce Receive completion IDs
        svcrdma: Introduce infrastructure to support completion IDs
        svcrdma: Add common XDR encoders for RDMA and Read segments
        svcrdma: Add common XDR decoders for RDMA and Read segments
        SUNRPC: Add helpers for decoding list discriminators symbolically
        svcrdma: Remove declarations for functions long removed
        svcrdma: Clean up trace_svcrdma_send_failed() tracepoint
        ...
      7a6b6044
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 8d3e09b4
      Linus Torvalds authored
      Pull regset conversion fix from Al Viro:
       "Fix a regression from an unnoticed bisect hazard in the regset series.
      
        A bunch of old (aout, originally) primitives used by coredumps became
        dead code after fdpic conversion to regsets. Removal of that dead code
        had been the first commit in the followups to regset series;
        unfortunately, it happened to hide the bisect hazard on sh (extern for
        fpregs_get() had not been updated in the main series when it should
        have been; followup simply made fpregs_get() static). And without that
        followup commit this bisect hazard became breakage in the mainline"
      Tested-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        kill unused dump_fpu() instances
      8d3e09b4
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 9420f1ce
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of the pin control changes for the v5.9 kernel
        series:
      
        Core changes:
      
         - The GPIO patch "gpiolib: Introduce for_each_requested_gpio_in_range()
           macro" was put in an immutable branch and merged into the pinctrl
           tree as well. We see these changes also here.
      
         - Improved debug output for pins used as GPIO.
      
        New drivers:
      
         - Ocelot Sparx5 SoC driver.
      
         - Intel Emmitsburg SoC subdriver.
      
         - Intel Tiger Lake-H SoC subdriver.
      
         - Qualcomm PM660 SoC subdriver.
      
         - Renesas SH-PFC R8A774E1 subdriver.
      
        Driver improvements:
      
         - Linear improvement and cleanups of the Intel drivers for
           Cherryview, Lynxpoint, Baytrail etc. Improved locking among other
           things.
      
         - Renesas SH-PFC has added support for RPC pins, groups, and
           functions to r8a77970 and r8a77980.
      
         - The newere Freescale (now NXP) i.MX8 pin controllers have been
           modularized. This is driven by the Google Android GKI initiative I
           think.
      
         - Open drain support for pins on the Qualcomm IPQ4019.
      
         - The Ingenic driver can handle both edges IRQ detection.
      
         - A big slew of documentation fixes all over the place.
      
         - A few irqchip template conversions by yours truly.
      
      * tag 'pinctrl-v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (107 commits)
        dt-bindings: pinctrl: add bindings for MediaTek MT6779 SoC
        pinctrl: stmfx: Use irqchip template
        pinctrl: amd: Use irqchip template
        pinctrl: mediatek: fix build for tristate changes
        pinctrl: samsung: Use bank name as irqchip name
        pinctrl: core: print gpio in pins debugfs file
        pinctrl: mediatek: add mt6779 eint support
        pinctrl: mediatek: add pinctrl support for MT6779 SoC
        pinctrl: mediatek: avoid virtual gpio trying to set reg
        pinctrl: mediatek: update pinmux definitions for mt6779
        pinctrl: stm32: use the hwspin_lock_timeout_in_atomic() API
        pinctrl: mcp23s08: Use irqchip template
        pinctrl: sx150x: Use irqchip template
        dt-bindings: ingenic,pinctrl: Support pinmux/pinconf nodes
        pinctrl: intel: Add Intel Emmitsburg pin controller support
        pinctl: ti: iodelay: Replace HTTP links with HTTPS ones
        Revert "gpio: omap: handle pin config bias flags"
        pinctrl: single: Use fallthrough pseudo-keyword
        pinctrl: qcom: spmi-gpio: Use fallthrough pseudo-keyword
        pinctrl: baytrail: Use fallthrough pseudo-keyword
        ...
      9420f1ce
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · dec1fbbc
      Linus Torvalds authored
      Pull mtd updates from Miquel Raynal:
       "MTD core changes:
         - Spelling
         - http to https updates
      
        NAND core changes:
         - Drop useless 'depends on' in Kconfig
         - Add an extra level in the Kconfig hierarchy
         - Trivial spellings
         - Dynamic allocation of the interface configurations
         - Dropping the default ONFI timing mode
         - Various cleanup (types, structures, naming, comments)
         - Hide the chip->data_interface indirection
         - Add the generic rb-gpios property
         - Add the ->choose_interface_config() hook
         - Introduce nand_choose_best_sdr_timings()
         - Use default values for tPROG_max and tBERS_max
         - Avoid redefining tR_max and tCCS_min
         - Add a helper to find the closest ONFI mode
         - bcm63xx MTD parsers: simplify CFE detection
      
        Raw NAND controller drivers changes:
         - fsl-upm: Deprecation of specific DT properties
         - fsl_upm: Driver rework and cleanup in favor of ->exec_op()
         - Ingenic: Cleanup ARRAY_SIZE() vs sizeof() use
         - brcmnand: ECC error handling on EDU transfers
         - brcmnand: Don't default to EDU transfers
         - qcom: Set BAM mode only if not set already
         - qcom: Avoid write to unavailable register
         - gpio: Driver rework in favor of ->exec_op()
         - tango: ->exec_op() conversion
         - mtk: ->exec_op() conversion
      
        Raw NAND chip drivers changes:
         - toshiba: Implement ->choose_interface_config() for TH58NVG2S3HBAI4,
           TC58NVG0S3E, and TC58TEG5DCLTA00
         - hynix: Implement ->choose_interface_config() for H27UCG8T2ATR-BC
      
        SPI NOR core changes:
         - Disable Quad Mode in spi_nor_restore().
         - Don't abort BFPT parsing when QER reserved value is used.
         - Add support/update capabilities for few flashes.
         - Drop s70fl01gs flash: it does not support RDSR(05h) which is
           critical for erase/write.
         - Merge the SPIMEM DTR bits in spi-nor/next to avoid conflicts during
           the release cycle.
      
        SPI NOR controller drivers changes:
         - Move the cadence-quadspi driver to spi-mem. The series was taken
           through the SPI tree. Merge it also in spi-nor/next to avoid
           conflicts during the release cycle.
         - intel-spi:
            - Add new PCI IDs.
            - Ignore the Write Disable command, the controller doesn't support
              it.
            - Fix performance regression"
      
      * tag 'mtd/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (79 commits)
        MTD: pfow.h: drop a duplicated word
        MTD: mtd-abi.h: drop a duplicated word
        mtd: rawnand: omap_elm: Replace HTTP links with HTTPS ones
        mtd: Replace HTTP links with HTTPS ones
        mtd: hyperbus: Replace HTTP links with HTTPS ones
        mtd: revert "spi-nor: intel: provide a range for poll_timout"
        mtd: spi-nor: update read capabilities for w25q64 and s25fl064k
        mtd: spi-nor: micron: Add SPI_NOR_DUAL_READ flag on mt25qu02g
        mtd: spi-nor: macronix: Add support for mx66u2g45g
        mtd: spi-nor: intel-spi: Simulate WRDI command
        mtd: spi-nor: Disable the flash quad mode in spi_nor_restore()
        mtd: spi-nor: Add capability to disable flash quad mode
        mtd: spi-nor: spansion: Remove s70fl01gs from flash_info
        mtd: spi-nor: sfdp: do not make invalid quad enable fatal
        dt-bindings: mtd: fsl-upm-nand: Deprecate chip-delay and fsl, upm-wait-flags
        mtd: rawnand: stm32_fmc2: get resources from parent node
        mtd: rawnand: stm32_fmc2: use regmap APIs
        memory: stm32-fmc2-ebi: add STM32 FMC2 EBI controller driver
        dt-bindings: memory-controller: add STM32 FMC2 EBI controller documentation
        dt-bindings: mtd: update STM32 FMC2 NAND controller documentation
        ...
      dec1fbbc
    • Stephen Rothwell's avatar
    • Masahiro Yamada's avatar
      kbuild: stop filtering out $(GCC_PLUGINS_CFLAGS) from cc-option base · 132305b3
      Masahiro Yamada authored
      Commit d26e9414 ("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: default avatarMasahiro Yamada <masahiroy@kernel.org>
      132305b3
    • Masahiro Yamada's avatar
      kbuild: include scripts/Makefile.* only when relevant CONFIG is enabled · e0fe0bbe
      Masahiro Yamada authored
      Currently, the top Makefile includes all of scripts/Makefile.<feature>
      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: default avatarMasahiro Yamada <masahiroy@kernel.org>
      e0fe0bbe
    • Masahiro Yamada's avatar
      kbuild: introduce hostprogs-always-y and userprogs-always-y · faabed29
      Masahiro Yamada authored
      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: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>
      faabed29
    • Masahiro Yamada's avatar
      kbuild: sort hostprogs before passing it to ifneq · 85569d19
      Masahiro Yamada authored
      The conditional:
      
        ifneq ($(hostprogs),)
      
      ... is evaluated to true if $(hostprogs) does not contain any word but
      whitespace characters.
      
        ifneq ($(strip $(hostprogs)),)
      
      ... is a safe way to avoid interpreting whitespace as a non-empty value,
      but I'd rather want to use the side-effect of $(sort ...) to do the
      equivalent.
      
      $(sort ...) is used in scripts/Makefile.host in order to drop duplication
      in $(hostprogs). It is also useful to strip excessive spaces.
      
      Move $(sort ...) before evaluating the ifneq.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      85569d19
    • Masahiro Yamada's avatar
      kbuild: move host .so build rules to scripts/gcc-plugins/Makefile · 42640b13
      Masahiro Yamada authored
      The host shared library rules are currently implemented in
      scripts/Makefile.host, but actually GCC-plugin is the only user of
      them. (The VDSO .so files are built for the target by different
      build rules) Hence, they do not need to be treewide available.
      
      Move all the relevant build rules to scripts/gcc-plugins/Makefile.
      
      I also optimized the build steps so *.so is directly built from .c
      because every upstream plugin is compiled from a single source file.
      
      I am still keeping the multi-file plugin support, which Kees Cook
      mentioned might be needed by out-of-tree plugins.
      (https://lkml.org/lkml/2019/1/11/1107)
      
      If the plugin, foo.so, is compiled from two files foo.c and foo2.c,
      then you can do like follows:
      
        foo-objs := foo.o foo2.o
      
      Single-file plugins do not need the *-objs notation.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      42640b13
    • Alexander A. Klimov's avatar
      kbuild: Replace HTTP links with HTTPS ones · 16a122c7
      Alexander A. Klimov authored
      Rationale:
      Reduces attack surface on kernel devs opening the links for MITM
      as HTTPS traffic is much harder to manipulate.
      
      Deterministic algorithm:
      For each file:
        If not .svg:
          For each line:
            If doesn't contain `\bxmlns\b`:
              For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
      	  If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
                  If both the HTTP and HTTPS versions
                  return 200 OK and serve the same content:
                    Replace HTTP with HTTPS.
      Signed-off-by: default avatarAlexander A. Klimov <grandmaster@al2klimov.de>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      16a122c7
    • Masahiro Yamada's avatar
      kbuild: trace functions in subdirectories of lib/ · b16838c6
      Masahiro Yamada authored
      ccflags-remove-$(CONFIG_FUNCTION_TRACER) += $(CC_FLAGS_FTRACE)
      
      exists here in sub-directories of lib/ to keep the behavior of
      commit 2464a609 ("ftrace: do not trace library functions").
      
      Since that commit, not only the objects in lib/ but also the ones in
      the sub-directories are excluded from ftrace (although the commit
      description did not explicitly mention this).
      
      However, most of library functions in sub-directories are not so hot.
      Re-add them to ftrace.
      
      Going forward, only the objects right under lib/ will be excluded.
      
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      b16838c6
    • Masahiro Yamada's avatar
      kbuild: introduce ccflags-remove-y and asflags-remove-y · 15d5761a
      Masahiro Yamada authored
      CFLAGS_REMOVE_<file>.o filters out flags when compiling a particular
      object, but there is no convenient way to do that for every object in
      a directory.
      
      Add ccflags-remove-y and asflags-remove-y to make it easily.
      
      Use ccflags-remove-y to clean up some Makefiles.
      
      The add/remove order works as follows:
      
       [1] KBUILD_CFLAGS specifies compiler flags used globally
      
       [2] ccflags-y adds compiler flags for all objects in the
           current Makefile
      
       [3] ccflags-remove-y removes compiler flags for all objects in the
           current Makefile (New feature)
      
       [4] CFLAGS_<file> adds compiler flags per file.
      
       [5] CFLAGS_REMOVE_<file> removes compiler flags per file.
      
      Having [3] before [4] allows us to remove flags from most (but not all)
      objects in the current Makefile.
      
      For example, kernel/trace/Makefile removes $(CC_FLAGS_FTRACE)
      from all objects in the directory, then adds it back to
      trace_selftest_dynamic.o and CFLAGS_trace_kprobe_selftest.o
      
      The same applies to lib/livepatch/Makefile.
      
      Please note ccflags-remove-y has no effect to the sub-directories.
      In contrast, the previous notation got rid of compiler flags also from
      all the sub-directories.
      
      The following are not affected because they have no sub-directories:
      
        arch/arm/boot/compressed/
        arch/powerpc/xmon/
        arch/sh/
        kernel/trace/
      
      However, lib/ has several sub-directories.
      
      To keep the behavior, I added ccflags-remove-y to all Makefiles
      in subdirectories of lib/, except the following:
      
        lib/vdso/Makefile        - Kbuild does not descend into this Makefile
        lib/raid/test/Makefile   - This is not used for the kernel build
      
      I think commit 2464a609 ("ftrace: do not trace library functions")
      excluded too much. In the next commit, I will remove ccflags-remove-y
      from the sub-directories of lib/.
      Suggested-by: default avatarSami Tolvanen <samitolvanen@google.com>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
      Acked-by: Brendan Higgins <brendanhiggins@google.com> (KUnit)
      Tested-by: default avatarAnders Roxell <anders.roxell@linaro.org>
      15d5761a
    • Masahiro Yamada's avatar
      kbuild: do not export LDFLAGS_vmlinux · 3ec8a5b3
      Masahiro Yamada authored
      When you clean the build tree for ARCH=arm, you may see the following
      error message from 'nm' command:
      
      $ make -j24 ARCH=arm clean
        CLEAN   arch/arm/crypto
        CLEAN   arch/arm/kernel
        CLEAN   arch/arm/mach-at91
        CLEAN   arch/arm/mach-omap2
        CLEAN   arch/arm/vdso
        CLEAN   certs
        CLEAN   lib
        CLEAN   usr
        CLEAN   net/wireless
        CLEAN   drivers/firmware/efi/libstub
      nm: 'arch/arm/boot/compressed/../../../../vmlinux': No such file
      /bin/sh: 1: arithmetic expression: expecting primary: " "
        CLEAN   arch/arm/boot/compressed
        CLEAN   drivers/scsi
        CLEAN   drivers/tty/vt
        CLEAN   arch/arm/boot
        CLEAN   vmlinux.symvers modules.builtin modules.builtin.modinfo
      
      Even if you rerun the same command, the error message will not be
      shown despite vmlinux is already gone.
      
      To reproduce it, the parallel option -j is needed. Single thread
      cleaning always executes 'archclean', 'vmlinuxclean' in this order,
      so vmlinux still exists when arch/arm/boot/compressed/ is cleaned.
      
      Looking at arch/arm/boot/compressed/Makefile does not help understand
      the reason of the error message. Both KBSS_SZ and LDFLAGS_vmlinux are
      assigned with '=' operator, hence, they are not expanded unless used.
      Obviously, 'make clean' does not use them.
      
      In fact, the root cause exists in the top Makefile:
      
        export LDFLAGS_vmlinux
      
      Since LDFLAGS_vmlinux is an exported variable, LDFLAGS_vmlinux in
      arch/arm/boot/compressed/Makefile is expanded when scripts/Makefile.clean
      has a command to execute. This is why the error message shows up only
      when there exist build artifacts in arch/arm/boot/compressed/.
      
      Adding 'unexport LDFLAGS_vmlinux' to arch/arm/boot/compressed/Makefile
      will fix it as far as ARCH=arm is concerned, but I think the proper fix
      is to get rid of 'export LDFLAGS_vmlinux' from the top Makefile.
      
      LDFLAGS_vmlinux in the top Makefile contains linker flags for the top
      vmlinux. LDFLAGS_vmlinux in arch/arm/boot/compressed/Makefile is for
      arch/arm/boot/compressed/vmlinux. They just happen to have the same
      variable name, but are used for different purposes. Stop shadowing
      LDFLAGS_vmlinux.
      
      This commit passes LDFLAGS_vmlinux to scripts/link-vmlinux.sh via a
      command line parameter instead of via an environment variable. LD and
      KBUILD_LDFLAGS are exported, but I did the same for consistency. Anyway,
      they must be included in cmd_link-vmlinux to allow if_changed to detect
      the changes in LD or KBUILD_LDFLAGS.
      
      The following Makefiles are not affected:
      
        arch/arm/boot/compressed/Makefile
        arch/h8300/boot/compressed/Makefile
        arch/nios2/boot/compressed/Makefile
        arch/parisc/boot/compressed/Makefile
        arch/s390/boot/compressed/Makefile
        arch/sh/boot/compressed/Makefile
        arch/sh/boot/romimage/Makefile
        arch/x86/boot/compressed/Makefile
      
      They use ':=' or '=' to clear the LDFLAGS_vmlinux inherited from the
      top Makefile.
      
      We need to take a closer look at the impact to unicore32 and xtensa.
      
      arch/unicore32/boot/compressed/Makefile only uses '+=' operator for
      LDFLAGS_vmlinux. So, the decompressor previously inherited the linker
      flags from the top Makefile.
      
      However, commit 70fac51f ("unicore32 additional architecture files:
      boot process") was merged before commit 1f2bfbd0 ("kbuild: link of
      vmlinux moved to a script"). So, I rather consider this is a bug fix of
      1f2bfbd0.
      
      arch/xtensa/boot/boot-elf/Makefile is also affected, but this is also
      considered a fix for the same reason. It did not inherit LDFLAGS_vmlinux
      when commit 4bedea94 ("[PATCH] xtensa: Architecture support for
      Tensilica Xtensa Part 2") was merged. I deleted $(LDFLAGS_vmlinux),
      which is now empty.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Tested-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      3ec8a5b3
    • Masahiro Yamada's avatar
      kbuild: always create directories of targets · cc8a51ca
      Masahiro Yamada authored
      Currently, the directories of objects are automatically created
      only for O= builds.
      
      It should not hurt to cater to this for in-tree builds too.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      cc8a51ca
  5. 08 Aug, 2020 10 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 06a81c1c
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Fix tegra194-cpufreq module build failure caused by __cpu_logical_map
         not being exported.
      
       - Improve fixed_addresses comment regarding the fixmap buffer sizes.
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Fix __cpu_logical_map undefined issue
        arm64/fixmap: make notes of fixed_addresses more precisely
      06a81c1c
    • Kefeng Wang's avatar
      arm64: Fix __cpu_logical_map undefined issue · eaecca9e
      Kefeng Wang authored
      The __cpu_logical_map undefined issue occued when the new
      tegra194-cpufreq drvier building as a module.
      
      ERROR: modpost: "__cpu_logical_map" [drivers/cpufreq/tegra194-cpufreq.ko] undefined!
      
      The driver using cpu_logical_map() macro which will expand to
      __cpu_logical_map, we can't access it in a drvier. Let's turn
      cpu_logical_map() into a C wrapper and export it to fix the
      build issue.
      
      Also create a function set_cpu_logical_map(cpu, hwid) when assign
      a value to cpu_logical_map(cpu).
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      eaecca9e
    • Pingfan Liu's avatar
      arm64/fixmap: make notes of fixed_addresses more precisely · 489577d7
      Pingfan Liu authored
      These 'compile-time allocated' memory buffers can occupy more than one
      page and each enum increment is page-sized. So improve the note about it.
      Signed-off-by: default avatarPingfan Liu <kernelfans@gmail.com>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/1596460720-19243-1-git-send-email-kernelfans@gmail.com
      To: linux-arm-kernel@lists.infradead.org
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      489577d7
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.9-1' of git://github.com/cminyard/linux-ipmi · 11030fe9
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Minor cleanups to the IPMI driver for 5.9
      
        Nothing of any major consequence. Duplicate code, some missing \n's in
        sysfs files, some documentation and comment changes"
      
      * tag 'for-linus-5.9-1' of git://github.com/cminyard/linux-ipmi:
        ipmi/watchdog: add missing newlines when printing parameters by sysfs
        ipmi: remve duplicate code in __ipmi_bmc_register()
        ipmi: ssif: Remove finished TODO comment about SMBus alert
        Doc: driver-api: ipmi: Add description of alerts_broken module param
      11030fe9
    • Linus Torvalds's avatar
      Merge tag 'for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 449dc8c9
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Power-supply core:
         - add COOL/WARM/HOT state from JEITA JISC8712:2015 specification
         - convert simple-battery DT binding to YAML
         - add long-life charging mode
      
       Battery/charger drivers:
         - bq25150: new charger driver
         - bq27xxx: add support for BQ27z561 and BQ28z610
         - max17040: support CAPACITY_ALERT_MIN
         - sbs-battery: add PEC support
         - wilco-ec: support long-life charging mode
         - bq25890: fix DT binding
         - misc. fixes and cleanups
      
       Reset drivers:
         - linkstation: new reset driver"
      
      * tag 'for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (32 commits)
        power: supply: wilco_ec: Add long life charging mode
        power: supply: bq27xxx_battery: Add the BQ28z610 Battery monitor
        dt-bindings: power: Add BQ28z610 compatible
        power: supply: bq27xxx_battery: Add the BQ27Z561 Battery monitor
        dt-bindings: power: Add BQ27Z561 compatible
        power: supply: test_power: Fix battery_current initial value
        power: supply: Fix kerneldoc of power_supply_temp2resist_simple()
        power: supply: cpcap-battery: Fix kerneldoc of cpcap_battery_read_accumulated()
        dt-bindings: power: Convert battery.txt to battery.yaml
        power: supply: rt5033_battery: Fix error code in rt5033_battery_probe()
        power: supply: max17040: Add POWER_SUPPLY_PROP_CAPACITY_ALERT_MIN
        power: supply: check if calc_soc succeeded in pm860x_init_battery
        power: supply: bq2xxxx: Replace HTTP links with HTTPS ones
        power: reset: add driver for LinkStation power off
        power: supply: sc27xx: prevent adc * 1000 from overflow
        math64: New DIV_S64_ROUND_CLOSEST helper
        power: fix duplicated words in bq2415x_charger.h
        power: Convert to DEFINE_SHOW_ATTRIBUTE
        power: reset: keystone-reset: Replace HTTP links with HTTPS ones
        power: supply: bq25150 introduce the bq25150
        ...
      449dc8c9
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · b79675e1
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "No common topic whatsoever in those, sorry"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: define inode flags using bit numbers
        iov_iter: Move unnecessary inclusion of crypto/hash.h
        dlmfs: clean up dlmfs_file_{read,write}() a bit
      b79675e1
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d57b2b5b
      Linus Torvalds authored
      Pull mount leak fix from Al Viro:
       "Regression fix for the syscalls-for-init series - fix a leak of a 'struct path'"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: fix a struct path leak in path_umount
      d57b2b5b
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 049eb096
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration:
         - Fix pci_cfg_wait queue locking problem (Bjorn Helgaas)
         - Convert PCIe capability PCIBIOS errors to errno (Bolarinwa Olayemi
           Saheed)
         - Align PCIe capability and PCI accessor return values (Bolarinwa
           Olayemi Saheed)
         - Fix pci_create_slot() reference count leak (Qiushi Wu)
         - Announce device after early fixups (Tiezhu Yang)
      
        PCI device hotplug:
         - Make rpadlpar functions static (Wei Yongjun)
      
        Driver binding:
         - Add device even if driver attach failed (Rajat Jain)
      
        Virtualization:
         - xen: Remove redundant initialization of irq (Colin Ian King)
      
        IOMMU:
         - Add pci_pri_supported() to check device or associated PF (Ashok Raj)
         - Release IVRS table in AMD ACS quirk (Hanjun Guo)
         - Mark AMD Navi10 GPU rev 0x00 ATS as broken (Kai-Heng Feng)
         - Treat "external-facing" devices themselves as internal (Rajat Jain)
      
        MSI:
         - Forward MSI-X error code in pci_alloc_irq_vectors_affinity() (Piotr
           Stankiewicz)
      
        Error handling:
         - Clear PCIe Device Status errors only if OS owns AER (Jonathan
           Cameron)
         - Log correctable errors as warning, not error (Matt Jolly)
         - Use 'pci_channel_state_t' instead of 'enum pci_channel_state' (Luc
           Van Oostenryck)
      
        Peer-to-peer DMA:
         - Allow P2PDMA on AMD Zen and newer CPUs (Logan Gunthorpe)
      
        ASPM:
         - Add missing newline in sysfs 'policy' (Xiongfeng Wang)
      
        Native PCIe controllers:
         - Convert to devm_platform_ioremap_resource_byname() (Dejin Zheng)
         - Convert to devm_platform_ioremap_resource() (Dejin Zheng)
         - Remove duplicate error message from devm_pci_remap_cfg_resource()
           callers (Dejin Zheng)
         - Fix runtime PM imbalance on error (Dinghao Liu)
         - Remove dev_err() when handing an error from platform_get_irq()
           (Krzysztof Wilczyński)
         - Use pci_host_bridge.windows list directly instead of splicing in a
           temporary list for cadence, mvebu, host-common (Rob Herring)
         - Use pci_host_probe() instead of open-coding all the pieces for
           altera, brcmstb, iproc, mobiveil, rcar, rockchip, tegra, v3,
           versatile, xgene, xilinx, xilinx-nwl (Rob Herring)
         - Default host bridge parent device to the platform device (Rob
           Herring)
         - Use pci_is_root_bus() instead of tracking root bus number
           separately in aardvark, designware (imx6, keystone,
           designware-host), mobiveil, xilinx-nwl, xilinx, rockchip, rcar (Rob
           Herring)
         - Set host bridge bus number in pci_scan_root_bus_bridge() instead of
           each driver for aardvark, designware-host, host-common, mediatek,
           rcar, tegra, v3-semi (Rob Herring)
         - Move DT resource setup into devm_pci_alloc_host_bridge() (Rob
           Herring)
         - Set bridge map_irq and swizzle_irq to default functions; drivers
           that don't support legacy IRQs (iproc) need to undo this (Rob
           Herring)
      
        ARM Versatile PCIe controller driver:
         - Drop flag PCI_ENABLE_PROC_DOMAINS (Rob Herring)
      
        Cadence PCIe controller driver:
         - Use "dma-ranges" instead of "cdns,no-bar-match-nbits" property
           (Kishon Vijay Abraham I)
         - Remove "mem" from reg binding (Kishon Vijay Abraham I)
         - Fix cdns_pcie_{host|ep}_setup() error path (Kishon Vijay Abraham I)
         - Convert all r/w accessors to perform only 32-bit accesses (Kishon
           Vijay Abraham I)
         - Add support to start link and verify link status (Kishon Vijay
           Abraham I)
         - Allow pci_host_bridge to have custom pci_ops (Kishon Vijay Abraham I)
         - Add new *ops* for CPU addr fixup (Kishon Vijay Abraham I)
         - Fix updating Vendor ID and Subsystem Vendor ID register (Kishon
           Vijay Abraham I)
         - Use bridge resources for outbound window setup (Rob Herring)
         - Remove private bus number and range storage (Rob Herring)
      
        Cadence PCIe endpoint driver:
         - Add MSI-X support (Alan Douglas)
      
        HiSilicon PCIe controller driver:
         - Remove non-ECAM HiSilicon hip05/hip06 driver (Rob Herring)
      
        Intel VMD host bridge driver:
         - Use Shadow MEMBAR registers for QEMU/KVM guests (Jon Derrick)
      
        Loongson PCIe controller driver:
         - Use DECLARE_PCI_FIXUP_EARLY for bridge_class_quirk() (Tiezhu Yang)
      
        Marvell Aardvark PCIe controller driver:
         - Indicate error in 'val' when config read fails (Pali Rohár)
         - Don't touch PCIe registers if no card connected (Pali Rohár)
      
        Marvell MVEBU PCIe controller driver:
         - Setup BAR0 in order to fix MSI (Shmuel Hazan)
      
        Microsoft Hyper-V host bridge driver:
         - Fix a timing issue which causes kdump to fail occasionally (Wei Hu)
         - Make some functions static (Wei Yongjun)
      
        NVIDIA Tegra PCIe controller driver:
         - Revert tegra124 raw_violation_fixup (Nicolas Chauvet)
         - Remove PLL power supplies (Thierry Reding)
      
        Qualcomm PCIe controller driver:
         - Change duplicate PCI reset to phy reset (Abhishek Sahu)
         - Add missing ipq806x clocks in PCIe driver (Ansuel Smith)
         - Add missing reset for ipq806x (Ansuel Smith)
         - Add ext reset (Ansuel Smith)
         - Use bulk clk API and assert on error (Ansuel Smith)
         - Add support for tx term offset for rev 2.1.0 (Ansuel Smith)
         - Define some PARF params needed for ipq8064 SoC (Ansuel Smith)
         - Add ipq8064 rev2 variant (Ansuel Smith)
         - Support PCI speed set for ipq806x (Sham Muthayyan)
      
        Renesas R-Car PCIe controller driver:
         - Use devm_pci_alloc_host_bridge() (Rob Herring)
         - Use struct pci_host_bridge.windows list directly (Rob Herring)
         - Convert rcar-gen2 to use modern host bridge probe functions (Rob
           Herring)
      
        TI J721E PCIe driver:
         - Add TI J721E PCIe host and endpoint driver (Kishon Vijay Abraham I)
      
        Xilinx Versal CPM PCIe controller driver:
         - Add Versal CPM Root Port driver and YAML schema (Bharat Kumar
           Gogada)
      
        MicroSemi Switchtec management driver:
         - Add missing __iomem and __user tags to fix sparse warnings (Logan
           Gunthorpe)
      
        Miscellaneous:
         - Replace http:// links with https:// (Alexander A. Klimov)
         - Replace lkml.org, spinics, gmane with lore.kernel.org (Bjorn
           Helgaas)
         - Remove unused pci_lost_interrupt() (Heiner Kallweit)
         - Move PCI_VENDOR_ID_REDHAT definition to pci_ids.h (Huacai Chen)
         - Fix kerneldoc warnings (Krzysztof Kozlowski)"
      
      * tag 'pci-v5.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (113 commits)
        PCI: Fix kerneldoc warnings
        PCI: xilinx-cpm: Add Versal CPM Root Port driver
        PCI: xilinx-cpm: Add YAML schemas for Versal CPM Root Port
        PCI: Set bridge map_irq and swizzle_irq to default functions
        PCI: Move DT resource setup into devm_pci_alloc_host_bridge()
        PCI: rcar-gen2: Convert to use modern host bridge probe functions
        PCI: Remove dev_err() when handing an error from platform_get_irq()
        MAINTAINERS: Add Kishon Vijay Abraham I for TI J721E SoC PCIe
        misc: pci_endpoint_test: Add J721E in pci_device_id table
        PCI: j721e: Add TI J721E PCIe driver
        PCI: switchtec: Add missing __iomem tag to fix sparse warnings
        PCI: switchtec: Add missing __iomem and __user tags to fix sparse warnings
        PCI: rpadlpar: Make functions static
        PCI/P2PDMA: Allow P2PDMA on AMD Zen and newer CPUs
        PCI: Release IVRS table in AMD ACS quirk
        PCI: Announce device after early fixups
        PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken
        PCI: Remove unused pci_lost_interrupt()
        dt-bindings: PCI: Add EP mode dt-bindings for TI's J721E SoC
        dt-bindings: PCI: Add host mode dt-bindings for TI's J721E SoC
        ...
      049eb096
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 32663c78
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - The biggest news in that the tracing ring buffer can now time events
         that interrupted other ring buffer events.
      
         Before this change, if an interrupt came in while recording another
         event, and that interrupt also had an event, those events would all
         have the same time stamp as the event it interrupted.
      
         Now, with the new design, those events will have a unique time stamp
         and rightfully display the time for those events that were recorded
         while interrupting another event.
      
       - Bootconfig how has an "override" operator that lets the users have a
         default config, but then add options to override the default.
      
       - A fix was made to properly filter function graph tracing to the
         ftrace PIDs. This came in at the end of the -rc cycle, and needs to
         be backported.
      
       - Several clean ups, performance updates, and minor fixes as well.
      
      * tag 'trace-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (39 commits)
        tracing: Add trace_array_init_printk() to initialize instance trace_printk() buffers
        kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE
        tracing: Use trace_sched_process_free() instead of exit() for pid tracing
        bootconfig: Fix to find the initargs correctly
        Documentation: bootconfig: Add bootconfig override operator
        tools/bootconfig: Add testcases for value override operator
        lib/bootconfig: Add override operator support
        kprobes: Remove show_registers() function prototype
        tracing/uprobe: Remove dead code in trace_uprobe_register()
        kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler
        ftrace: Fix ftrace_trace_task return value
        tracepoint: Use __used attribute definitions from compiler_attributes.h
        tracepoint: Mark __tracepoint_string's __used
        trace : Have tracing buffer info use kvzalloc instead of kzalloc
        tracing: Remove outdated comment in stack handling
        ftrace: Do not let direct or IPMODIFY ftrace_ops be added to module and set trampolines
        ftrace: Setup correct FTRACE_FL_REGS flags for module
        tracing/hwlat: Honor the tracing_cpumask
        tracing/hwlat: Drop the duplicate assignment in start_kthread()
        tracing: Save one trace_event->type by using __TRACE_LAST_TYPE
        ...
      32663c78
    • Michael Ellerman's avatar
      powerpc/ptrace: Fix build error in pkey_get() · 7b9de977
      Michael Ellerman authored
      The merge resolution in commit 25d8d4ee left ret no longer used,
      leading to:
      
        arch/powerpc/kernel/ptrace/ptrace-view.c: In function ‘pkey_get’:
        arch/powerpc/kernel/ptrace/ptrace-view.c:473:6: error: unused variable ‘ret’
          473 |  int ret;
      
      Fix it by removing ret.
      
      Fixes: 25d8d4ee ("Merge tag 'powerpc-5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux")
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7b9de977
  6. 07 Aug, 2020 8 commits
    • Christoph Hellwig's avatar
      fs: fix a struct path leak in path_umount · 25ccd24f
      Christoph Hellwig authored
      Make sure we also put the dentry and vfsmnt in the illegal flags
      and !may_umount cases.
      
      Fixes: 41525f56 ("fs: refactor ksys_umount")
      Reported-by: default avatarVikas Kumar <vikas.kumar2@arm.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      25ccd24f
    • Steven Rostedt (VMware)'s avatar
      tracing: Add trace_array_init_printk() to initialize instance trace_printk() buffers · 38ce2a9e
      Steven Rostedt (VMware) authored
      As trace_array_printk() used with not global instances will not add noise to
      the main buffer, they are OK to have in the kernel (unlike trace_printk()).
      This require the subsystem to create their own tracing instance, and the
      trace_array_printk() only writes into those instances.
      
      Add trace_array_init_printk() to initialize the trace_printk() buffers
      without printing out the WARNING message.
      Reported-by: default avatarSean Paul <sean@poorly.run>
      Reviewed-by: default avatarSean Paul <sean@poorly.run>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      38ce2a9e
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 30185b69
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "It looks like a smaller batch of clk updates this time around.
      
        In the core framework we just have some minor tweaks and a debugfs
        feature, so not much to see there. The driver updates are fairly well
        split between AT91 and Qualcomm clk support. Adding those two drivers
        together equals about 50% of the diffstat.
      
        Otherwise, the big amount of work this time was on supporting
        Broadcom's Raspberry Pi firmware clks.
      
        Highlights:
      
        Core:
         - Document clk_hw_round_rate() so it gets some more use
         - Remove unused __clk_get_flags()
         - Add a prepare/enable debugfs feature similar to rate setting
      
        New Drivers:
         - Add support for SAMA7G5 SoC clks
         - Enable CPU clks on Qualcomm IPQ6018 SoCs
         - Enable CPU clks on Qualcomm MSM8996 SoCs
         - GPU clk support for Qualcomm SM8150 and SM8250 SoCs
         - Audio clks on Qualcomm SC7180 SoCs
         - Microchip Sparx5 DPLL clk
         - Add support for the new Renesas RZ/G2H (R8A774E1) SoC
      
        Updates:
         - Make defines for bcm63xx-gate clks to use in DT
         - Support BCM2711 SoC firmware clks
         - Add HDMI clks for BCM2711 SoCs
         - Add RTC related clks on Ingenic SoCs
         - Support USB PHY clks on Ingenic SoCs
         - Support gate clks on BCM6318 SoCs
         - RMU and DMAC/GPIO clock support for Actions Semi S500 SoCs
         - Use poll_timeout functions in Rockchip clk driver
         - Support Rockchip rk3288w SoC variant
         - Mark mac_lbtest critical on Rockchip rk3188
         - Add CAAM clock support for i.MX vf610 driver
         - Add MU root clock support for i.MX imx8mp driver
         - Amlogic g12: add neural network accelerator clock sources
         - Amlogic meson8: remove critical flag for main PLL divider
         - Amlogic meson8: add video decoder clock gates
         - Convert one more Renesas DT binding to json-schema
         - Enhance critical clock handling on Renesas platforms to only
           consider clocks that were enabled at boot time"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (79 commits)
        clk: qcom: gcc: Make disp gpll0 branch aon for sc7180/sdm845
        ipq806x: gcc: add support for child probe
        clk: qcom: msm8996: Make symbol 'cpu_msm8996_clks' static
        clk: qcom: ipq8074: Add correct index for PCIe clocks
        clk: <linux/clk-provider.h>: drop a duplicated word
        clk: renesas: cpg-mssr: Add r8a774e1 support
        dt-bindings: clock: renesas,cpg-mssr: Document r8a774e1
        clk: Drop duplicate selection in Kconfig
        clk: qcom: smd: Add support for MSM8992/4 rpm clocks
        clk: qcom: ipq8074: Add missing clocks for pcie
        dt-bindings: clock: qcom: ipq8074: Add missing bindings for PCIe
        Replace HTTP links with HTTPS ones: Common CLK framework
        clk: qcom: Add CPU clock driver for msm8996
        dt-bindings: clk: qcom: Add bindings for CPU clock for msm8996
        soc: qcom: Separate kryo l2 accessors from PMU driver
        clk: meson: meson8b: add the vclk2_en gate clock
        clk: meson: meson8b: add the vclk_en gate clock
        clk: qcom: Fix return value check in apss_ipq6018_probe()
        clk: bcm: dvp: Add missing module informations
        clk: meson: meson8b: Drop CLK_IS_CRITICAL from fclk_div2
        ...
      30185b69
    • Linus Torvalds's avatar
      Merge branch 'work.fdpic' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0f43283b
      Linus Torvalds authored
      Pull fdpick coredump update from Al Viro:
       "Switches fdpic coredumps away from original aout dumping primitives to
        the same kind of regset use as regular elf coredumps do"
      
      * 'work.fdpic' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        [elf-fdpic] switch coredump to regsets
        [elf-fdpic] use elf_dump_thread_status() for the dumper thread as well
        [elf-fdpic] move allocation of elf_thread_status into elf_dump_thread_status()
        [elf-fdpic] coredump: don't bother with cyclic list for per-thread objects
        kill elf_fpxregs_t
        take fdpic-related parts of elf_prstatus out
        unexport linux/elfcore.h
      0f43283b
    • Linus Torvalds's avatar
      Merge tag 'kallsyms_show_value-fix-v5.9-rc1' of... · 6ba0d2e4
      Linus Torvalds authored
      Merge tag 'kallsyms_show_value-fix-v5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
      
      Pull sysfs module section fix from Kees Cook:
       "Fix sysfs module section output overflow.
      
        About a month after my kallsyms_show_value() refactoring landed, 0day
        noticed that there was a path through the kernfs binattr read handlers
        that did not have PAGE_SIZEd buffers, and the module "sections" read
        handler made a bad assumption about this, resulting in it stomping on
        memory when reached through small-sized splice() calls.
      
        I've added a set of tests to find these kinds of regressions more
        quickly in the future as well"
      Sefltests-acked-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      
      * tag 'kallsyms_show_value-fix-v5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        selftests: splice: Check behavior of full and short splices
        module: Correctly truncate sysfs sections output
      6ba0d2e4
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v5.9-rc1-fix1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 1fa2c0a0
      Linus Torvalds authored
      Pull seccomp fix from Kees Cook:
       "This fixes my typo in the SCM_RIGHTS refactoring that broke compat
        handling.
      
        Thanks to Thadeu Lima de Souza Cascardo for tracking it down, and to
        Christian Zigotzky and Alex Xu for their reports"
      
      * tag 'seccomp-v5.9-rc1-fix1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        net/scm: Fix typo in SCM_RIGHTS compat refactoring
      1fa2c0a0
    • Linus Torvalds's avatar
      Merge tag 'pm-5.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f6235eb1
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These are mostly ARM cpufreq driver updates plus a cpufreq core
        cleanup, an ARM-wide change to make schedutil the default scaling
        governor, an intel_pstate driver fix and some runtime PM changes
        regarding kerneldoc comments.
      
        Specifics:
      
         - Add adaptive voltage scaling (AVS) support to the brcmstb cpufreq
           driver and clean it up (Florian Fainelli, Markus Mayer).
      
         - Add a new Tegra cpufreq driver and clean up the existing one (Jon
           Hunter, Sumit Gupta).
      
         - Add bandwidth level support to the Qcom cpufreq driver along with
           OPP changes (Sibi Sankar).
      
         - Clean up the sti, cpufreq-dt, ap806, CPPC cpufreq drivers (Viresh
           Kumar, Lee Jones, Ivan Kokshaysky, Sven Auhagen, Xin Hao).
      
         - Make schedutil the default governor for ARM (Valentin Schneider).
      
         - Fix dependency issues for the imx cpufreq driver (Walter Lozano).
      
         - Clean up cached_resolved_idx handlihng in the cpufreq core (Viresh
           Kumar).
      
         - Fix the intel_pstate driver to use the correct maximum frequency
           value when MSR_TURBO_RATIO_LIMIT is 0 (Srinivas Pandruvada).
      
         - Provide kenrneldoc comments for multiple runtime PM helpers and
           improve the pm_runtime_get_if_active() kerneldoc (Rafael Wysocki)"
      
      * tag 'pm-5.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (22 commits)
        cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
        PM: runtime: Improve kerneldoc of pm_runtime_get_if_active()
        PM: runtime: Add kerneldoc comments to multiple helpers
        cpufreq: make schedutil the default for arm and arm64
        cpufreq: cached_resolved_idx can not be negative
        cpufreq: Add Tegra194 cpufreq driver
        dt-bindings: arm: Add NVIDIA Tegra194 CPU Complex binding
        cpufreq: imx: Select NVMEM_IMX_OCOTP
        cpufreq: sti-cpufreq: Fix some formatting and misspelling issues
        cpufreq: tegra186: Simplify probe return path
        cpufreq: CPPC: Reuse caps variable in few routines
        cpufreq: ap806: fix cpufreq driver needs ap cpu clk
        cpufreq: cppc: Reorder code and remove apply_hisi_workaround variable
        cpufreq: dt: fix oops on armada37xx
        cpufreq: brcmstb-avs-cpufreq: send S2_ENTER / S2_EXIT commands to AVS
        cpufreq: brcmstb-avs-cpufreq: Support polling AVS firmware
        cpufreq: brcmstb-avs-cpufreq: more flexible interface for __issue_avs_command()
        cpufreq: qcom: Disable fast switch when scaling DDR/L3
        cpufreq: qcom: Update the bandwidth levels on frequency change
        OPP: Add and export helper to set bandwidth
        ...
      f6235eb1
    • Linus Torvalds's avatar
      Merge tag 'for-5.9/dm-changes' of... · 2f12d440
      Linus Torvalds authored
      Merge tag 'for-5.9/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - DM multipath locking fixes around m->flags tests and improvements to
         bio-based code so that it follows patterns established by
         request-based code.
      
       - Request-based DM core improvement to eliminate unnecessary call to
         blk_mq_queue_stopped().
      
       - Add "panic_on_corruption" error handling mode to DM verity target.
      
       - DM bufio fix to to perform buffer cleanup from a workqueue rather
         than wait for IO in reclaim context from shrinker.
      
       - DM crypt improvement to optionally avoid async processing via
         workqueues for reads and/or writes -- via "no_read_workqueue" and
         "no_write_workqueue" features. This more direct IO processing
         improves latency and throughput with faster storage. Avoiding
         workqueue IO submission for writes (DM_CRYPT_NO_WRITE_WORKQUEUE) is a
         requirement for adding zoned block device support to DM crypt.
      
       - Add zoned block device support to DM crypt. Makes use of
         DM_CRYPT_NO_WRITE_WORKQUEUE and a new optional feature
         (DM_CRYPT_WRITE_INLINE) that allows write completion to wait for
         encryption to complete. This allows write ordering to be preserved,
         which is needed for zoned block devices.
      
       - Fix DM ebs target's check for REQ_OP_FLUSH.
      
       - Fix DM core's report zones support to not report more zones than were
         requested.
      
       - A few small compiler warning fixes.
      
       - DM dust improvements to return output directly to the user rather
         than require they scrape the system log for output.
      
      * tag 'for-5.9/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: don't call report zones for more than the user requested
        dm ebs: Fix incorrect checking for REQ_OP_FLUSH
        dm init: Set file local variable static
        dm ioctl: Fix compilation warning
        dm raid: Remove empty if statement
        dm verity: Fix compilation warning
        dm crypt: Enable zoned block device support
        dm crypt: add flags to optionally bypass kcryptd workqueues
        dm bufio: do buffer cleanup from a workqueue
        dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
        dm dust: add interface to list all badblocks
        dm dust: report some message results directly back to user
        dm verity: add "panic_on_corruption" error handling mode
        dm mpath: use double checked locking in fast path
        dm mpath: rename current_pgpath to pgpath in multipath_prepare_ioctl
        dm mpath: rework __map_bio()
        dm mpath: factor out multipath_queue_bio
        dm mpath: push locking down to must_push_back_rq()
        dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATH
        dm mpath: changes from initial m->flags locking audit
      2f12d440