Skip to content
  1. May 06, 2021
  2. May 05, 2021
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · d665ea6e
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - Disable CONFIG_GCOV when built with modules
      
       - Many fixes for W=1 related warnings
      
       - Code cleanup
      
      * tag 'for-linus-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Fix W=1 missing-include-dirs warnings
        um: elf.h: Fix W=1 warning for empty body in 'do' statement
        um: pgtable.h: Fix W=1 warning for empty body in 'do' statement
        um: Remove unused including <linux/version.h>
        um: Add 2 missing libs to fix various build errors
        um: Replace if (cond) BUG() with BUG_ON()
        um: Disable CONFIG_GCOV with MODULES
        um: Remove unneeded variable 'ret'
        um: Mark all kernel symbols as local
        um: Fix tag order in stub_32.h
      d665ea6e
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 51f62944
      Linus Torvalds authored
      Pull JFFS2, UBI and UBIFS updates from Richard Weinberger:
       "JFFS2:
         - Use splice_write()
         - Fix for a slab-out-of-bounds bug
      
        UBI:
         - Fix for clang related warnings
         - Code cleanup
      
        UBIFS:
         - Fix for inode rebirth at replay
         - Set s_uuid
         - Use zstd for default filesystem"
      
      * tag 'for-linus-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubi: Remove unnecessary struct declaration
        jffs2: Hook up splice_write callback
        jffs2: avoid Wempty-body warnings
        jffs2: Fix kasan slab-out-of-bounds problem
        ubi: Fix fall-through warnings for Clang
        ubifs: Report max LEB count at mount time
        ubifs: Set s_uuid in super block to support ima/evm uuid options
        ubifs: Default to zstd compression
        ubifs: Only check replay with inode type to judge if inode linked
      51f62944
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · d0195c7d
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we added a new mount option, "checkpoint_merge", which
        introduces a kernel thread dealing with the f2fs checkpoints. Once we
        start to manage the IO priority along with blk-cgroup, the checkpoint
        operation can be processed in a lower priority under the process
        context. Since the checkpoint holds all the filesystem operations, we
        give a higher priority to the checkpoint thread all the time.
      
        Enhancements:
         - introduce gc_merge mount option to introduce a checkpoint thread
         - improve to run discard thread efficiently
         - allow modular compression algorithms
         - expose # of overprivision segments to sysfs
         - expose runtime compression stat to sysfs
      
        Bug fixes:
         - fix OOB memory access by the node id lookup
         - avoid touching checkpointed data in the checkpoint-disabled mode
         - fix the resizing flow to avoid kernel panic and race conditions
         - fix block allocation issues on pinned files
         - address some swapfile issues
         - fix hugtask problem and kernel panic during atomic write operations
         - don't start checkpoint thread in RO
      
        And, we've cleaned up some kernel coding style and build warnings. In
        addition, we fixed some minor race conditions and error handling
        routines"
      
      * tag 'f2fs-for-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (48 commits)
        f2fs: drop inplace IO if fs status is abnormal
        f2fs: compress: remove unneed check condition
        f2fs: clean up left deprecated IO trace codes
        f2fs: avoid using native allocate_segment_by_default()
        f2fs: remove unnecessary struct declaration
        f2fs: fix to avoid NULL pointer dereference
        f2fs: avoid duplicated codes for cleanup
        f2fs: document: add description about compressed space handling
        f2fs: clean up build warnings
        f2fs: fix the periodic wakeups of discard thread
        f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block()
        f2fs: fix to avoid GC/mmap race with f2fs_truncate()
        f2fs: set checkpoint_merge by default
        f2fs: Fix a hungtask problem in atomic write
        f2fs: fix to restrict mount condition on readonly block device
        f2fs: introduce gc_merge mount option
        f2fs: fix to cover __allocate_new_section() with curseg_lock
        f2fs: fix wrong alloc_type in f2fs_do_replace_block
        f2fs: delete empty compress.h
        f2fs: fix a typo in inode.c
        ...
      d0195c7d
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · e4adffb8
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "New drivers/devices:
      
         - Support for QCOM SM8150 GPI DMA
      
        Updates:
      
         - Big pile of idxd updates including support for performance
           monitoring
      
         - Support in dw-edma for interleaved dma
      
         - Support for synchronize() in Xilinx driver"
      
      * tag 'dmaengine-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (42 commits)
        dmaengine: idxd: Enable IDXD performance monitor support
        dmaengine: idxd: Add IDXD performance monitor support
        dmaengine: idxd: remove MSIX masking for interrupt handlers
        dmaengine: idxd: device cmd should use dedicated lock
        dmaengine: idxd: support reporting of halt interrupt
        dmaengine: idxd: enable SVA feature for IOMMU
        dmaengine: idxd: convert sprintf() to sysfs_emit() for all usages
        dmaengine: idxd: add interrupt handle request and release support
        dmaengine: idxd: add support for readonly config mode
        dmaengine: idxd: add percpu_ref to descriptor submission path
        dmaengine: idxd: remove detection of device type
        dmaengine: idxd: iax bus removal
        dmaengine: idxd: fix cdev setup and free device lifetime issues
        dmaengine: idxd: fix group conf_dev lifetime
        dmaengine: idxd: fix engine conf_dev lifetime
        dmaengine: idxd: fix wq conf_dev 'struct device' lifetime
        dmaengine: idxd: fix idxd conf_dev 'struct device' lifetime
        dmaengine: idxd: use ida for device instance enumeration
        dmaengine: idxd: removal of pcim managed mmio mapping
        dmaengine: idxd: cleanup pci interrupt vector allocation management
        ...
      e4adffb8
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 8796ac1d
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This adds support to the remoteproc core for detaching Linux from a
        running remoteproc, e.g. to reboot Linux while leaving the remoteproc
        running, and it enable this support in the stm32 remoteproc driver.
      
        It also introduces a property for memory carveouts to track if they
        are iomem or system ram, to enable proper handling of the differences.
      
        The imx_rproc received a number of fixes and improvements, in
        particular support for attaching to already running remote processors
        and i.MX8MQ and i.MX8MM support.
      
        The Qualcomm wcss driver gained support for starting and stopping the
        wireless subsystem on QCS404, when not using the TrustZone-based
        validator/loader.
      
        Finally it brings a few fixes to the TI PRU and to the firmware loader
        for the Qualcomm modem subsystem drivers"
      
      * tag 'rproc-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc: (53 commits)
        remoteproc: stm32: add capability to detach
        dt-bindings: remoteproc: stm32-rproc: add new mailbox channel for detach
        remoteproc: imx_rproc: support remote cores booted before Linux Kernel
        remoteproc: imx_rproc: move memory parsing to rproc_ops
        remoteproc: imx_rproc: enlarge IMX7D_RPROC_MEM_MAX
        remoteproc: imx_rproc: add missing of_node_put
        remoteproc: imx_rproc: fix build error without CONFIG_MAILBOX
        remoteproc: qcom: wcss: Remove unnecessary PTR_ERR()
        remoteproc: qcom: wcss: Fix wrong pointer passed to PTR_ERR()
        remoteproc: qcom: pas: Add modem support for SDX55
        dt-bindings: remoteproc: qcom: pas: Add binding for SDX55
        remoteproc: qcom: wcss: Fix return value check in q6v5_wcss_init_mmio()
        remoteproc: pru: Fix and cleanup firmware interrupt mapping logic
        remoteproc: pru: Fix wrong success return value for fw events
        remoteproc: pru: Fixup interrupt-parent logic for fw events
        remoteproc: qcom: wcnss: Allow specifying firmware-name
        remoteproc: qcom: wcss: explicitly request exclusive reset control
        remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404
        dt-bindings: remoteproc: qcom: Add Q6V5 Modem PIL binding for QCS404
        remoteproc: qcom: wcss: populate hardcoded param using driver data
        ...
      8796ac1d
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · a01d9524
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "In addition to some bug fixes and cleanups this adds support for
        exposing the virtio based transport to user space using the rpmsg_char
        driver"
      
      * tag 'rpmsg-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data()
        rpmsg: char: Return an error if device already open
        rpmsg: virtio: Register the rpmsg_char device
        rpmsg: char: Use rpmsg_sendto to specify the message destination address
        rpmsg: Add short description of the IOCTL defined in UAPI.
        rpmsg: Move RPMSG_ADDR_ANY in user API
        rpmsg: char: Rename rpmsg_char_init to rpmsg_chrdev_init
      a01d9524
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 0c01a4c4
      Linus Torvalds authored
      Pull hwspinlock udpates from Bjorn Andersson:
       "This removes the SIRF hardware spinlock driver, as the platform is
        being removed"
      
      * tag 'hwlock-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        hwspinlock: remove sirf driver
      0c01a4c4
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-5.13' of... · 74d6790c
      Linus Torvalds authored
      Merge branch 'stable/for-linus-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb
      
      Pull swiotlb updates from Konrad Rzeszutek Wilk:
       "Christoph Hellwig has taken a cleaver and trimmed off the not-needed
        code and nicely folded duplicate code in the generic framework.
      
        This lays the groundwork for more work to add extra DMA-backend-ish in
        the future. Along with that some bug-fixes to make this a nice working
        package"
      
      * 'stable/for-linus-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        swiotlb: don't override user specified size in swiotlb_adjust_size
        swiotlb: Fix the type of index
        swiotlb: Make SWIOTLB_NO_FORCE perform no allocation
        ARM: Qualify enabling of swiotlb_init()
        swiotlb: remove swiotlb_nr_tbl
        swiotlb: dynamically allocate io_tlb_default_mem
        swiotlb: move global variables into a new io_tlb_mem structure
        xen-swiotlb: remove the unused size argument from xen_swiotlb_fixup
        xen-swiotlb: split xen_swiotlb_init
        swiotlb: lift the double initialization protection from xen-swiotlb
        xen-swiotlb: remove xen_io_tlb_start and xen_io_tlb_nslabs
        xen-swiotlb: remove xen_set_nslabs
        xen-swiotlb: use io_tlb_end in xen_swiotlb_dma_supported
        xen-swiotlb: use is_swiotlb_buffer in is_xen_swiotlb_buffer
        swiotlb: split swiotlb_tbl_sync_single
        swiotlb: move orig addr and size validation into swiotlb_bounce
        swiotlb: remove the alloc_size parameter to swiotlb_tbl_unmap_single
        powerpc/svm: stop using io_tlb_start
      74d6790c
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.13' of git://git.infradead.org/users/hch/dma-mapping · 954b7207
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - add a new dma_alloc_noncontiguous API (me, Ricardo Ribalda)
      
       - fix a copyright notice (Hao Fang)
      
       - add an unlikely annotation to dma_mapping_error (Heiner Kallweit)
      
       - remove a pointless empty line (Wang Qing)
      
       - add support for multi-pages map/unmap bencharking (Xiang Chen)
      
      * tag 'dma-mapping-5.13' of git://git.infradead.org/users/hch/dma-mapping:
        dma-mapping: add unlikely hint to error path in dma_mapping_error
        dma-mapping: benchmark: Add support for multi-pages map/unmap
        dma-mapping: benchmark: use the correct HiSilicon copyright
        dma-mapping: remove a pointless empty line in dma_alloc_coherent
        media: uvcvideo: Use dma_alloc_noncontiguous API
        dma-iommu: implement ->alloc_noncontiguous
        dma-iommu: refactor iommu_dma_alloc_remap
        dma-mapping: add a dma_alloc_noncontiguous API
        dma-mapping: refactor dma_{alloc,free}_pages
        dma-mapping: add a dma_mmap_pages helper
      954b7207
    • Linus Torvalds's avatar
      Merge tag 'm68knommu-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 51e6f07c
      Linus Torvalds authored
      Pull m68knommu updates from Greg Ungerer:
      
       - a fix for interrupt number range checking for the ColdFire SIMR
         interrupt controller.
      
       - changes for the binfmt_flat binary loader to allow RISC-V nommu
         support it needs to be able to accept flat binaries that have no gap
         between the text and data sections.
      
      * tag 'm68knommu-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: coldfire: fix irq ranges
        riscv: Disable data start offset in flat binaries
        binfmt_flat: allow not offsetting data start
      51e6f07c
  3. May 04, 2021
  4. May 03, 2021
    • Helge Deller's avatar
      parisc: Fix typo in setup.c · 127f1c09
      Helge Deller authored
      
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      127f1c09
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.13-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · 9ccce092
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "orangefs: implement orangefs_readahead
      
        mm/readahead.c/read_pages was quite a bit different back when I put my
        open-coded readahead logic into orangefs_readpage. That logic seemed
        to work as designed back then, it is a trainwreck now.
      
        This implements orangefs_readahead using the new xarray and
        readahead_expand features and removes all my open-coded readahead
        logic.
      
        This results in an extreme read performance improvement, these sample
        numbers are from my test VM:
      
        Here's an example of what's upstream in
        5.11.8-200.fc33.x86_64:
      
           30+0 records in
           30+0 records out
           125829120 bytes (126 MB, 120 MiB) copied, 5.77943 s, 21.8 MB/s
      
        And here's this version of orangefs_readahead on top of 5.12.0-rc4:
      
           30+0 records in
           30+0 records out
           125829120 bytes (126 MB, 120 MiB) copied, 0.325919 s, 386 MB/s
      
        There are four xfstest regressions with this patch. David Howells and
        Matthew Wilcox have been helping me work with this code"
      
      * tag 'for-linus-5.13-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: leave files in the page cache for a few micro seconds at least
        Orangef: implement orangefs_readahead.
      9ccce092
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 27787ba3
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted stuff all over the place"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        useful constants: struct qstr for ".."
        hostfs_open(): don't open-code file_dentry()
        whack-a-mole: kill strlen_user() (again)
        autofs: should_expire() argument is guaranteed to be positive
        apparmor:match_mn() - constify devpath argument
        buffer: a small optimization in grow_buffers
        get rid of autofs_getpath()
        constify dentry argument of dentry_path()/dentry_path_raw()
      27787ba3
    • Linus Torvalds's avatar
      Merge branch 'work.ecryptfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · b28866f4
      Linus Torvalds authored
      Pull exryptfs updates from Al Viro:
       "The interesting part here is (ecryptfs) lock_parent() fixes - its
        treatment of ->d_parent had been very wrong.
      
        The rest is trivial cleanups"
      
      * 'work.ecryptfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ecryptfs: ecryptfs_dentry_info->crypt_stat is never used
        ecryptfs: get rid of unused accessors
        ecryptfs: saner API for lock_parent()
        ecryptfs: get rid of pointless dget/dput in ->symlink() and ->link()
      b28866f4
  5. May 02, 2021
    • Linus Torvalds's avatar
      Merge tag 'landlock_v34' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 17ae69ab
      Linus Torvalds authored
      Pull Landlock LSM from James Morris:
       "Add Landlock, a new LSM from Mickaël Salaün.
      
        Briefly, Landlock provides for unprivileged application sandboxing.
      
        From Mickaël's cover letter:
          "The goal of Landlock is to enable to restrict ambient rights (e.g.
           global filesystem access) for a set of processes. Because Landlock
           is a stackable LSM [1], it makes possible to create safe security
           sandboxes as new security layers in addition to the existing
           system-wide access-controls. This kind of sandbox is expected to
           help mitigate the security impact of bugs or unexpected/malicious
           behaviors in user-space applications. Landlock empowers any
           process, including unprivileged ones, to securely restrict
           themselves.
      
           Landlock is inspired by seccomp-bpf but instead of filtering
           syscalls and their raw arguments, a Landlock rule can restrict the
           use of kernel objects like file hierarchies, according to the
           kernel semantic. Landlock also takes inspiration from other OS
           sandbox mechanisms: XNU Sandbox, FreeBSD Capsicum or OpenBSD
           Pledge/Unveil.
      
           In this current form, Landlock misses some access-control features.
           This enables to minimize this patch series and ease review. This
           series still addresses multiple use cases, especially with the
           combined use of seccomp-bpf: applications with built-in sandboxing,
           init systems, security sandbox tools and security-oriented APIs [2]"
      
        The cover letter and v34 posting is here:
      
            https://lore.kernel.org/linux-security-module/20210422154123.13086-1-mic@digikod.net/
      
        See also:
      
            https://landlock.io/
      
        This code has had extensive design discussion and review over several
        years"
      
      Link: https://lore.kernel.org/lkml/50db058a-7dde-441b-a7f9-f6837fe8b69f@schaufler-ca.com/ [1]
      Link: https://lore.kernel.org/lkml/f646e1c7-33cf-333f-070c-0a40ad0468cd@digikod.net/ [2]
      
      * tag 'landlock_v34' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        landlock: Enable user space to infer supported features
        landlock: Add user and kernel documentation
        samples/landlock: Add a sandbox manager example
        selftests/landlock: Add user space tests
        landlock: Add syscall implementations
        arch: Wire up Landlock syscalls
        fs,security: Add sb_delete hook
        landlock: Support filesystem access-control
        LSM: Infrastructure management of the superblock
        landlock: Add ptrace restrictions
        landlock: Set up the security framework and manage credentials
        landlock: Add ruleset and domain management
        landlock: Add object management
      17ae69ab
    • Linus Torvalds's avatar
      Merge tag 'integrity-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · e6f0bf09
      Linus Torvalds authored
      Pull IMA updates from Mimi Zohar:
       "In addition to loading the kernel module signing key onto the builtin
        keyring, load it onto the IMA keyring as well.
      
        Also six trivial changes and bug fixes"
      
      * tag 'integrity-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        ima: ensure IMA_APPRAISE_MODSIG has necessary dependencies
        ima: Fix fall-through warnings for Clang
        integrity: Add declarations to init_once void arguments.
        ima: Fix function name error in comment.
        ima: enable loading of build time generated key on .ima keyring
        ima: enable signing of modules with build time generated key
        keys: cleanup build time module signing keys
        ima: Fix the error code for restoring the PCR value
        ima: without an IMA policy loaded, return quickly
      e6f0bf09
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.13-2021-04-29' of... · 10a3efd0
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.13-2021-04-29' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tool updates from Arnaldo Carvalho de Melo:
       "perf stat:
      
         - Add support for hybrid PMUs to support systems such as Intel
           Alderlake and its BIG/little core/atom cpus.
      
         - Introduce 'bperf' to share hardware PMCs with BPF.
      
         - New --iostat option to collect and present IO stats on Intel
           hardware.
      
           This functionality is based on recently introduced sysfs attributes
           for Intel® Xeon® Scalable processor family (code name Skylake-SP)
           in commit bb42b3d3 ("perf/x86/intel/uncore: Expose an Uncore
           unit to IIO PMON mapping")
      
           It is intended to provide four I/O performance metrics in MB per
           each PCIe root port:
      
             - Inbound Read: I/O devices below root port read from the host memory
             - Inbound Write: I/O devices below root port write to the host memory
             - Outbound Read: CPU reads from I/O devices below root port
             - Outbound Write: CPU writes to I/O devices below root port
      
         - Align CSV output for summary.
      
         - Clarify --null use cases: Assess raw overhead of 'perf stat' or
           measure just wall clock time.
      
         - Improve readability of shadow stats.
      
        perf record:
      
         - Change the COMM when starting tha workload so that --exclude-perf
           doesn't seem to be not honoured.
      
         - Improve 'Workload failed' message printing events + what was
           exec'ed.
      
         - Fix cross-arch support for TIME_CONV.
      
        perf report:
      
         - Add option to disable raw event ordering.
      
         - Dump the contents of PERF_RECORD_TIME_CONV in 'perf report -D'.
      
         - Improvements to --stat output, that shows information about
           PERF_RECORD_ events.
      
         - Preserve identifier id in OCaml demangler.
      
        perf annotate:
      
         - Show full source location with 'l' hotkey in the 'perf annotate'
           TUI.
      
         - Add line number like in TUI and source location at EOL to the 'perf
           annotate' --stdio mode.
      
         - Add --demangle and --demangle-kernel to 'perf annotate'.
      
         - Allow configuring annotate.demangle{,_kernel} in 'perf config'.
      
         - Fix sample events lost in stdio mode.
      
        perf data:
      
         - Allow converting a perf.data file to JSON.
      
        libperf:
      
         - Add support for user space counter access.
      
         - Update topdown documentation to permit rdpmc calls.
      
        perf test:
      
         - Add 'perf test' for 'perf stat' CSV output.
      
         - Add 'perf test' entries to test the hybrid PMU support.
      
         - Cleanup 'perf test daemon' if its 'perf test' is interrupted.
      
         - Handle metric reuse in pmu-events parsing 'perf test' entry.
      
         - Add test for PE executable support.
      
         - Add timeout for wait for daemon start in its 'perf test' entries.
      
        Build:
      
         - Enable libtraceevent dynamic linking.
      
         - Improve feature detection output.
      
         - Fix caching of feature checks caching.
      
         - First round of updates for tools copies of kernel headers.
      
         - Enable warnings when compiling BPF programs.
      
        Vendor specific events:
      
         - Intel:
            - Add missing skylake & icelake model numbers.
      
         - arm64:
            - Add Hisi hip08 L1, L2 and L3 metrics.
            - Add Fujitsu A64FX PMU events.
      
         - PowerPC:
            - Initial JSON/events list for power10 platform.
            - Remove unsupported power9 metrics.
      
         - AMD:
            - Add Zen3 events.
            - Fix broken L2 Cache Hits from L2 HWPF metric.
            - Use lowercases for all the eventcodes and umasks.
      
        Hardware tracing:
      
         - arm64:
            - Update CoreSight ETM metadata format.
            - Fix bitmap for CS-ETM option.
            - Support PID tracing in config.
            - Detect pid in VMID for kernel running at EL2.
      
        Arch specific updates:
      
         - MIPS:
            - Support MIPS unwinding and dwarf-regs.
            - Generate mips syscalls_n64.c syscall table.
      
         - PowerPC:
            - Add support for PERF_SAMPLE_WEIGH_STRUCT on PowerPC.
            - Support pipeline stage cycles for powerpc.
      
        libbeauty:
      
         - Fix fsconfig generator"
      
      * tag 'perf-tools-for-v5.13-2021-04-29' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (132 commits)
        perf build: Defer printing detected features to the end of all feature checks
        tools build: Allow deferring printing the results of feature detection
        perf build: Regenerate the FEATURE_DUMP file after extra feature checks
        perf session: Dump PERF_RECORD_TIME_CONV event
        perf session: Add swap operation for event TIME_CONV
        perf jit: Let convert_timestamp() to be backwards-compatible
        perf tools: Change fields type in perf_record_time_conv
        perf tools: Enable libtraceevent dynamic linking
        perf Documentation: Document intel-hybrid support
        perf tests: Skip 'perf stat metrics (shadow stat) test' for hybrid
        perf tests: Support 'Convert perf time to TSC' test for hybrid
        perf tests: Support 'Session topology' test for hybrid
        perf tests: Support 'Parse and process metrics' test for hybrid
        perf tests: Support 'Track with sched_switch' test for hybrid
        perf tests: Skip 'Setup struct perf_event_attr' test for hybrid
        perf tests: Add hybrid cases for 'Roundtrip evsel->name' test
        perf tests: Add hybrid cases for 'Parse event definition strings' test
        perf record: Uniquify hybrid event name
        perf stat: Warn group events from different hybrid PMU
        perf stat: Filter out unmatched aggregation for hybrid event
        ...
      10a3efd0
    • David Howells's avatar
      afs: Fix speculative status fetches · 22650f14
      David Howells authored
      
      
      The generic/464 xfstest causes kAFS to emit occasional warnings of the
      form:
      
              kAFS: vnode modified {100055:8a} 30->31 YFS.StoreData64 (c=6015)
      
      This indicates that the data version received back from the server did not
      match the expected value (the DV should be incremented monotonically for
      each individual modification op committed to a vnode).
      
      What is happening is that a lookup call is doing a bulk status fetch
      speculatively on a bunch of vnodes in a directory besides getting the
      status of the vnode it's actually interested in.  This is racing with a
      StoreData operation (though it could also occur with, say, a MakeDir op).
      
      On the client, a modification operation locks the vnode, but the bulk
      status fetch only locks the parent directory, so no ordering is imposed
      there (thereby avoiding an avenue to deadlock).
      
      On the server, the StoreData op handler doesn't lock the vnode until it's
      received all the request data, and downgrades the lock after committing the
      data until it has finished sending change notifications to other clients -
      which allows the status fetch to occur before it has finished.
      
      This means that:
      
       - a status fetch can access the target vnode either side of the exclusive
         section of the modification
      
       - the status fetch could start before the modification, yet finish after,
         and vice-versa.
      
       - the status fetch and the modification RPCs can complete in either order.
      
       - the status fetch can return either the before or the after DV from the
         modification.
      
       - the status fetch might regress the locally cached DV.
      
      Some of these are handled by the previous fix[1], but that's not sufficient
      because it checks the DV it received against the DV it cached at the start
      of the op, but the DV might've been updated in the meantime by a locally
      generated modification op.
      
      Fix this by the following means:
      
       (1) Keep track of when we're performing a modification operation on a
           vnode.  This is done by marking vnode parameters with a 'modification'
           note that causes the AFS_VNODE_MODIFYING flag to be set on the vnode
           for the duration.
      
       (2) Alter the speculation race detection to ignore speculative status
           fetches if either the vnode is marked as being modified or the data
           version number is not what we expected.
      
      Note that whilst the "vnode modified" warning does get recovered from as it
      causes the client to refetch the status at the next opportunity, it will
      also invalidate the pagecache, so changes might get lost.
      
      Fixes: a9e5c87c ("afs: Fix speculative status fetch going out of order wrt to modifications")
      Reported-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Tested-and-reviewed-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      cc: linux-afs@lists.infradead.org
      Link: https://lore.kernel.org/r/160605082531.252452.14708077925602709042.stgit@warthog.procyon.org.uk/ [1]
      Link: https://lore.kernel.org/linux-fsdevel/161961335926.39335.2552653972195467566.stgit@warthog.procyon.org.uk/
      
       # v1
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      22650f14
    • Linus Torvalds's avatar
      Merge tag 'for-5.13/dm-changes' of... · 7af81cd0
      Linus Torvalds authored
      Merge tag 'for-5.13/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Improve scalability of DM's device hash by switching to rbtree
      
       - Extend DM ioctl's DM_LIST_DEVICES_CMD handling to include UUID and
         allow filtering based on name or UUID prefix.
      
       - Various small fixes for typos, warnings, unused function, or
         needlessly exported interfaces.
      
       - Remove needless request_queue NULL pointer checks in DM thin and
         cache targets.
      
       - Remove unnecessary loop in DM core's __split_and_process_bio().
      
       - Remove DM core's dm_vcalloc() and just use kvcalloc or kvmalloc_array
         instead (depending whether zeroing is useful).
      
       - Fix request-based DM's double free of blk_mq_tag_set in device remove
         after table load fails.
      
       - Improve DM persistent data performance on non-x86 by fixing packed
         structs to have a stated alignment. Also remove needless extra work
         from redundant calls to sm_disk_get_nr_free() and a paranoid BUG_ON()
         that caused duplicate checksum calculation.
      
       - Fix missing goto in DM integrity's bitmap_flush_interval error
         handling.
      
       - Add "reset_recalculate" feature flag to DM integrity.
      
       - Improve DM integrity by leveraging discard support to avoid needless
         re-writing of metadata and also use discard support to improve hash
         recalculation.
      
       - Fix race with DM raid target's reshape and MD raid4/5/6 resync that
         resulted in inconsistant reshape state during table reloads.
      
       - Update DM raid target to temove unnecessary discard limits for raid0
         and raid10 now that MD has optimized discard handling for both raid
         levels.
      
      * tag 'for-5.13/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (26 commits)
        dm raid: remove unnecessary discard limits for raid0 and raid10
        dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails
        dm integrity: use discard support when recalculating
        dm integrity: increase RECALC_SECTORS to improve recalculate speed
        dm integrity: don't re-write metadata if discarding same blocks
        dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences
        dm raid: fix fall-through warning in rs_check_takeover() for Clang
        dm clone metadata: remove unused function
        dm integrity: fix missing goto in bitmap_flush_interval error handling
        dm: replace dm_vcalloc()
        dm space map common: fix division bug in sm_ll_find_free_block()
        dm persistent data: packed struct should have an aligned() attribute too
        dm btree spine: remove paranoid node_check call in node_prep_for_write()
        dm space map disk: remove redundant calls to sm_disk_get_nr_free()
        dm integrity: add the "reset_recalculate" feature flag
        dm persistent data: remove unused return from exit_shadow_spine()
        dm cache: remove needless request_queue NULL pointer checks
        dm thin: remove needless request_queue NULL pointer check
        dm: unexport dm_{get,put}_table_device
        dm ebs: fix a few typos
        ...
      7af81cd0
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 152d32aa
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "This is a large update by KVM standards, including AMD PSP (Platform
        Security Processor, aka "AMD Secure Technology") and ARM CoreSight
        (debug and trace) changes.
      
        ARM:
      
         - CoreSight: Add support for ETE and TRBE
      
         - Stage-2 isolation for the host kernel when running in protected
           mode
      
         - Guest SVE support when running in nVHE mode
      
         - Force W^X hypervisor mappings in nVHE mode
      
         - ITS save/restore for guests using direct injection with GICv4.1
      
         - nVHE panics now produce readable backtraces
      
         - Guest support for PTP using the ptp_kvm driver
      
         - Performance improvements in the S2 fault handler
      
        x86:
      
         - AMD PSP driver changes
      
         - Optimizations and cleanup of nested SVM code
      
         - AMD: Support for virtual SPEC_CTRL
      
         - Optimizations of the new MMU code: fast invalidation, zap under
           read lock, enable/disably dirty page logging under read lock
      
         - /dev/kvm API for AMD SEV live migration (guest API coming soon)
      
         - support SEV virtual machines sharing the same encryption context
      
         - support SGX in virtual machines
      
         - add a few more statistics
      
         - improved directed yield heuristics
      
         - Lots and lots of cleanups
      
        Generic:
      
         - Rework of MMU notifier interface, simplifying and optimizing the
           architecture-specific code
      
         - a handful of "Get rid of oprofile leftovers" patches
      
         - Some selftests improvements"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (379 commits)
        KVM: selftests: Speed up set_memory_region_test
        selftests: kvm: Fix the check of return value
        KVM: x86: Take advantage of kvm_arch_dy_has_pending_interrupt()
        KVM: SVM: Skip SEV cache flush if no ASIDs have been used
        KVM: SVM: Remove an unnecessary prototype declaration of sev_flush_asids()
        KVM: SVM: Drop redundant svm_sev_enabled() helper
        KVM: SVM: Move SEV VMCB tracking allocation to sev.c
        KVM: SVM: Explicitly check max SEV ASID during sev_hardware_setup()
        KVM: SVM: Unconditionally invoke sev_hardware_teardown()
        KVM: SVM: Enable SEV/SEV-ES functionality by default (when supported)
        KVM: SVM: Condition sev_enabled and sev_es_enabled on CONFIG_KVM_AMD_SEV=y
        KVM: SVM: Append "_enabled" to module-scoped SEV/SEV-ES control variables
        KVM: SEV: Mask CPUID[0x8000001F].eax according to supported features
        KVM: SVM: Move SEV module params/variables to sev.c
        KVM: SVM: Disable SEV/SEV-ES if NPT is disabled
        KVM: SVM: Free sev_asid_bitmap during init if SEV setup fails
        KVM: SVM: Zero out the VMCB array used to track SEV ASID association
        x86/sev: Drop redundant and potentially misleading 'sev_enabled'
        KVM: x86: Move reverse CPUID helpers to separate header file
        KVM: x86: Rename GPR accessors to make mode-aware variants the defaults
        ...
      152d32aa
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 4f970105
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - Big cleanup of almost unsused parts of the IOMMU API by Christoph
         Hellwig. This mostly affects the Freescale PAMU driver.
      
       - New IOMMU driver for Unisoc SOCs
      
       - ARM SMMU Updates from Will:
           - Drop vestigial PREFETCH_ADDR support (SMMUv3)
           - Elide TLB sync logic for empty gather (SMMUv3)
           - Fix "Service Failure Mode" handling (SMMUv3)
           - New Qualcomm compatible string (SMMUv2)
      
       - Removal of the AMD IOMMU performance counter writeable check on AMD.
         It caused long boot delays on some machines and is only needed to
         work around an errata on some older (possibly pre-production) chips.
         If someone is still hit by this hardware issue anyway the performance
         counters will just return 0.
      
       - Support for targeted invalidations in the AMD IOMMU driver. Before
         that the driver only invalidated a single 4k page or the whole IO/TLB
         for an address space. This has been extended now and is mostly useful
         for emulated AMD IOMMUs.
      
       - Several fixes for the Shared Virtual Memory support in the Intel VT-d
         driver
      
       - Mediatek drivers can now be built as modules
      
       - Re-introduction of the forcedac boot option which got lost when
         converting the Intel VT-d driver to the common dma-iommu
         implementation.
      
       - Extension of the IOMMU device registration interface and support
         iommu_ops to be const again when drivers are built as modules.
      
      * tag 'iommu-updates-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (84 commits)
        iommu: Streamline registration interface
        iommu: Statically set module owner
        iommu/mediatek-v1: Add error handle for mtk_iommu_probe
        iommu/mediatek-v1: Avoid build fail when build as module
        iommu/mediatek: Always enable the clk on resume
        iommu/fsl-pamu: Fix uninitialized variable warning
        iommu/vt-d: Force to flush iotlb before creating superpage
        iommu/amd: Put newline after closing bracket in warning
        iommu/vt-d: Fix an error handling path in 'intel_prepare_irq_remapping()'
        iommu/vt-d: Fix build error of pasid_enable_wpe() with !X86
        iommu/amd: Remove performance counter pre-initialization test
        Revert "iommu/amd: Fix performance counter initialization"
        iommu/amd: Remove duplicate check of devid
        iommu/exynos: Remove unneeded local variable initialization
        iommu/amd: Page-specific invalidations for more than one page
        iommu/arm-smmu-v3: Remove the unused fields for PREFETCH_CONFIG command
        iommu/vt-d: Avoid unnecessary cache flush in pasid entry teardown
        iommu/vt-d: Invalidate PASID cache when root/context entry changed
        iommu/vt-d: Remove WO permissions on second-level paging entries
        iommu/vt-d: Report the right page fault address
        ...
      4f970105
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · f34b2cf1
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "This is significantly bug fixes and general cleanups. The noteworthy
        new features are fairly small:
      
         - XRC support for HNS and improves RQ operations
      
         - Bug fixes and updates for hns, mlx5, bnxt_re, hfi1, i40iw, rxe, siw
           and qib
      
         - Quite a few general cleanups on spelling, error handling, static
           checker detections, etc
      
         - Increase the number of device ports supported beyond 255. High port
           count software switches now exist
      
         - Several bug fixes for rtrs
      
         - mlx5 Device Memory support for host controlled atomics
      
         - Report SRQ tables through to rdma-tool"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (145 commits)
        IB/qib: Remove redundant assignment to ret
        RDMA/nldev: Add copy-on-fork attribute to get sys command
        RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res
        RDMA/siw: Fix a use after free in siw_alloc_mr
        IB/hfi1: Remove redundant variable rcd
        RDMA/nldev: Add QP numbers to SRQ information
        RDMA/nldev: Return SRQ information
        RDMA/restrack: Add support to get resource tracking for SRQ
        RDMA/nldev: Return context information
        RDMA/core: Add CM to restrack after successful attachment to a device
        RDMA/cma: Skip device which doesn't support CM
        RDMA/rxe: Fix a bug in rxe_fill_ip_info()
        RDMA/mlx5: Expose private query port
        RDMA/mlx4: Remove an unused variable
        RDMA/mlx5: Fix type assignment for ICM DM
        IB/mlx5: Set right RoCE l3 type and roce version while deleting GID
        RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails
        RDMA/cxgb4: add missing qpid increment
        IB/ipoib: Remove unnecessary struct declaration
        RDMA/bnxt_re: Get rid of custom module reference counting
        ...
      f34b2cf1
  6. May 01, 2021
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 9f67672a
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "New features for ext4 this cycle include support for encrypted
        casefold, ensure that deleted file names are cleared in directory
        blocks by zeroing directory entries when they are unlinked or moved as
        part of a hash tree node split. We also improve the block allocator's
        performance on a freshly mounted file system by prefetching block
        bitmaps.
      
        There are also the usual cleanups and bug fixes, including fixing a
        page cache invalidation race when there is mixed buffered and direct
        I/O and the block size is less than page size, and allow the dax flag
        to be set and cleared on inline directories"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (32 commits)
        ext4: wipe ext4_dir_entry2 upon file deletion
        ext4: Fix occasional generic/418 failure
        fs: fix reporting supported extra file attributes for statx()
        ext4: allow the dax flag to be set and cleared on inline directories
        ext4: fix debug format string warning
        ext4: fix trailing whitespace
        ext4: fix various seppling typos
        ext4: fix error return code in ext4_fc_perform_commit()
        ext4: annotate data race in jbd2_journal_dirty_metadata()
        ext4: annotate data race in start_this_handle()
        ext4: fix ext4_error_err save negative errno into superblock
        ext4: fix error code in ext4_commit_super
        ext4: always panic when errors=panic is specified
        ext4: delete redundant uptodate check for buffer
        ext4: do not set SB_ACTIVE in ext4_orphan_cleanup()
        ext4: make prefetch_block_bitmaps default
        ext4: add proc files to monitor new structures
        ext4: improve cr 0 / cr 1 group scanning
        ext4: add MB_NUM_ORDERS macro
        ext4: add mballoc stats proc file
        ...
      9f67672a
    • Linus Torvalds's avatar
      Merge tag 'dlm-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 6bab076a
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This includes more dlm networking cleanups and improvements for making
        dlm shutdowns more robust"
      
      * tag 'dlm-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        fs: dlm: fix missing unlock on error in accept_from_sock()
        fs: dlm: add shutdown hook
        fs: dlm: flush swork on shutdown
        fs: dlm: remove unaligned memory access handling
        fs: dlm: check on minimum msglen size
        fs: dlm: simplify writequeue handling
        fs: dlm: use GFP_ZERO for page buffer
        fs: dlm: change allocation limits
        fs: dlm: add check if dlm is currently running
        fs: dlm: add errno handling to check callback
        fs: dlm: set subclass for othercon sock_mutex
        fs: dlm: set connected bit after accept
        fs: dlm: fix mark setting deadlock
        fs: dlm: fix debugfs dump
      6bab076a