1. 28 Mar, 2022 10 commits
    • Linus Torvalds's avatar
      Merge tag 'livepatching-for-5.18' of... · d111c9f0
      Linus Torvalds authored
      Merge tag 'livepatching-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching
      
      Pull livepatching updates from Petr Mladek:
      
       - Forced transitions block only to-be-removed livepatches [Chengming]
      
       - Detect when ftrace handler could not be disabled in self-tests [David]
      
       - Calm down warning from a static analyzer [Tom]
      
      * tag 'livepatching-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        livepatch: Reorder to use before freeing a pointer
        livepatch: Don't block removal of patches that are safe to unload
        livepatch: Skip livepatch tests if ftrace cannot be configured
      d111c9f0
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · a701f370
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - A bunch of minor cleanups
      
       - A fix for kexec in Xen dom0 when executed on a high cpu number
      
       - A fix for resuming after suspend of a Xen guest with assigned PCI
         devices
      
       - A fix for a crash due to not disabled preemption when resuming as Xen
         dom0
      
      * tag 'for-linus-5.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: fix is_xen_pmu()
        xen: don't hang when resuming PCI device
        arch:x86:xen: Remove unnecessary assignment in xen_apic_read()
        xen/grant-table: remove readonly parameter from functions
        xen/grant-table: remove gnttab_*transfer*() functions
        drivers/xen: use helper macro __ATTR_RW
        x86/xen: Fix kerneldoc warning
        xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32
        xen: use time_is_before_eq_jiffies() instead of open coding it
      a701f370
    • Linus Torvalds's avatar
      Merge tag 'tty-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 72030621
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here are the big set of tty and serial driver changes for 5.18-rc1.
      
        Nothing major, some more good cleanups from Jiri and 2 new serial
        drivers. Highlights include:
      
         - termbits cleanups
      
         - export symbol cleanups and other core cleanups from Jiri Slaby
      
         - new sunplus and mvebu uart drivers (amazing that people are still
           creating new uarts...)
      
         - samsung serial driver cleanups
      
         - ldisc 29 is now "reserved" for experimental/development line
           disciplines
      
         - lots of other tiny fixes and cleanups to serial drivers and
           bindings
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (104 commits)
        vt_ioctl: fix potential spectre v1 in VT_DISALLOCATE
        serial: 8250: fix XOFF/XON sending when DMA is used
        tty: serial: samsung: Add ARTPEC-8 support
        dt-bindings: serial: samsung: Add ARTPEC-8 UART
        serial: sc16is7xx: Clear RS485 bits in the shutdown
        tty: serial: samsung: simplify getting OF match data
        tty: serial: samsung: constify variables and pointers
        tty: serial: samsung: constify s3c24xx_serial_drv_data members
        tty: serial: samsung: constify UART name
        tty: serial: samsung: constify s3c24xx_serial_drv_data
        tty: serial: samsung: reduce number of casts
        tty: serial: samsung: embed s3c2410_uartcfg in parent structure
        tty: serial: samsung: embed s3c24xx_uart_info in parent structure
        serial: 8250_tegra: mark acpi_device_id as unused with !ACPI
        tty: serial: bcm63xx: use more precise Kconfig symbol
        serial: SERIAL_SUNPLUS should depend on ARCH_SUNPLUS
        tty: serial: jsm: fix two assignments in if conditions
        tty: serial: jsm: remove redundant assignments to variable linestatus
        serial: 8250_mtk: make two read-only arrays static const
        serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()
        ...
      72030621
    • Linus Torvalds's avatar
      Merge tag 'staging-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · dfdc1de6
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big set of staging driver updates for 5.18-rc1.
      
        Loads of tiny cleanups for almost all staging drivers in here, nothing
        major at all. Highlights include:
      
         - remove the ashmem Android driver. It is long-dead and if there are
           any legacy userspace applications still using it, the Android
           kernel images will maintain it, the community shouldn't care about
           it anymore
      
         - wfx wifi driver major cleanups. Should be ready to merge out of
           staging soon, and will coordinate with the wifi maintainers after
           -rc1 is out
      
         - major cleanups and unwinding of the layers of the r8188eu driver.
           It's amazing just how many unneeded layers of abstraction is in
           there, just when we think it's done, another is found...
      
         - lots of tiny coding style cleanups in many other staging drivers.
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'staging-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (455 commits)
        staging: r8188eu: remove unnecessary memset in r8188eu
        staging: greybus: introduce pwm_ops::apply
        staging: rts5208: Resolve checkpatch.pl issues.
        staging: sm750fb: fix naming style
        staging: fbtft: Consider type of init sequence values in fbtft_init_display()
        staging: fbtft: Constify buf parameter in fbtft_dbg_hex()
        staging: mmal-vchiq: clear redundant item named bulk_scratch
        mips: dts: ralink: add MT7621 SoC
        staging: r8188eu: remove some unused local ieee80211 macros
        staging: r8188eu: make rtl8188e_process_phy_info static
        staging: r8188eu: remove unused function prototype
        staging: r8188eu: remove three unused receive defines
        staging: r8188eu: remove unnecessary initializations
        staging: rtl8192e: Fix spelling mistake "RESQUEST" -> "REQUEST"
        MAINTAINERS: remove the obsolete file entry for staging in ANDROID DRIVERS
        staging: r8188eu: proper error handling in rtw_init_drv_sw
        staging: r8188eu: call _cancel_timer_ex from _rtw_free_recv_priv
        staging: vt6656: Removed unused variable vt3342_vnt_threshold
        staging: vt6656: Removed unused variable bb_vga_0
        staging: remove ashmem
        ...
      dfdc1de6
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.18-rc1' of... · 266d17a8
      Linus Torvalds authored
      Merge tag 'driver-core-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is the set of driver core changes for 5.18-rc1.
      
        Not much here, primarily it was a bunch of cleanups and small updates:
      
         - kobj_type cleanups for default_groups
      
         - documentation updates
      
         - firmware loader minor changes
      
         - component common helper added and take advantage of it in many
           drivers (the largest part of this pull request).
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'driver-core-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (54 commits)
        Documentation: update stable review cycle documentation
        drivers/base/dd.c : Remove the initial value of the global variable
        Documentation: update stable tree link
        Documentation: add link to stable release candidate tree
        devres: fix typos in comments
        Documentation: add note block surrounding security patch note
        samples/kobject: Use sysfs_emit instead of sprintf
        base: soc: Make soc_device_match() simpler and easier to read
        driver core: dd: fix return value of __setup handler
        driver core: Refactor sysfs and drv/bus remove hooks
        driver core: Refactor multiple copies of device cleanup
        scripts: get_abi.pl: Fix typo in help message
        kernfs: fix typos in comments
        kernfs: remove unneeded #if 0 guard
        ALSA: hda/realtek: Make use of the helper component_compare_dev_name
        video: omapfb: dss: Make use of the helper component_compare_dev
        power: supply: ab8500: Make use of the helper component_compare_dev
        ASoC: codecs: wcd938x: Make use of the helper component_compare/release_of
        iommu/mediatek: Make use of the helper component_compare/release_of
        drm: of: Make use of the helper component_release_of
        ...
      266d17a8
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 02e2af20
      Linus Torvalds authored
      Pull char/misc and other driver updates from Greg KH:
       "Here is the big set of char/misc and other small driver subsystem
        updates for 5.18-rc1.
      
        Included in here are merges from driver subsystems which contain:
      
         - iio driver updates and new drivers
      
         - fsi driver updates
      
         - fpga driver updates
      
         - habanalabs driver updates and support for new hardware
      
         - soundwire driver updates and new drivers
      
         - phy driver updates and new drivers
      
         - coresight driver updates
      
         - icc driver updates
      
        Individual changes include:
      
         - mei driver updates
      
         - interconnect driver updates
      
         - new PECI driver subsystem added
      
         - vmci driver updates
      
         - lots of tiny misc/char driver updates
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'char-misc-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (556 commits)
        firmware: google: Properly state IOMEM dependency
        kgdbts: fix return value of __setup handler
        firmware: sysfb: fix platform-device leak in error path
        firmware: stratix10-svc: add missing callback parameter on RSU
        arm64: dts: qcom: add non-secure domain property to fastrpc nodes
        misc: fastrpc: Add dma handle implementation
        misc: fastrpc: Add fdlist implementation
        misc: fastrpc: Add helper function to get list and page
        misc: fastrpc: Add support to secure memory map
        dt-bindings: misc: add fastrpc domain vmid property
        misc: fastrpc: check before loading process to the DSP
        misc: fastrpc: add secure domain support
        dt-bindings: misc: add property to support non-secure DSP
        misc: fastrpc: Add support to get DSP capabilities
        misc: fastrpc: add support for FASTRPC_IOCTL_MEM_MAP/UNMAP
        misc: fastrpc: separate fastrpc device from channel context
        dt-bindings: nvmem: brcm,nvram: add basic NVMEM cells
        dt-bindings: nvmem: make "reg" property optional
        nvmem: brcm_nvram: parse NVRAM content into NVMEM cells
        nvmem: dt-bindings: Fix the error of dt-bindings check
        ...
      02e2af20
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · ff61bc81
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "No core changes this time. Just new driver code and improvements!
      
        New drivers:
      
         - New driver for the Broadcom BCM4908 SoC.
      
         - New subdriver for Tesla FSD (Full Self Driving) SoC, a derivative
           of the Samsung Exynos pin control driver.
      
         - New driver for the Amlogic Meson S4 SoC.
      
         - New driver for the Sunplus SP7021 SoC.
      
         - New driver for the Microsemi Ocelot family ServalT SoC.
      
         - New subdriver for Intel Alder Lake-M SoC.
      
         - New subdriver for Intel Ice Lake-N SoC, including PCH support.
      
         - New subdriver for Renesas R8A779F0 SoC.
      
         - New subdriver for Mediatek MT8186 SoC.
      
         - New subdriver for NXP Freescale i.MX93 SoC.
      
         - New driver for Nuvoton WPCM450 SoC.
      
         - New driver for Qualcomm SC8280XP SoC.
      
        Improvements:
      
         - Wakeup support on Samsung Exynos850 and ExynosAutov9.
      
         - Serious and voluminous maintenance cleanup and refactoring in the
           Renesas drivers. Mainly sharing similar data between the different
           SoC subdrivers.
      
         - Qualcomm SM8450 EGPIO support.
      
         - Drive strength support on the Mediatek MT8195.
      
         - Add some missing groups and functions to the Ralink RT2880"
      
      * tag 'pinctrl-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (188 commits)
        pinctrl: mediatek: common-v1: fix semicolon.cocci warnings
        pinctrl: nuvoton: wpcm450: Fix build error without OF
        pinctrl: qcom-pmic-gpio: Add support for pm8450
        dt-bindings: pinctrl: aspeed: Update gfx node in example
        dt-bindings: pinctrl: rt2880: add missing pin groups and functions
        pinctrl: ingenic: Fix regmap on X series SoCs
        pinctrl: nuvoton: Fix return value check in wpcm450_gpio_register()
        pinctrl: nuvoton: wpcm450: off by one in wpcm450_gpio_register()
        pinctrl: nuvoton: wpcm450: select GENERIC_PINCTRL_GROUPS
        pinctrl: nuvoton: Fix sparse warning
        pinctrl: mediatek: mt8186: Account for probe refactoring
        pinctrl: mediatek: common-v1: Commonize spec_ies_smt_set callback
        pinctrl: mediatek: common-v1: Commonize spec_pupd callback
        pinctrl: mediatek: common-v1: Use common probe function
        pinctrl: mediatek: common-v1: Add common probe function
        pinctrl: mediatek: paris: Unify probe function by using OF match data
        pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
        pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
        pinctrl: berlin: fix error return code of berlin_pinctrl_build_state()
        pinctrl: qcom: Introduce sc8280xp TLMM driver
        ...
      ff61bc81
    • Linus Torvalds's avatar
      Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" · 901c7280
      Linus Torvalds authored
      Halil Pasic points out [1] that the full revert of that commit (revert
      in bddac7c1), and that a partial revert that only reverts the
      problematic case, but still keeps some of the cleanups is probably
      better.  
      
      And that partial revert [2] had already been verified by Oleksandr
      Natalenko to also fix the issue, I had just missed that in the long
      discussion.
      
      So let's reinstate the cleanups from commit aa6f8dcb ("swiotlb:
      rework "fix info leak with DMA_FROM_DEVICE""), and effectively only
      revert the part that caused problems.
      
      Link: https://lore.kernel.org/all/20220328013731.017ae3e3.pasic@linux.ibm.com/ [1]
      Link: https://lore.kernel.org/all/20220324055732.GB12078@lst.de/ [2]
      Link: https://lore.kernel.org/all/4386660.LvFx2qVVIh@natalenko.name/ [3]
      Suggested-by: default avatarHalil Pasic <pasic@linux.ibm.com>
      Tested-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Cc: Christoph Hellwig" <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      901c7280
    • Petr Mladek's avatar
      e7dbd4d5
    • Muchun Song's avatar
      mm: kfence: fix missing objcg housekeeping for SLAB · ae085d7f
      Muchun Song authored
      The objcg is not cleared and put for kfence object when it is freed,
      which could lead to memory leak for struct obj_cgroup and wrong
      statistics of NR_SLAB_RECLAIMABLE_B or NR_SLAB_UNRECLAIMABLE_B.
      
      Since the last freed object's objcg is not cleared,
      mem_cgroup_from_obj() could return the wrong memcg when this kfence
      object, which is not charged to any objcgs, is reallocated to other
      users.
      
      A real word issue [1] is caused by this bug.
      
      Link: https://lore.kernel.org/all/000000000000cabcb505dae9e577@google.com/ [1]
      Reported-by: syzbot+f8c45ccc7d5d45fc5965@syzkaller.appspotmail.com
      Fixes: d3fb45f3 ("mm, kfence: insert KFENCE hooks for SLAB")
      Signed-off-by: default avatarMuchun Song <songmuchun@bytedance.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Marco Elver <elver@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ae085d7f
  2. 27 Mar, 2022 9 commits
    • Stephen Rothwell's avatar
      f82da161
    • Linus Torvalds's avatar
      Merge tag 'landlock-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 29cbaa3e
      Linus Torvalds authored
      Pull landlock updates from Mickaël Salaün:
       "These two commits contain a minor fix for the sandboxer sample, and a
        Landlock ruleset FD name standardization"
      
      * tag 'landlock-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        landlock: Use square brackets around "landlock-ruleset"
        samples/landlock: Fix path_list memory leak
      29cbaa3e
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v5.18' of git://git.linaro.org/landing-teams/working/fujitsu/integration · 50d602d8
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
       "qcom:
         - add support for MSM8976
      
        mtk:
         - enable mt8186
         - add ADSP controller driver
      
        ti:
         - use poll mode during suspend
      
        tegra:
         - fix tx channel flush
      
        imx:
         - add i.MX8 SECO MU support
         - prepare for, and add iMX93 support"
      
      * tag 'mailbox-v5.18' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        dt-bindings: mailbox: add definition for mt8186
        mailbox: ti-msgmgr: Operate mailbox in polled mode during system suspend
        mailbox: ti-msgmgr: Refactor message read during interrupt handler
        mailbox: imx: support i.MX93 S401 MU
        mailbox: imx: support dual interrupts
        mailbox: imx: extend irq to an array
        dt-bindings: mailbox: imx-mu: add i.MX93 S4 MU support
        dt-bindings: mailbox: imx-mu: add i.MX93 MU
        mailbox: imx: add i.MX8 SECO MU support
        mailbox: imx: introduce rxdb callback
        dt-bindings: mailbox: imx-mu: add i.MX8 SECO MU support
        mailbox: imx: enlarge timeout while reading/writing messages to SCFW
        mailbox: imx: fix crash in resume on i.mx8ulp
        mailbox: imx: fix wakeup failure from freeze mode
        mailbox: mediatek: add support for adsp mailbox controller
        dt-bindings: mailbox: mtk,adsp-mbox: add mtk adsp-mbox document
        mailbox: qcom-apcs-ipc: Add compatible for MSM8976 SoC
        dt-bindings: mailbox: Add compatible for the MSM8976
        mailbox: tegra-hsp: Flush whole channel
      50d602d8
    • Linus Torvalds's avatar
      Merge tag 'leds-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · dfb0a0b7
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Nothing major here, there are two drivers that need review and did not
        make it into this round"
      
      * tag 'leds-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: pca955x: Allow zero LEDs to be specified
        leds: pca955x: Make the gpiochip always expose all pins
        leds: simatic-ipc-leds: Don't directly deref ioremap_resource() returned ptr
        leds: simatic-ipc-leds: Make simatic_ipc_led_mem_res static
        leds: lm3692x: Return 0 from remove callback
        leds: sgm3140: Add ocs,ocp8110 compatible
        dt-bindings: vendor-prefixes: Add ocs prefix
        dt-bindings: leds: common: fix unit address in max77693 example
      dfb0a0b7
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.18-2022-03-26' of... · 7b58b82b
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.18-2022-03-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools updates from Arnaldo Carvalho de Melo:
       "New features:
      
        perf ftrace:
      
         - Add -n/--use-nsec option to the 'latency' subcommand.
      
           Default: usecs:
      
           $ sudo perf ftrace latency -T dput -a sleep 1
           #   DURATION     |      COUNT | GRAPH                          |
                0 - 1    us |    2098375 | #############################  |
                1 - 2    us |         61 |                                |
                2 - 4    us |         33 |                                |
                4 - 8    us |         13 |                                |
                8 - 16   us |        124 |                                |
               16 - 32   us |        123 |                                |
               32 - 64   us |          1 |                                |
               64 - 128  us |          0 |                                |
              128 - 256  us |          1 |                                |
              256 - 512  us |          0 |                                |
      
           Better granularity with nsec:
      
           $ sudo perf ftrace latency -T dput -a -n sleep 1
           #   DURATION     |      COUNT | GRAPH                          |
                0 - 1    us |          0 |                                |
                1 - 2    ns |          0 |                                |
                2 - 4    ns |          0 |                                |
                4 - 8    ns |          0 |                                |
                8 - 16   ns |          0 |                                |
               16 - 32   ns |          0 |                                |
               32 - 64   ns |          0 |                                |
               64 - 128  ns |    1163434 | ##############                 |
              128 - 256  ns |     914102 | #############                  |
              256 - 512  ns |        884 |                                |
              512 - 1024 ns |        613 |                                |
                1 - 2    us |         31 |                                |
                2 - 4    us |         17 |                                |
                4 - 8    us |          7 |                                |
                8 - 16   us |        123 |                                |
               16 - 32   us |         83 |                                |
      
        perf lock:
      
         - Add -c/--combine-locks option to merge lock instances in the same
           class into a single entry.
      
           # perf lock report -c
                          Name acquired contended avg wait(ns) total wait(ns) max wait(ns) min wait(ns)
      
                 rcu_read_lock   251225         0            0              0            0            0
            hrtimer_bases.lock    39450         0            0              0            0            0
           &sb->s_type->i_l...    10301         1          662            662          662          662
              ptlock_ptr(page)    10173         2          701           1402          760          642
           &(ei->i_block_re...     8732         0            0              0            0            0
                  &xa->xa_lock     8088         0            0              0            0            0
                   &base->lock     6705         0            0              0            0            0
                   &p->pi_lock     5549         0            0              0            0            0
           &dentry->d_lockr...     5010         4         1274           5097         1844          789
                     &ep->lock     3958         0            0              0            0            0
      
            - Add -F/--field option to customize the list of fields to output:
      
           $ perf lock report -F contended,wait_max -k avg_wait
                           Name contended max wait(ns) avg wait(ns)
      
                 slock-AF_INET6         1        23543        23543
              &lruvec->lru_lock         5        18317        11254
                 slock-AF_INET6         1        10379        10379
                     rcu_node_1         1         2104         2104
            &dentry->d_lockr...         1         1844         1844
            &dentry->d_lockr...         1         1672         1672
               &newf->file_lock        15         2279         1025
            &dentry->d_lockr...         1          792          792
      
         - Add --synth=no option for record, as there is no need to symbolize,
           lock names comes from the tracepoints.
      
        perf record:
      
         - Threaded recording, opt-in, via the new --threads command line
           option.
      
         - Improve AMD IBS (Instruction-Based Sampling) error handling
           messages.
      
        perf script:
      
         - Add 'brstackinsnlen' field (use it with -F) for branch stacks.
      
         - Output branch sample type in 'perf script'.
      
        perf report:
      
         - Add "addr_from" and "addr_to" sort dimensions.
      
         - Print branch stack entry type in 'perf report --dump-raw-trace'
      
         - Fix symbolization for chrooted workloads.
      
        Hardware tracing:
      
        Intel PT:
      
         - Add CFE (Control Flow Event) and EVD (Event Data) packets support.
      
         - Add MODE.Exec IFLAG bit support.
      
           Explanation about these features from the "Intel® 64 and IA-32
           architectures software developer’s manual combined volumes: 1, 2A,
           2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4" PDF at:
      
              https://cdrdv2.intel.com/v1/dl/getContent/671200
      
           At page 3951:
            "32.2.4
      
             Event Trace is a capability that exposes details about the
             asynchronous events, when they are generated, and when their
             corresponding software event handler completes execution. These
             include:
      
              o Interrupts, including NMI and SMI, including the interrupt
                vector when defined.
      
              o Faults, exceptions including the fault vector.
      
                 - Page faults additionally include the page fault address,
                   when in context.
      
              o Event handler returns, including IRET and RSM.
      
              o VM exits and VM entries.¹
      
                 - VM exits include the values written to the “exit reason”
                   and “exit qualification” VMCS fields. INIT and SIPI events.
      
              o TSX aborts, including the abort status returned for the RTM
                instructions.
      
              o Shutdown.
      
             Additionally, it provides indication of the status of the
             Interrupt Flag (IF), to indicate when interrupts are masked"
      
        ARM CoreSight:
      
         - Use advertised caps/min_interval as default sample_period on ARM
           spe.
      
         - Update deduction of TRCCONFIGR register for branch broadcast on
           ARM's CoreSight ETM.
      
        Vendor Events (JSON):
      
        Intel:
      
         - Update events and metrics for: Alderlake, Broadwell, Broadwell DE,
           BroadwellX, CascadelakeX, Elkhartlake, Bonnell, Goldmont,
           GoldmontPlus, Westmere EP-DP, Haswell, HaswellX, Icelake, IcelakeX,
           Ivybridge, Ivytown, Jaketown, Knights Landing, Nehalem EP,
           Sandybridge, Silvermont, Skylake, Skylake Server, SkylakeX,
           Tigerlake, TremontX, Westmere EP-SP, and Westmere EX.
      
        ARM:
      
         - Add support for HiSilicon CPA PMU aliasing.
      
        perf stat:
      
         - Fix forked applications enablement of counters.
      
         - The 'slots' should only be printed on a different order than the
           one specified on the command line when 'topdown' events are
           present, fix it.
      
        Miscellaneous:
      
         - Sync msr-index, cpufeatures header files with the kernel sources.
      
         - Stop using some deprecated libbpf APIs in 'perf trace'.
      
         - Fix some spelling mistakes.
      
         - Refactor the maps pointers usage to pave the way for using refcount
           debugging.
      
         - Only offer the --tui option on perf top, report and annotate when
           perf was built with libslang.
      
         - Don't mention --to-ctf in 'perf data --help' when not linking with
           the required library, libbabeltrace.
      
         - Use ARRAY_SIZE() instead of ad hoc equivalent, spotted by
           array_size.cocci.
      
         - Enhance the matching of sub-commands abbreviations:
      	'perf c2c rec' -> 'perf c2c record'
      	'perf c2c recport -> error
      
         - Set build-id using build-id header on new mmap records.
      
         - Fix generation of 'perf --version' string.
      
        perf test:
      
         - Add test for the arm_spe event.
      
         - Add test to check unwinding using fame-pointer (fp) mode on arm64.
      
         - Make metric testing more robust in 'perf test'.
      
         - Add error message for unsupported branch stack cases.
      
        libperf:
      
         - Add API for allocating new thread map array.
      
         - Fix typo in perf_evlist__open() failure error messages in libperf
           tests.
      
        perf c2c:
      
         - Replace bitmap_weight() with bitmap_empty() where appropriate"
      
      * tag 'perf-tools-for-v5.18-2022-03-26' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (143 commits)
        perf evsel: Improve AMD IBS (Instruction-Based Sampling) error handling messages
        perf python: Add perf_env stubs that will be needed in evsel__open_strerror()
        perf tools: Enhance the matching of sub-commands abbreviations
        libperf tests: Fix typo in perf_evlist__open() failure error messages
        tools arm64: Import cputype.h
        perf lock: Add -F/--field option to control output
        perf lock: Extend struct lock_key to have print function
        perf lock: Add --synth=no option for record
        tools headers cpufeatures: Sync with the kernel sources
        tools headers cpufeatures: Sync with the kernel sources
        perf stat: Fix forked applications enablement of counters
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        perf evsel: Make evsel__env() always return a valid env
        perf build-id: Fix spelling mistake "Cant" -> "Can't"
        perf header: Fix spelling mistake "could't" -> "couldn't"
        perf script: Add 'brstackinsnlen' for branch stacks
        perf parse-events: Move slots only with topdown
        perf ftrace latency: Update documentation
        perf ftrace latency: Add -n/--use-nsec option
        perf tools: Fix version kernel tag
        ...
      7b58b82b
    • Linus Torvalds's avatar
      Merge tag 'memblock-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · 02f9a04d
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
       "Test suite and a small cleanup:
      
         - A small cleanup of unused variable in __next_mem_pfn_range_in_zone
      
         - Initial test suite to simulate memblock behaviour in userspace"
      
      * tag 'memblock-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock: (27 commits)
        memblock tests: Add TODO and README files
        memblock tests: Add memblock_alloc_try_nid tests for bottom up
        memblock tests: Add memblock_alloc_try_nid tests for top down
        memblock tests: Add memblock_alloc_from tests for bottom up
        memblock tests: Add memblock_alloc_from tests for top down
        memblock tests: Add memblock_alloc tests for bottom up
        memblock tests: Add memblock_alloc tests for top down
        memblock tests: Add simulation of physical memory
        memblock tests: Split up reset_memblock function
        memblock tests: Fix testing with 32-bit physical addresses
        memblock: __next_mem_pfn_range_in_zone: remove unneeded local variable nid
        memblock tests: Add memblock_free tests
        memblock tests: Add memblock_add_node test
        memblock tests: Add memblock_remove tests
        memblock tests: Add memblock_reserve tests
        memblock tests: Add memblock_add tests
        memblock tests: Add memblock reset function
        memblock tests: Add skeleton of the memblock simulator
        tools/include: Add debugfs.h stub
        tools/include: Add pfn.h stub
        ...
      02f9a04d
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of https://github.com/openrisc/linux · 88b3be5c
      Linus Torvalds authored
      Pull OpenRISC updates from Stafford Horne:
       "Not much for OpenRISC this merge window, I do have some things on the
        back burner like sparse warning cleanups and new defconfigs. But I
        didn't get time to polish the patches off for this round. There are
        OpenRISC updates coming in via other queues like removal of set_fs()
        and possibly new generic ticket locks.
      
        This just has a small fixup to remove duplicate initializer in memcpy
        from Kuniyuki Iwashima"
      
      * tag 'for-linus' of https://github.com/openrisc/linux:
        openrisc/boot: Remove unnecessary initialisation in memcpy().
      88b3be5c
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 70010521
      Linus Torvalds authored
      Pull x86 CET-IBT (Control-Flow-Integrity) support from Peter Zijlstra:
       "Add support for Intel CET-IBT, available since Tigerlake (11th gen),
        which is a coarse grained, hardware based, forward edge
        Control-Flow-Integrity mechanism where any indirect CALL/JMP must
        target an ENDBR instruction or suffer #CP.
      
        Additionally, since Alderlake (12th gen)/Sapphire-Rapids, speculation
        is limited to 2 instructions (and typically fewer) on branch targets
        not starting with ENDBR. CET-IBT also limits speculation of the next
        sequential instruction after the indirect CALL/JMP [1].
      
        CET-IBT is fundamentally incompatible with retpolines, but provides,
        as described above, speculation limits itself"
      
      [1] https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html
      
      * tag 'x86_core_for_5.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (53 commits)
        kvm/emulate: Fix SETcc emulation for ENDBR
        x86/Kconfig: Only allow CONFIG_X86_KERNEL_IBT with ld.lld >= 14.0.0
        x86/Kconfig: Only enable CONFIG_CC_HAS_IBT for clang >= 14.0.0
        kbuild: Fixup the IBT kbuild changes
        x86/Kconfig: Do not allow CONFIG_X86_X32_ABI=y with llvm-objcopy
        x86: Remove toolchain check for X32 ABI capability
        x86/alternative: Use .ibt_endbr_seal to seal indirect calls
        objtool: Find unused ENDBR instructions
        objtool: Validate IBT assumptions
        objtool: Add IBT/ENDBR decoding
        objtool: Read the NOENDBR annotation
        x86: Annotate idtentry_df()
        x86,objtool: Move the ASM_REACHABLE annotation to objtool.h
        x86: Annotate call_on_stack()
        objtool: Rework ASM_REACHABLE
        x86: Mark __invalid_creds() __noreturn
        exit: Mark do_group_exit() __noreturn
        x86: Mark stop_this_cpu() __noreturn
        objtool: Ignore extra-symbol code
        objtool: Rename --duplicate to --lto
        ...
      70010521
    • kernel test robot's avatar
      pinctrl: mediatek: common-v1: fix semicolon.cocci warnings · 4a6d0149
      kernel test robot authored
      drivers/pinctrl/mediatek/pinctrl-mtk-common.c:171:2-3: Unneeded semicolon
      
       Remove unneeded semicolon.
      
      Generated by: scripts/coccinelle/misc/semicolon.cocci
      
      Fixes: 156f7217 ("pinctrl: mediatek: common-v1: Commonize spec_ies_smt_set callback")
      CC: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarkernel test robot <lkp@intel.com>
      Link: https://lore.kernel.org/r/20220322130308.GA21877@65fc916127a5Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      4a6d0149
  3. 26 Mar, 2022 18 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · f0228146
      Linus Torvalds authored
      Pull trace event string verifier fix from Steven Rostedt:
       "The run-time string verifier checks all trace event formats as
        they are read from the tracing file to make sure that the %s pointers
        are not reading something that no longer exists.
      
        However, it failed to account for the valid case of '%*.s' where the
        length given is zero, and the string is NULL. It incorrectly flagged
        it as a null pointer dereference and gave a WARN_ON()"
      
      * tag 'trace-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Have trace event string test handle zero length strings
      f0228146
    • Linus Torvalds's avatar
      Merge tag 'usb-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 710f5d62
      Linus Torvalds authored
      Pull USB/Thunderbolt updates from Greg KH:
       "Here is the big set of USB and Thunderbolt changes for 5.18-rc1.
      
        Nothing major in here, just lots of little improvements and cleanups
        and new device support. Highlights are:
      
         - list iterator fixups for when we walk past the end of the list (a
           common problem that was cut/pasted in almost all USB gadget
           drivers)
      
         - xen USB driver "hardening" for malicious hosts
      
         - xhci driver updates and fixes for more hardware types
      
         - xhci debug cable fixes to make it actually work again
      
         - usb gadget audio driver improvements
      
         - usb gadget storage fixes to work with OS-X
      
         - lots of other small usb gadget fixes and updates
      
         - USB DWC3 driver improvements for more hardware types
      
         - Lots of other small USB driver improvements
      
         - DTS updates for some USB platforms
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (172 commits)
        usb: gadget: fsl_qe_udc: Add missing semicolon in qe_ep_dequeue()
        dt-bindings: usb: mtk-xhci: add compatible for mt8186
        usb: dwc3: Issue core soft reset before enabling run/stop
        usb: gadget: Makefile: remove ccflags-y
        USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
        usb: gadget: eliminate anonymous module_init & module_exit
        usb: usbip: eliminate anonymous module_init & module_exit
        xen/usb: harden xen_hcd against malicious backends
        usb: dwc3: gadget: Wait for ep0 xfers to complete during dequeue
        usb: dwc3: gadget: move cmd_endtransfer to extra function
        usb: dwc3: gadget: ep_queue simplify isoc start condition
        xen/usb: don't use arbitrary_virt_to_machine()
        usb: isp1760: remove redundant max_packet() macro
        usb: oxu210hp-hcd: remove redundant call to max_packet() macro
        usb: common: usb-conn-gpio: Make VBUS supply completely optional
        USB: storage: ums-realtek: fix error code in rts51x_read_mem()
        usb: early: xhci-dbc: Fix xdbc number parsing
        usb: early: xhci-dbc: Remove duplicate keep parsing
        x86/tsc: Be consistent about use_tsc_delay()
        usb: gadget: udc: s3c2410: remove usage of list iterator past the loop body
        ...
      710f5d62
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 5627ecb8
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - tracepoints when Linux acts as an I2C client
      
       - added support for AMD PSP
      
       - whole subsystem now uses generic_handle_irq_safe()
      
       - piix4 driver gained MMIO access enabling so far missed controllers
         with AMD chipsets
      
       - a bulk of device driver updates, refactorization, and fixes.
      
      * 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (61 commits)
        i2c: mux: demux-pinctrl: do not deactivate a master that is not active
        i2c: meson: Fix wrong speed use from probe
        i2c: add tracepoints for I2C slave events
        i2c: designware: Remove code duplication
        i2c: cros-ec-tunnel: Fix syntax errors in comments
        MAINTAINERS: adjust XLP9XX I2C DRIVER after removing the devicetree binding
        i2c: designware: Mark dw_i2c_plat_{suspend,resume}() as __maybe_unused
        i2c: mediatek: Add i2c compatible for Mediatek MT8168
        dt-bindings: i2c: update bindings for MT8168 SoC
        i2c: mt65xx: Simplify with clk-bulk
        i2c: i801: Drop two outdated comments
        i2c: xiic: Make bus names unique
        i2c: i801: Add support for the Process Call command
        i2c: i801: Drop useless masking in i801_access
        i2c: tegra: Add SMBus block read function
        i2c: designware: Use the i2c_mark_adapter_suspended/resumed() helpers
        i2c: designware: Lock the adapter while setting the suspended flag
        i2c: mediatek: remove redundant null check
        i2c: mediatek: modify bus speed calculation formula
        i2c: designware: Fix improper usage of readl
        ...
      5627ecb8
    • Linus Torvalds's avatar
      Merge tag 'write-page-prefaulting' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · a060c940
      Linus Torvalds authored
      Pull iomap fixlet from Andreas Gruenbacher:
       "Fix buffered write page prefaulting.
      
        I forgot to send it the previous merge window. I've only improved the
        patch description since"
      
      * tag 'write-page-prefaulting' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        fs/iomap: Fix buffered write page prefaulting
      a060c940
    • Linus Torvalds's avatar
      Merge tag 'array-bounds-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · b06a1758
      Linus Torvalds authored
      Pull array-bounds updates from Kees Cook:
       "This enables -Warray-bounds and -Wzero-length-bounds, now that the
        many bug fixes have landed all over the place in the kernel, and in
        GCC itself[1].
      
        A couple fixes[2] for known corner-case issues currently live in my
        "pending-fixes" tree which I'm expecting to send next week if other
        maintainers still haven't picked them up.
      
        I'm also expecting we can enable -Wstringop-overflow next cycle, as
        there are only a few stragglers[3], but it might even be possible for
        this release"
      
      [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
      [2] https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?h=for-next/pending-fixes&id=2d253138910eec553fc706379914243d71de9b85
      [3] https://github.com/KSPP/linux/issues/181
      
      * tag 'array-bounds-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        Makefile: Enable -Wzero-length-bounds
        Makefile: Enable -Warray-bounds
      b06a1758
    • Linus Torvalds's avatar
      Merge tag 'memcpy-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 4be240b1
      Linus Torvalds authored
      Pull FORTIFY_SOURCE updates from Kees Cook:
       "This series consists of two halves:
      
         - strict compile-time buffer size checking under FORTIFY_SOURCE for
           the memcpy()-family of functions (for extensive details and
           rationale, see the first commit)
      
         - enabling FORTIFY_SOURCE for Clang, which has had many overlapping
           bugs that we've finally worked past"
      
      * tag 'memcpy-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        fortify: Add Clang support
        fortify: Make sure strlen() may still be used as a constant expression
        fortify: Use __diagnose_as() for better diagnostic coverage
        fortify: Make pointer arguments const
        Compiler Attributes: Add __diagnose_as for Clang
        Compiler Attributes: Add __overloadable for Clang
        Compiler Attributes: Add __pass_object_size for Clang
        fortify: Replace open-coded __gnu_inline attribute
        fortify: Update compile-time tests for Clang 14
        fortify: Detect struct member overflows in memset() at compile-time
        fortify: Detect struct member overflows in memmove() at compile-time
        fortify: Detect struct member overflows in memcpy() at compile-time
      4be240b1
    • Linus Torvalds's avatar
      Merge tag 'for-5.18/64bit-pi-2022-03-25' of git://git.kernel.dk/linux-block · 3f728213
      Linus Torvalds authored
      Pull block layer 64-bit data integrity support from Jens Axboe:
       "This adds support for 64-bit data integrity in the block layer and in
        NVMe"
      
      * tag 'for-5.18/64bit-pi-2022-03-25' of git://git.kernel.dk/linux-block:
        crypto: fix crc64 testmgr digest byte order
        nvme: add support for enhanced metadata
        block: add pi for extended integrity
        crypto: add rocksoft 64b crc guard tag framework
        lib: add rocksoft model crc64
        linux/kernel: introduce lower_48_bits function
        asm-generic: introduce be48 unaligned accessors
        nvme: allow integrity on extended metadata formats
        block: support pi with extended metadata
      3f728213
    • Linus Torvalds's avatar
      Merge tag 'for-5.18/alloc-cleanups-2022-03-25' of git://git.kernel.dk/linux-block · 752d422e
      Linus Torvalds authored
      Pull bio allocation fix from Jens Axboe:
       "We got some reports of users seeing:
      
      	Unexpected gfp: 0x2 (__GFP_HIGHMEM). Fixing up to gfp: 0x1192888
      
        which is a regression caused by the bio allocation cleanups"
      
      * tag 'for-5.18/alloc-cleanups-2022-03-25' of git://git.kernel.dk/linux-block:
        fs: do not pass __GFP_HIGHMEM to bio_alloc in do_mpage_readpage
      752d422e
    • Linus Torvalds's avatar
      Merge tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-block · 561593a0
      Linus Torvalds authored
      Pull NVMe write streams removal from Jens Axboe:
       "This removes the write streams support in NVMe. No vendor ever really
        shipped working support for this, and they are not interested in
        supporting it.
      
        With the NVMe support gone, we have nothing in the tree that supports
        this. Remove passing around of the hints.
      
        The only discussion point in this patchset imho is the fact that the
        file specific write hint setting/getting fcntl helpers will now return
        -1/EINVAL like they did before we supported write hints. No known
        applications use these functions, I only know of one prototype that I
        help do for RocksDB, and that's not used. That said, with a change
        like this, it's always a bit controversial. Alternatively, we could
        just make them return 0 and pretend it worked. It's placement based
        hints after all"
      
      * tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-block:
        fs: remove fs.f_write_hint
        fs: remove kiocb.ki_hint
        block: remove the per-bio/request write hint
        nvme: remove support or stream based temperature hint
      561593a0
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 9bf3fc50
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
      
       - Add Krzysztof Kozlowski as co-maintainer for DT bindings providing
         much needed help.
      
       - DT schema validation now takes DTB files as input rather than
         intermediate YAML files. This decouples the validation from the
         source level syntax information. There's a bunch of schema fixes as a
         result of switching to DTB based validation which exposed some errors
         and incomplete schemas and examples.
      
       - Kbuild improvements to explicitly warn users running 'make
         dt_binding_check' on missing yamllint
      
       - Expand DT_SCHEMA_FILES kbuild variable to take just a partial
         filename or path instead of the full path to 1 file.
      
       - Convert various bindings to schema format: mscc,vsc7514-switch,
         multiple GNSS bindings, ahci-platform, i2c-at91, multiple UFS
         bindings, cortina,gemini-sata-bridge, cortina,gemini-ethernet, Atmel
         SHA, Atmel TDES, Atmel AES, armv7m-systick, Samsung Exynos display
         subsystem, nuvoton,npcm7xx-timer, samsung,s3c2410-i2c, zynqmp_dma,
         msm/mdp4, rda,8810pl-uart
      
       - New schemas for u-boot environment variable partition, TI clksel
      
       - New compatible strings for Renesas RZ/V2L SoC
      
       - Vendor prefixes for Xen, HPE, deprecated Synopsys, deprecated
         HiSilicon
      
       - Add/fix schemas for QEMU Arm 'virt' machine
      
       - Drop unused of_alias_get_alias_list() function
      
       - Add a script to check DT unittest EXPECT message output. Pass
         messages also now print by default at PR_INFO level to help test
         automation.
      
      * tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (96 commits)
        dt-bindings: kbuild: Make DT_SCHEMA_LINT a recursive variable
        dt-bindings: nvmem: add U-Boot environment variables binding
        dt-bindings: ufs: qcom: Add SM6350 compatible string
        dt-bindings: dmaengine: sifive,fu540-c000: include generic schema
        dt-bindings: gpio: pca95xx: drop useless consumer example
        Revert "of: base: Introduce of_alias_get_alias_list() to check alias IDs"
        dt-bindings: virtio,mmio: Allow setting devices 'dma-coherent'
        dt-bindings: gnss: Add two more chips
        dt-bindings: gnss: Rewrite sirfstar binding in YAML
        dt-bindings: gnss: Modify u-blox to use common bindings
        dt-bindings: gnss: Rewrite common bindings in YAML
        dt-bindings: ata: ahci-platform: Add rk3568-dwc-ahci compatible
        dt-bindings: ata: ahci-platform: Add power-domains property
        dt-bindings: ata: ahci-platform: Convert DT bindings to yaml
        dt-bindings: kbuild: Use DTB files for validation
        dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate
        dt-bindings: Add QEMU virt machine compatible
        dt-bindings: arm: Convert QEMU fw-cfg to DT schema
        dt-bindings: i2c: at91: Add SAMA7G5 compatible strings list
        dt-bindings: i2c: convert i2c-at91 to json-schema
        ...
      9bf3fc50
    • Linus Torvalds's avatar
      Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" · bddac7c1
      Linus Torvalds authored
      This reverts commit aa6f8dcb.
      
      It turns out this breaks at least the ath9k wireless driver, and
      possibly others.
      
      What the ath9k driver does on packet receive is to set up the DMA
      transfer with:
      
        int ath_rx_init(..)
        ..
                      bf->bf_buf_addr = dma_map_single(sc->dev, skb->data,
                                                       common->rx_bufsize,
                                                       DMA_FROM_DEVICE);
      
      and then the receive logic (through ath_rx_tasklet()) will fetch
      incoming packets
      
        static bool ath_edma_get_buffers(..)
        ..
              dma_sync_single_for_cpu(sc->dev, bf->bf_buf_addr,
                                      common->rx_bufsize, DMA_FROM_DEVICE);
      
              ret = ath9k_hw_process_rxdesc_edma(ah, rs, skb->data);
              if (ret == -EINPROGRESS) {
                      /*let device gain the buffer again*/
                      dma_sync_single_for_device(sc->dev, bf->bf_buf_addr,
                                      common->rx_bufsize, DMA_FROM_DEVICE);
                      return false;
              }
      
      and it's worth noting how that first DMA sync:
      
          dma_sync_single_for_cpu(..DMA_FROM_DEVICE);
      
      is there to make sure the CPU can read the DMA buffer (possibly by
      copying it from the bounce buffer area, or by doing some cache flush).
      The iommu correctly turns that into a "copy from bounce bufer" so that
      the driver can look at the state of the packets.
      
      In the meantime, the device may continue to write to the DMA buffer, but
      we at least have a snapshot of the state due to that first DMA sync.
      
      But that _second_ DMA sync:
      
          dma_sync_single_for_device(..DMA_FROM_DEVICE);
      
      is telling the DMA mapping that the CPU wasn't interested in the area
      because the packet wasn't there.  In the case of a DMA bounce buffer,
      that is a no-op.
      
      Note how it's not a sync for the CPU (the "for_device()" part), and it's
      not a sync for data written by the CPU (the "DMA_FROM_DEVICE" part).
      
      Or rather, it _should_ be a no-op.  That's what commit aa6f8dcb
      broke: it made the code bounce the buffer unconditionally, and changed
      the DMA_FROM_DEVICE to just unconditionally and illogically be
      DMA_TO_DEVICE.
      
      [ Side note: purely within the confines of the swiotlb driver it wasn't
        entirely illogical: The reason it did that odd DMA_FROM_DEVICE ->
        DMA_TO_DEVICE conversion thing is because inside the swiotlb driver,
        it uses just a swiotlb_bounce() helper that doesn't care about the
        whole distinction of who the sync is for - only which direction to
        bounce.
      
        So it took the "sync for device" to mean that the CPU must have been
        the one writing, and thought it meant DMA_TO_DEVICE. ]
      
      Also note how the commentary in that commit was wrong, probably due to
      that whole confusion, claiming that the commit makes the swiotlb code
      
                                        "bounce unconditionally (that is, also
          when dir == DMA_TO_DEVICE) in order do avoid synchronising back stale
          data from the swiotlb buffer"
      
      which is nonsensical for two reasons:
      
       - that "also when dir == DMA_TO_DEVICE" is nonsensical, as that was
         exactly when it always did - and should do - the bounce.
      
       - since this is a sync for the device (not for the CPU), we're clearly
         fundamentally not coping back stale data from the bounce buffers at
         all, because we'd be copying *to* the bounce buffers.
      
      So that commit was just very confused.  It confused the direction of the
      synchronization (to the device, not the cpu) with the direction of the
      DMA (from the device).
      Reported-and-bisected-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Reported-by: default avatarOlha Cherevyk <olha.cherevyk@gmail.com>
      Cc: Halil Pasic <pasic@linux.ibm.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Kalle Valo <kvalo@kernel.org>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Toke Høiland-Jørgensen <toke@toke.dk>
      Cc: Maxime Bizon <mbizon@freebox.fr>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bddac7c1
    • Kim Phillips's avatar
      perf evsel: Improve AMD IBS (Instruction-Based Sampling) error handling messages · ab0809af
      Kim Phillips authored
      Improve the error message returned on failed perf_event_open() on AMD
      systems when using IBS (Instruction-Based Sampling).
      
      Output of executing 'perf record -e ibs_op// true' as a non root user
      BEFORE this patch (perf will add the 'u' modifier at the end to exclude
      kernel/hypervisor sampling):
      
        The sys_perf_event_open() syscall returned with 22 (Invalid argument)for event (ibs_op//u).
        /bin/dmesg | grep -i perf may provide additional information.
      
      Output after:
      
        AMD IBS can't exclude kernel events.  Try running at a higher privilege level.
      
      Output of executing 'sudo perf record -e ibs_op// true' BEFORE this patch:
      
        Error:
        The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (ibs_op//).
        /bin/dmesg | grep -i perf may provide additional information.
      
      Output after:
      
        Error:
        Invalid event (ibs_op//) in per-thread mode, enable system wide with '-a'.
      
      Folowing the suggestion:
      
        $ sudo perf record -a -e ibs_op// true
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 1.664 MB perf.data (194 samples) ]
        $
      Signed-off-by: default avatarKim Phillips <kim.phillips@amd.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: João Martins <joao.m.martins@oracle.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rafael J. Wysocki <rafael@kernel.org>
      Cc: Ravi Bangoria <ravi.bangoria@amd.com>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Sandipan Das <sandipan.das@amd.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lore.kernel.org/lkml/20220322221517.2510440-12-eranian@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ab0809af
    • Arnaldo Carvalho de Melo's avatar
      perf python: Add perf_env stubs that will be needed in evsel__open_strerror() · b58230de
      Arnaldo Carvalho de Melo authored
      The AMD IBS error message enhancements will use these, but we're not
      using evsel__open_strerror() in the python binding so far.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b58230de
    • Wei Li's avatar
      perf tools: Enhance the matching of sub-commands abbreviations · ae0f4eb3
      Wei Li authored
      We support short command 'rec*' for 'record' and 'rep*' for 'report' in
      lots of sub-commands, but the matching is not quite strict currnetly.
      
      It may be puzzling sometime, like we mis-type a 'recport' to report but
      it will perform 'record' in fact without any message.
      
      To fix this, add a check to ensure that the short cmd is valid prefix
      of the real command.
      
      Committer testing:
      
        [root@quaco ~]# perf c2c re sleep 1
      
         Usage: perf c2c {record|report}
      
            -v, --verbose         be more verbose (show counter open errors, etc)
      
        # perf c2c rec sleep 1
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.038 MB perf.data (16 samples) ]
        # perf c2c recport sleep 1
      
         Usage: perf c2c {record|report}
      
            -v, --verbose         be more verbose (show counter open errors, etc)
      
        # perf c2c record sleep 1
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.038 MB perf.data (15 samples) ]
        # perf c2c records sleep 1
      
         Usage: perf c2c {record|report}
      
            -v, --verbose         be more verbose (show counter open errors, etc)
      
        #
      Signed-off-by: default avatarWei Li <liwei391@huawei.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hanjun Guo <guohanjun@huawei.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Rui Xiang <rui.xiang@huawei.com>
      Link: http://lore.kernel.org/lkml/20220325092032.2956161-1-liwei391@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ae0f4eb3
    • Shunsuke Nakamura's avatar
      libperf tests: Fix typo in perf_evlist__open() failure error messages · c2eeac98
      Shunsuke Nakamura authored
      This patch corrects typos in error messages. I should be "evlist", not
      "evsel" as the function that fails is perf_evlist__open().
      
      Fixes: 3ce311af ("libperf: Move to tools/lib/perf")
      Fixes: a7f3713f ("libperf tests: Add test_stat_multiplexing test")
      Signed-off-by: default avatarShunsuke Nakamura <nakamura.shun@fujitsu.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20220325043829.224045-2-nakamura.shun@fujitsu.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c2eeac98
    • Ali Saidi's avatar
      tools arm64: Import cputype.h · 1314376d
      Ali Saidi authored
      Bring-in the kernel's arch/arm64/include/asm/cputype.h into tools/
      for arm64 to make use of all the core-type definitions in perf.
      
      Replace sysreg.h with the version already imported into tools/.
      
      Committer notes:
      
      Added an entry to tools/perf/check-headers.sh, so that we get notified
      when the original file in the kernel sources gets modified.
      
      Tester notes:
      
      LGTM. I did the testing on both my x86 and Arm64 platforms, thanks for
      the fixing up.
      Signed-off-by: default avatarAli Saidi <alisaidi@amazon.com>
      Tested-by: default avatarLeo Yan <leo.yan@linaro.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andrew Kilroy <andrew.kilroy@arm.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Li Huafei <lihuafei1@huawei.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Nick.Forrington@arm.com
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Will Deacon <will@kernel.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: https://lore.kernel.org/r/20220324183323.31414-2-alisaidi@amazon.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1314376d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.17-1' of https://github.com/cminyard/linux-ipmi · 52d543b5
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
      
       - Little fixes for various things people have noticed.
      
       - One enhancement, the IPMI over IPMB (I2c) is modified to allow it to
         take a separate sender and receiver device. The Raspberry Pi has an
         I2C slave device that cannot send.
      
      * tag 'for-linus-5.17-1' of https://github.com/cminyard/linux-ipmi:
        ipmi: initialize len variable
        ipmi: kcs: aspeed: Remove old bindings support
        ipmi:ipmb: Add the ability to have a separate slave and master device
        ipmi:ipmi_ipmb: Unregister the SMI on remove
        ipmi: kcs: aspeed: Add AST2600 compatible string
        ipmi: ssif: replace strlcpy with strscpy
        ipmi/watchdog: Constify ident
        ipmi: Add the git repository to the MAINTAINERS file
      52d543b5
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · a452c4eb
      Linus Torvalds authored
      Pull reiserfs updates from Jan Kara:
       "The biggest change in this pull is the addition of a deprecation
        message about reiserfs with the outlook that we'd eventually be able
        to remove it from the kernel. Because it is practically unmaintained
        and untested and odd enough that people don't want to bother with it
        anymore...
      
        Otherwise there are small udf and ext2 fixes"
      
      * tag 'fs_for_v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: remove redundant assignment of variable etype
        reiserfs: Deprecate reiserfs
        ext2: correct max file size computing
        reiserfs: get rid of AOP_FLAG_CONT_EXPAND flag
      a452c4eb
  4. 25 Mar, 2022 3 commits
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · a8988507
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "A few fsnotify improvements and cleanups"
      
      * tag 'fsnotify_for_v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: remove redundant parameter judgment
        fsnotify: optimize FS_MODIFY events with no ignored masks
        fsnotify: fix merge with parent's ignored mask
      a8988507
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-03-25' of git://anongit.freedesktop.org/drm/drm · cb7cbaae
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Some fixes were queued up in and in light of the fbdev regressions,
        I've pulled those in as well.
      
        core:
         - Make audio and color plane support checking only happen when a CEA
           extension block is found.
         - Small selftest fix.
      
        fbdev:
         - two regressions fixes from speedup patches.
      
        ttm:
         - Fix a small regression from ttm_resource_fini()
      
        i915:
         - Reject unsupported TMDS rates on ICL+
         - Treat SAGV block time 0 as SAGV disabled
         - Fix PSF GV point mask when SAGV is not possible
         - Fix renamed INTEL_INFO->media.arch/ver field"
      
      * tag 'drm-next-2022-03-25' of git://anongit.freedesktop.org/drm/drm:
        fbdev: Fix cfb_imageblit() for arbitrary image widths
        fbdev: Fix sys_imageblit() for arbitrary image widths
        drm/edid: fix CEA extension byte #3 parsing
        drm/edid: check basic audio support on CEA extension block
        drm/i915: Fix renamed struct field
        drm/i915: Fix PSF GV point mask when SAGV is not possible
        drm/i915: Treat SAGV block time 0 as SAGV disabled
        drm/i915: Reject unsupported TMDS rates on ICL+
        drm/selftest: plane_helper: Put test structures in static storage
        drm/ttm: Fix a kernel oops due to an invalid read
      cb7cbaae
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 46f538bf
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Device Support:
         - Add support for PM6150L to Qualcomm WLED
      
        Fix-ups"
         - Use kcalloc() to avoid open-coding; pwm_bl
         - Device Tree changes; qcom-wled
         - Cleanup or simplify code; backlight"
      
      * tag 'backlight-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: backlight: Slighly simplify devm_of_find_backlight()
        backlight: qcom-wled: Add PM6150L compatible
        dt-bindings: backlight: qcom-wled: Add PM6150L compatible
        backlight: pwm_bl: Avoid open coded arithmetic in memory allocation
      46f538bf