1. 05 May, 2021 15 commits
  2. 03 May, 2021 8 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.13/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 5e321ded
      Linus Torvalds authored
      Pull parisc architecture updates from Helge Deller:
      
       - switch to generic syscall header scripts
      
       - minor typo fix in setup.c
      
      * tag 'for-5.13/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix typo in setup.c
        parisc: syscalls: switch to generic syscallhdr.sh
        parisc: syscalls: switch to generic syscalltbl.sh
      5e321ded
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-5.13-rc1' of git://github.com/c-sky/csky-linux · cda689f8
      Linus Torvalds authored
      Pull arch/csky updates from Guo Ren:
       "Just cleanups"
      
      * tag 'csky-for-linus-5.13-rc1' of git://github.com/c-sky/csky-linux:
        csky: uaccess.h: Coding convention with asm generic
        csky: fix syscache.c fallthrough warning
        csky: Fixup typos
        csky: Remove duplicate include in arch/csky/kernel/entry.S
      cda689f8
    • Linus Torvalds's avatar
      Merge tag 'leds-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · d835ff6c
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Nothing too exciting here, just some fixes"
      
      * tag 'leds-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: pca9532: Assign gpio base dynamically
        leds: trigger: pattern: Switch to using the new API kobj_to_dev()
        leds: LEDS_BLINK_LGM should depend on X86
        leds: lgm: Fix spelling mistake "prepate" -> "prepare"
        MAINTAINERS: Remove Dan Murphy's bouncing email
        leds-lm3642: convert comma to semicolon
        leds: rt4505: Add support for Richtek RT4505 flash LED controller
        leds: rt4505: Add DT binding document for Richtek RT4505
        leds: Kconfig: LEDS_CLASS is usually selected.
        leds: lgm: Improve Kconfig help
        leds: lgm: fix gpiolib dependency
      d835ff6c
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · a7efd197
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Mostly small fixes and two drivers gaining alarm support. Summary:
      
        Subsystem:
      
          - UIE emulation has been reworked to avoid calling driver callbacks
            when it is known it will not work
      
        Drivers:
      
         - ab-eoz9: add alarm support
      
         - pcf8523: add alarm support"
      
      * tag 'rtc-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (27 commits)
        rtc: sysfs: check features instead of ops
        rtc: omap: use rtc_write to access OMAP_RTC_OSC_REG
        rtc: s5m: Remove reference to parent's device pdata
        rtc: ds1307: Fix wday settings for rx8130
        rtc: pcf8523: report oscillator failures
        rtc: pcf8523: add alarm support
        rtc: pcf8523: remove useless define
        rtc: rtc_update_irq_enable: rework UIE emulation
        rtc: ds1307: remove flags
        rtc: ds1307: replace HAS_ALARM by RTC_FEATURE_ALARM
        rtc: imx-sc: remove .read_alarm
        rtc: ds1511: remove unused function
        rtc: fsl-ftm-alarm: add MODULE_TABLE()
        rtc: rtc-spear: replace spin_lock_irqsave by spin_lock in hard IRQ
        dt-bindings: rtc: qcom-pm8xxx-rtc: Add qcom pm8xxx rtc bindings
        rtc: pm8xxx: Add RTC support for PMIC PMK8350
        rtc: ab-eoz9: make use of RTC_FEATURE_ALARM
        rtc: ab-eoz9: add alarm support
        rtc: ab-eoz9: set regmap max_register
        rtc: pcf85063: fallback to parent of_node
        ...
      a7efd197
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 9b1f61d5
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "New feature:
      
         - A new "func-no-repeats" option in tracefs/options directory.
      
           When set the function tracer will detect if the current function
           being traced is the same as the previous one, and instead of
           recording it, it will keep track of the number of times that the
           function is repeated in a row. And when another function is
           recorded, it will write a new event that shows the function that
           repeated, the number of times it repeated and the time stamp of
           when the last repeated function occurred.
      
        Enhancements:
      
         - In order to implement the above "func-no-repeats" option, the ring
           buffer timestamp can now give the accurate timestamp of the event
           as it is being recorded, instead of having to record an absolute
           timestamp for all events. This helps the histogram code which no
           longer needs to waste ring buffer space.
      
         - New validation logic to make sure all trace events that access
           dereferenced pointers do so in a safe way, and will warn otherwise.
      
        Fixes:
      
         - No longer limit the PIDs of tasks that are recorded for
           "saved_cmdlines" to PID_MAX_DEFAULT (32768), as systemd now allows
           for a much larger range. This caused the mapping of PIDs to the
           task names to be dropped for all tasks with a PID greater than
           32768.
      
         - Change trace_clock_global() to never block. This caused a deadlock.
      
        Clean ups:
      
         - Typos, prototype fixes, and removing of duplicate or unused code.
      
         - Better management of ftrace_page allocations"
      
      * tag 'trace-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (32 commits)
        tracing: Restructure trace_clock_global() to never block
        tracing: Map all PIDs to command lines
        ftrace: Reuse the output of the function tracer for func_repeats
        tracing: Add "func_no_repeats" option for function tracing
        tracing: Unify the logic for function tracing options
        tracing: Add method for recording "func_repeats" events
        tracing: Add "last_func_repeats" to struct trace_array
        tracing: Define new ftrace event "func_repeats"
        tracing: Define static void trace_print_time()
        ftrace: Simplify the calculation of page number for ftrace_page->records some more
        ftrace: Store the order of pages allocated in ftrace_page
        tracing: Remove unused argument from "ring_buffer_time_stamp()
        tracing: Remove duplicate struct declaration in trace_events.h
        tracing: Update create_system_filter() kernel-doc comment
        tracing: A minor cleanup for create_system_filter()
        kernel: trace: Mundane typo fixes in the file trace_events_filter.c
        tracing: Fix various typos in comments
        scripts/recordmcount.pl: Make vim and emacs indent the same
        scripts/recordmcount.pl: Make indent spacing consistent
        tracing: Add a verifier to check string pointers for trace events
        ...
      9b1f61d5
    • Linus Torvalds's avatar
      Merge branch 'work.recursive_removal' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 6f8ee8d3
      Linus Torvalds authored
      Pull another simple_recursive_removal() update from Al Viro:
       "I missed one case when simple_recursive_removal() was introduced"
      
      * 'work.recursive_removal' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        qib_fs: switch to simple_recursive_removal()
      6f8ee8d3
    • Linus Torvalds's avatar
      Merge branch 'work.file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 23806a3e
      Linus Torvalds authored
      Pull receive_fd update from Al Viro:
       "Cleanup of receive_fd mess"
      
      * 'work.file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: split receive_fd_replace from __receive_fd
      23806a3e
    • Helge Deller's avatar
      parisc: Fix typo in setup.c · 127f1c09
      Helge Deller authored
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      127f1c09
  3. 02 May, 2021 4 commits
    • 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
    • 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
  4. 01 May, 2021 7 commits
    • 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
  5. 30 Apr, 2021 6 commits
    • 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
    • Linus Torvalds's avatar
      Merge tag 'fuse-update-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 9ec1efbf
      Linus Torvalds authored
      Pull fuse updates from Miklos Szeredi:
      
       - Fix a page locking bug in write (introduced in 2.6.26)
      
       - Allow sgid bit to be killed in setacl()
      
       - Miscellaneous fixes and cleanups
      
      * tag 'fuse-update-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        cuse: simplify refcount
        cuse: prevent clone
        virtiofs: fix userns
        virtiofs: remove useless function
        virtiofs: split requests that exceed virtqueue size
        virtiofs: fix memory leak in virtio_fs_probe()
        fuse: invalidate attrs when page writeback completes
        fuse: add a flag FUSE_SETXATTR_ACL_KILL_SGID to kill SGID
        fuse: extend FUSE_SETXATTR request
        fuse: fix matching of FUSE_DEV_IOC_CLONE command
        fuse: fix a typo
        fuse: don't zero pages twice
        fuse: fix typo for fuse_conn.max_pages comment
        fuse: fix write deadlock
      9ec1efbf
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · d652502e
      Linus Torvalds authored
      Pull overlayfs update from Miklos Szeredi:
      
       - Fix a regression introduced in 5.2 that resulted in valid overlayfs
         mounts being rejected with ELOOP (Too many levels of symbolic links)
      
       - Fix bugs found by various tools
      
       - Miscellaneous improvements and cleanups
      
      * tag 'ovl-update-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: add debug print to ovl_do_getxattr()
        ovl: invalidate readdir cache on changes to dir with origin
        ovl: allow upperdir inside lowerdir
        ovl: show "userxattr" in the mount data
        ovl: trivial typo fixes in the file inode.c
        ovl: fix misspellings using codespell tool
        ovl: do not copy attr several times
        ovl: remove ovl_map_dev_ino() return value
        ovl: fix error for ovl_fill_super()
        ovl: fix missing revert_creds() on error path
        ovl: fix leaked dentry
        ovl: restrict lower null uuid for "xino=auto"
        ovl: check that upperdir path is not on a read-only mount
        ovl: plumb through flush method
      d652502e
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · d42f323a
      Linus Torvalds authored
      Merge misc updates from Andrew Morton:
       "A few misc subsystems and some of MM.
      
        175 patches.
      
        Subsystems affected by this patch series: ia64, kbuild, scripts, sh,
        ocfs2, kfifo, vfs, kernel/watchdog, and mm (slab-generic, slub,
        kmemleak, debug, pagecache, msync, gup, memremap, memcg, pagemap,
        mremap, dma, sparsemem, vmalloc, documentation, kasan, initialization,
        pagealloc, and memory-failure)"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (175 commits)
        mm/memory-failure: unnecessary amount of unmapping
        mm/mmzone.h: fix existing kernel-doc comments and link them to core-api
        mm: page_alloc: ignore init_on_free=1 for debug_pagealloc=1
        net: page_pool: use alloc_pages_bulk in refill code path
        net: page_pool: refactor dma_map into own function page_pool_dma_map
        SUNRPC: refresh rq_pages using a bulk page allocator
        SUNRPC: set rq_page_end differently
        mm/page_alloc: inline __rmqueue_pcplist
        mm/page_alloc: optimize code layout for __alloc_pages_bulk
        mm/page_alloc: add an array-based interface to the bulk page allocator
        mm/page_alloc: add a bulk page allocator
        mm/page_alloc: rename alloced to allocated
        mm/page_alloc: duplicate include linux/vmalloc.h
        mm, page_alloc: avoid page_to_pfn() in move_freepages()
        mm/Kconfig: remove default DISCONTIGMEM_MANUAL
        mm: page_alloc: dump migrate-failed pages
        mm/mempolicy: fix mpol_misplaced kernel-doc
        mm/mempolicy: rewrite alloc_pages_vma documentation
        mm/mempolicy: rewrite alloc_pages documentation
        mm/mempolicy: rename alloc_pages_current to alloc_pages
        ...
      d42f323a
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 65ec0a7d
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "There is a lot going on!
      
        Core changes:
      
         - A semantic change to handle pinmux and pinconf in explicit order
           while up until now we depended on the semantic order in the device
           tree. The device tree is a functional programming language and does
           not imply any order, so the right thing is for the pin control core
           to provide these semantics.
      
         - Add a new pinmux-select debugfs file which makes it possible to go
           in and select functions for a pin manually (iteratively, at the
           prompt) for debugging purposes.
      
         - Fixes to gpio regmap handling for a new pin control driver making
           use of regmap-gpio.
      
         - Use octal permissions on debugfs files.
      
        New drivers:
      
         - A massive rewrite of the former custom pin control driver for MIPS
           Broadcom devices to instead use the pin control subsystem. New pin
           control drivers for BCM6345, BCM6328, BCM6358, BCM6362, BCM6368,
           BCM63268 and BCM6318 SoC variants are implemented.
      
         - Support for PM8350, PM8350B, PM8350C, PMK8350, PMR735A and PMR735B
           in the Qualcomm PMIC GPIO driver. Also the two GPIOs on PM8008 are
           supported.
      
         - Support for the Rockchip RK3568/RK3566 pin controller.
      
         - Support for Ingenic JZ4730, JZ4750, JZ4755, JZ4775 and X2000.
      
         - Support for Mediatek MTK8195.
      
         - Add a new Xilinx ZynqMP pin control driver.
      
        Driver improvements and non-urgent fixes:
      
         - Modularization and improvements of the Rockchip drivers.
      
         - Some new pins added to the description of new Renesas SoCs.
      
         - Clarifications of the GPIO base calculation in the Intel driver.
      
         - Fix the function names for the MPP54 and MPP55 pins in the Armada
           CP110 pin controller.
      
         - GPIO wakeup interrupt map for Qualcomm SC7280 and SM8350.
      
         - Support for ACPI probing of the Qualcomm SC8180x.
      
         - Fix interrupt clear status on rockchip
      
         - Fix some missing pins on the Ingenic JZ4770, some semantic fixes
           for the behaviour of the Ingenic pin controller. Add DMIC pins for
           JZ4780, X1000, X1500 and X1830.
      
         - A slew of janitorial like of_node_put() calls"
      
      * tag 'pinctrl-v5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (99 commits)
        pinctrl: Add Xilinx ZynqMP pinctrl driver support
        firmware: xilinx: Add pinctrl support
        pinctrl: rockchip: do coding style for mux route struct
        pinctrl: Add PIN_CONFIG_MODE_PWM to enum pin_config_param
        pinctrl: Introduce MODE group in enum pin_config_param
        pinctrl: Keep enum pin_config_param ordered by name
        dt-bindings: pinctrl: Add binding for ZynqMP pinctrl driver
        pinctrl: core: Fix kernel doc string for pin_get_name()
        pinctrl: mediatek: use spin lock in mtk_rmw
        pinctrl: add drive for I2C related pins on MT8195
        pinctrl: add pinctrl driver on mt8195
        dt-bindings: pinctrl: mt8195: add pinctrl file and binding document
        pinctrl: Ingenic: Add pinctrl driver for X2000.
        pinctrl: Ingenic: Add pinctrl driver for JZ4775.
        pinctrl: Ingenic: Add pinctrl driver for JZ4755.
        pinctrl: Ingenic: Add pinctrl driver for JZ4750.
        pinctrl: Ingenic: Add pinctrl driver for JZ4730.
        dt-bindings: pinctrl: Add bindings for new Ingenic SoCs.
        pinctrl: Ingenic: Reformat the code.
        pinctrl: Ingenic: Add DMIC pins support for Ingenic SoCs.
        ...
      65ec0a7d