1. Jan 11, 2022
    • Linus Torvalds's avatar
      Merge tag 'dt-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · aca48b2d
      Linus Torvalds authored
      Pull ARM SoC devicetree updates from Arnd Bergmann:
       "As usual, this is the bulk of the updates for the SoC tree, adding
        more devices to existing files, addressing issues from ever improving
        automated checking, and fixing minor issues.
      
        The most interesting bits as usual are the new platforms. All the
        newly supported SoCs belong into existing families this time:
      
         - Qualcomm gets support for two newly announced platforms, both of
           which can now work in production environments: the SDX65 5G modem
           that can run a minimal Linux on its Cortex-A7 core, and the
           Snapdragon 8 Gen 1, their latest high-end phone SoC.
      
         - Renesas adds support for R-Car S4-8, the most recent automotive
           Server/Communication SoC.
      
         - TI adds support for J721s2, a new automotive SoC in the K3 family.
      
         - Mediatek MT7986a/b is a SoC used in Wifi routers, the latest
           generation following their popular MT76xx series. Only basic
           support is added for now.
      
         - NXP i.MX8 ULP8 is a new low-power variant of the widespread i.MX8
           series.
      
         - TI SPEAr320s is a minor variant of the old SPEAr320 SoC that we
           have supported for a long time.
      
        New boards with the existing SoCs include
      
         - Aspeed AST2500/AST2600 BMCs in TYAN, Facebook and Yadro servers
      
         - AT91/SAMA5 based evaluation board
      
         - NXP gains twenty new development and industrial boards for their
           i.MX and Layerscape SoCs
      
         - Intel IXP4xx now supports the final two machines in device tree
           that were previously only supported in old style board files.
      
         - Mediatek MT6589 is used in the Fairphone FP1 phone from 2013, while
           MT8183 is used in the Acer Chromebook 314.
      
         - Qualcomm gains support for the reference machines using the two new
           SoCs, plus a number of Chromebook variants and phones based on the
           Snapdragon 7c, 845 and 888 SoCs, including various Sony Xperia
           devices and the Microsoft Surface Duo 2.
      
         - ST STM32 now supports the Engicam i.Core STM32MP1 carrier board.
      
         - Tegra now boots various older Android devices based on 32-bit chips
           out of the box, including a number of ASUS Transformer tablets.
      
           There is also a new Jetson AGX Orin developer kit.
      
         - Apple support adds the missing device trees for all the remaining
           M1 Macbook and iMac variants, though not yet the M1 Pro/Max
           versions.
      
         - Allwinner now supports another version of the Tanix TX6 set-top box
           based on the H6 SoC.
      
         - Broadcom gains support for the Netgear RAXE500 Wireless router
           based on BCM4908"
      
      * tag 'dt-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (574 commits)
        Revert "ARM: dts: BCM5301X: define RTL8365MB switch on Asus RT-AC88U"
        arm64: dts: qcom: sm6125: Avoid using missing SM6125_VDDCX
        arm64: dts: qcom: sm8450-qrd: Enable USB nodes
        arm64: dts: qcom: sm8450: Add usb nodes
        ARM: dts: aspeed: add LCLK setting into LPC KCS nodes
        dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property
        ARM: dts: aspeed: add LCLK setting into LPC IBT node
        ARM: dts: aspeed: p10: Add TPM device
        ARM: dts: aspeed: p10: Enable USB host ports
        ARM: dts: aspeed: Add TYAN S8036 BMC machine
        ARM: dts: aspeed: tyan-s7106: Add uart_routing and fix vuart config
        ARM: dts: aspeed: Adding Facebook Bletchley BMC
        ARM: dts: aspeed: g220a: Enable secondary flash
        ARM: dts: Add openbmc-flash-layout-64-alt.dtsi
        ARM: dts: aspeed: Add secure boot controller node
        dt-bindings: aspeed: Add Secure Boot Controller bindings
        ARM: dts: Remove "spidev" nodes
        dt-bindings: pinctrl: samsung: Add pin drive definitions for Exynos850
        dt-bindings: arm: samsung: Document E850-96 board binding
        dt-bindings: Add vendor prefix for WinLink
        ...
      aca48b2d
    • Linus Torvalds's avatar
      Merge tag 'drivers-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · e85195d5
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "There are cleanups and minor bugfixes across several SoC specific
        drivers, for Qualcomm, Samsung, NXP i.MX, AT91, Tegra, Keystone,
        Renesas, ZynqMP
      
        Noteworthy new features are:
      
         - The op-tee firmware driver gains support for asynchronous
           notifications from secure-world firmware.
      
         - Qualcomm platforms gain support for new SoC types in various
           drivers: power domain, cache controller, RPM sleep, soc-info
      
         - Samsung SoC drivers gain support for new SoCs in ChipID and PMU, as
           well as a new USIv2 driver that handles various types of serial
           communiction (uart, i2c, spi)
      
         - Renesas adds support for R-Car S4-8 (R8A779F0) in multiple drivers,
           as well as memory controller support for RZ/G2L (R9A07G044).
      
         - Apple M1 gains support for the PMGR power management driver"
      
      * tag 'drivers-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (94 commits)
        soc: qcom: rpmh-rsc: Fix typo in a comment
        soc: qcom: socinfo: Add SM6350 and SM7225
        dt-bindings: arm: msm: Don't mark LLCC interrupt as required
        dt-bindings: firmware: scm: Add SM6350 compatible
        dt-bindings: arm: msm: Add LLCC for SM6350
        soc: qcom: rpmhpd: Sort power-domain definitions and lists
        soc: qcom: rpmhpd: Remove mx/cx relationship on sc7280
        soc: qcom: rpmhpd: Rename rpmhpd struct names
        soc: qcom: rpmhpd: sm8450: Add the missing .peer for sm8450_cx_ao
        soc: qcom: socinfo: add SM8450 ID
        soc: qcom: rpmhpd: Add SM8450 power domains
        dt-bindings: power: rpmpd: Add SM8450 to rpmpd binding
        soc: qcom: smem: Update max processor count
        dt-bindings: arm: qcom: Document SM8450 SoC and boards
        dt-bindings: firmware: scm: Add SM8450 compatible
        dt-bindings: arm: cpus: Add kryo780 compatible
        soc: qcom: rpmpd: Add support for sm6125
        dt-bindings: qcom-rpmpd: Add sm6125 power domains
        soc: qcom: aoss: constify static struct thermal_cooling_device_ops
        PM: AVS: qcom-cpr: Use div64_ul instead of do_div
        ...
      e85195d5
    • Linus Torvalds's avatar
      Merge tag 'defconfig-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 0dca3c5e
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "These are the usual changes to enable newly added driver by default,
        and to do some housekeeping around changing Kconfig symbols"
      
      * tag 'defconfig-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm64: defconfig: Enable Samsung I2C driver
        ARM: configs: at91: Enable crypto software implementations
        ARM: configs: at91: sama7: Enable SPI NOR and QSPI controller
        ARM: config: multi v7: Enable NVIDIA Tegra20 APB DMA driver
        ARM: config: multi v7: Enable NVIDIA Tegra20 S/PDIF driver
        ARM: tegra_defconfig: Enable S/PDIF driver
        ARM: imx_v6_v7_defconfig: Enable for DHCOM devices required RTC_DRV_RV3029C2
        ARM: config: multi v7: Enable display drivers used by Tegra devices
        ARM: tegra_defconfig: Enable drivers wanted by Acer Chromebooks and ASUS tablets
        ARM: configs: gemini: Activate crypto driver
        arm64: defconfig: enable drivers for booting i.MX8ULP
        arm64: defconfig: Enable R-Car S4-8
        arm64: defconfig: enable drivers for TQ TQMa8MxML-MBa8Mx
        arm64: defconfig: Enable OV5640
        arm64: defconfig: Enable VIDEO_IMX_MEDIA
      0dca3c5e
    • Linus Torvalds's avatar
      Merge tag 'soc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 1135ec00
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "These are all minor bug fixes and cleanups to code in arch/arm and
        arch/arm64 that is specific to one SoC, updating Kconfig symbols, the
        MAINTAINERS file, and removing some dead code"
      
      * tag 'soc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm64: exynos: Enable Exynos Multi-Core Timer driver
        ARM: ixp4xx: remove unused header file pata_ixp4xx_cf.h
        ARM: ixp4xx: remove dead configs CPU_IXP43X and CPU_IXP46X
        MAINTAINERS: Add Florian as BCM5301X and BCM53573 maintainer
        ARM: samsung: Remove HAVE_S3C2410_I2C and use direct dependencies
        ARM: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART
        ARM: imx: remove dead left-over from i.MX{27,31,35} removal
        ARM: s3c: add one more "fallthrough" statement in Jive
        ARM: s3c: include header for prototype of s3c2410_modify_misccr
        ARM: shmobile: rcar-gen2: Add missing of_node_put()
      1135ec00
  2. Jan 10, 2022
  3. Jan 09, 2022
  4. Jan 08, 2022
  5. Jan 07, 2022
  6. Jan 06, 2022
    • Chris Packham's avatar
      i2c: mpc: Avoid out of bounds memory access · 72a4a87d
      Chris Packham authored
      When performing an I2C transfer where the last message was a write KASAN
      would complain:
      
        BUG: KASAN: slab-out-of-bounds in mpc_i2c_do_action+0x154/0x630
        Read of size 2 at addr c814e310 by task swapper/2/0
      
        CPU: 2 PID: 0 Comm: swapper/2 Tainted: G    B             5.16.0-rc8 #1
        Call Trace:
        [e5ee9d50] [c08418e8] dump_stack_lvl+0x4c/0x6c (unreliable)
        [e5ee9d70] [c02f8a14] print_address_description.constprop.13+0x64/0x3b0
        [e5ee9da0] [c02f9030] kasan_report+0x1f0/0x204
        [e5ee9de0] [c0c76ee4] mpc_i2c_do_action+0x154/0x630
        [e5ee9e30] [c0c782c4] mpc_i2c_isr+0x164/0x240
        [e5ee9e60] [c00f3a04] __handle_irq_event_percpu+0xf4/0x3b0
        [e5ee9ec0] [c00f3d40] handle_irq_event_percpu+0x80/0x110
        [e5ee9f40] [c00f3e48] handle_irq_event+0x78/0xd0
        [e5ee9f60] [c00fcfec] handle_fasteoi_irq+0x19c/0x370
        [e5ee9fa0] [c00f1d84] generic_handle_irq+0x54/0x80
        [e5ee9fc0] [c0006b54] __do_irq+0x64/0x200
        [e5ee9ff0] [c0007958] __do_IRQ+0xe8/0x1c0
        [c812dd50] [e3eaab20] 0xe3eaab20
        [c812dd90] [c0007a4c] do_IRQ+0x1c/0x30
        [c812dda0] [c0000c04] ExternalInput+0x144/0x160
        --- interrupt: 500 at arch_cpu_idle+0x34/0x60
        NIP:  c000b684 LR: c000b684 CTR: c0019688
        REGS: c812ddb0 TRAP: 0500   Tainted: G    B              (5.16.0-rc8)
        MSR:  00029002 <CE,EE,ME>  CR: 22000488  XER: 20000000
      
        GPR00: c10ef7fc c812de90 c80ff200 c2394718 00000001 00000001 c10e3f90 00000003
        GPR08: 00000000 c0019688 c2394718 fc7d625b 22000484 00000000 21e17000 c208228c
        GPR16: e3e99284 00000000 ffffffff c2390000 c001bac0 c2082288 c812df60 c001ba60
        GPR24: c23949c0 00000018 00080000 00000004 c80ff200 00000002 c2348ee4 c2394718
        NIP [c000b684] arch_cpu_idle+0x34/0x60
        LR [c000b684] arch_cpu_idle+0x34/0x60
        --- interrupt: 500
        [c812de90] [c10e3f90] rcu_eqs_enter.isra.60+0xc0/0x110 (unreliable)
        [c812deb0] [c10ef7fc] default_idle_call+0xbc/0x230
        [c812dee0] [c00af0e8] do_idle+0x1c8/0x200
        [c812df10] [c00af3c0] cpu_startup_entry+0x20/0x30
        [c812df20] [c001e010] start_secondary+0x5d0/0xba0
        [c812dff0] [c00028a0] __secondary_start+0x90/0xdc
      
      This happened because we would overrun the i2c->msgs array on the final
      interrupt for the I2C STOP. This didn't happen if the last message was a
      read because there is no interrupt in that case. Ensure that we only
      access the current message if we are not processing a I2C STOP
      condition.
      
      Fixes: 1538d82f
      
       ("i2c: mpc: Interrupt driven transfer")
      Reported-by: default avatarMaxime Bizon <mbizon@freebox.fr>
      Signed-off-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      72a4a87d
    • Olof Johansson's avatar
      Merge tag 'socfpga_fix_for_v5.16_part_3' of... · 8922bb65
      Olof Johansson authored
      Merge tag 'socfpga_fix_for_v5.16_part_3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/fixes
      
      SoCFPGA dts updates for v5.16, part 3
      - Change the SoCFPGA compatible to "intel,socfpga-qspi"
      - Update dt-bindings document to include "intel,socfpga-qspi"
      
      * tag 'socfpga_fix_for_v5.16_part_3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: (361 commits)
        ARM: dts: socfpga: change qspi to "intel,socfpga-qspi"
        dt-bindings: spi: cadence-quadspi: document "intel,socfpga-qspi"
        Linux 5.16-rc7
        mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page()
        mm/damon/dbgfs: protect targets destructions with kdamond_lock
        mm/page_alloc: fix __alloc_size attribute for alloc_pages_exact_nid
        mm: delete unsafe BUG from page_cache_add_speculative()
        mm, hwpoison: fix condition in free hugetlb page path
        MAINTAINERS: mark more list instances as moderated
        kernel/crash_core: suppress unknown crashkernel parameter warning
        mm: mempolicy: fix THP allocations escaping mempolicy restrictions
        kfence: fix memory leak when cat kfence objects
        platform/x86: intel_pmc_core: fix memleak on registration failure
        net: stmmac: dwmac-visconti: Fix value of ETHER_CLK_SEL_FREQ_SEL_2P5M
        r8152: sync ocp base
        r8152: fix the force speed doesn't work for RTL8156
        net: bridge: fix ioctl old_deviceless bridge argument
        net: stmmac: ptp: fix potentially overflowing expression
        net: dsa: tag_ocelot: use traffic class to map priority on injected header
        veth: ensure skb entering GRO are not cloned.
        ...
      
      Link: https://lore.kernel.org/r/20211227103644.566694-1-dinguyen@kernel.org
      
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      8922bb65
    • Olof Johansson's avatar
      Merge tag 'reset-fixes-for-v5.16-2' of git://git.pengutronix.de/pza/linux into arm/fixes · fde9ec3c
      Olof Johansson authored
      Reset controller fixes for v5.16, part 2
      
      Fix pm_runtime_resume_and_get() error handling in the
      reset-rzg2l-usbphy-ctrl driver.
      
      * tag 'reset-fixes-for-v5.16-2' of git://git.pengutronix.de/pza/linux:
        reset: renesas: Fix Runtime PM usage
        reset: tegra-bpmp: Revert Handle errors in BPMP response
      
      Link: https://lore.kernel.org/r/20220105172515.273947-1-p.zabel@pengutronix.de
      
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      fde9ec3c
    • Naveen N. Rao's avatar
      tracing: Tag trace_percpu_buffer as a percpu pointer · f28439db
      Naveen N. Rao authored
      Tag trace_percpu_buffer as a percpu pointer to resolve warnings
      reported by sparse:
        /linux/kernel/trace/trace.c:3218:46: warning: incorrect type in initializer (different address spaces)
        /linux/kernel/trace/trace.c:3218:46:    expected void const [noderef] __percpu *__vpp_verify
        /linux/kernel/trace/trace.c:3218:46:    got struct trace_buffer_struct *
        /linux/kernel/trace/trace.c:3234:9: warning: incorrect type in initializer (different address spaces)
        /linux/kernel/trace/trace.c:3234:9:    expected void const [noderef] __percpu *__vpp_verify
        /linux/kernel/trace/trace.c:3234:9:    got int *
      
      Link: https://lkml.kernel.org/r/ebabd3f23101d89cb75671b68b6f819f5edc830b.1640255304.git.naveen.n.rao@linux.vnet.ibm.com
      
      
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Fixes: 07d777fe
      
       ("tracing: Add percpu buffers for trace_printk()")
      Signed-off-by: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      f28439db
    • Naveen N. Rao's avatar
      tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() · 823e670f
      Naveen N. Rao authored
      With the new osnoise tracer, we are seeing the below splat:
          Kernel attempted to read user page (c7d880000) - exploit attempt? (uid: 0)
          BUG: Unable to handle kernel data access on read at 0xc7d880000
          Faulting instruction address: 0xc0000000002ffa10
          Oops: Kernel access of bad area, sig: 11 [#1]
          LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries
          ...
          NIP [c0000000002ffa10] __trace_array_vprintk.part.0+0x70/0x2f0
          LR [c0000000002ff9fc] __trace_array_vprintk.part.0+0x5c/0x2f0
          Call Trace:
          [c0000008bdd73b80] [c0000000001c49cc] put_prev_task_fair+0x3c/0x60 (unreliable)
          [c0000008bdd73be0] [c000000000301430] trace_array_printk_buf+0x70/0x90
          [c0000008bdd73c00] [c0000000003178b0] trace_sched_switch_callback+0x250/0x290
          [c0000008bdd73c90] [c000000000e70d60] __schedule+0x410/0x710
          [c0000008bdd73d40] [c000000000e710c0] schedule+0x60/0x130
          [c0000008bdd73d70] [c000000000030614] interrupt_exit_user_prepare_main+0x264/0x270
          [c0000008bdd73de0] [c000000000030a70] syscall_exit_prepare+0x150/0x180
          [c0000008bdd73e10] [c00000000000c174] system_call_vectored_common+0xf4/0x278
      
      osnoise tracer on ppc64le is triggering osnoise_taint() for negative
      duration in get_int_safe_duration() called from
      trace_sched_switch_callback()->thread_exit().
      
      The problem though is that the check for a valid trace_percpu_buffer is
      incorrect in get_trace_buf(). The check is being done after calculating
      the pointer for the current cpu, rather than on the main percpu pointer.
      Fix the check to be against trace_percpu_buffer.
      
      Link: https://lkml.kernel.org/r/a920e4272e0b0635cf20c444707cbce1b2c8973d.1640255304.git.naveen.n.rao@linux.vnet.ibm.com
      
      Cc: stable@vger.kernel.org
      Fixes: e2ace001
      
       ("tracing: Choose static tp_printk buffer by explicit nesting count")
      Signed-off-by: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      823e670f
    • Jiri Olsa's avatar
      ftrace/samples: Add missing prototypes direct functions · 0daf5cb2
      Jiri Olsa authored
      There's another compilation fail (first here [1]) reported by kernel
      test robot for W=1 clang build:
      
        >> samples/ftrace/ftrace-direct-multi-modify.c:7:6: warning: no previous
        prototype for function 'my_direct_func1' [-Wmissing-prototypes]
           void my_direct_func1(unsigned long ip)
      
      Direct functions in ftrace direct sample modules need to have prototypes
      defined. They are already global in order to be visible for the inline
      assembly, so there's no problem.
      
      The kernel test robot reported just error for ftrace-direct-multi-modify,
      but I got same errors also for the rest of the modules touched by this patch.
      
      [1] 67d4f6e3 ftrace/samples: Add missing prototype for my_direct_func
      
      Link: https://lkml.kernel.org/r/20211219135317.212430-1-jolsa@kernel.org
      
      
      
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Fixes: e1067a07 ("ftrace/samples: Add module to test multi direct modify interface")
      Fixes: ae0cc3b7 ("ftrace/samples: Add a sample module that implements modify_ftrace_direct()")
      Fixes: 156473a0 ("ftrace: Add another example of register_ftrace_direct() use case")
      Fixes: b06457c8
      
       ("ftrace: Add sample module that uses register_ftrace_direct()")
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      0daf5cb2