1. 06 Jul, 2021 1 commit
    • Mike Rapoport's avatar
      arm: ioremap: don't abuse pfn_valid() to check if pfn is in RAM · 024591f9
      Mike Rapoport authored
      The semantics of pfn_valid() is to check presence of the memory map for a
      PFN and not whether a PFN is in RAM. The memory map may be present for a
      hole in the physical memory and if such hole corresponds to an MMIO range,
      __arm_ioremap_pfn_caller() will produce a WARN() and fail:
      
      [    2.863406] WARNING: CPU: 0 PID: 1 at arch/arm/mm/ioremap.c:287 __arm_ioremap_pfn_caller+0xf0/0x1dc
      [    2.864812] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.13.0-09882-ga180bd1d #1
      [    2.865263] Hardware name: Generic DT based system
      [    2.865711] Backtrace:
      [    2.866063] [<80b07e58>] (dump_backtrace) from [<80b080ac>] (show_stack+0x20/0x24)
      [    2.866633]  r7:00000009 r6:0000011f r5:60000153 r4:80ddd1c0
      [    2.866922] [<80b0808c>] (show_stack) from [<80b18df0>] (dump_stack_lvl+0x58/0x74)
      [    2.867117] [<80b18d98>] (dump_stack_lvl) from [<80b18e20>] (dump_stack+0x14/0x1c)
      [    2.867309]  r5:80118cac r4:80dc6774
      [    2.867404] [<80b18e0c>] (dump_stack) from [<80122fcc>] (__warn+0xe4/0x150)
      [    2.867583] [<80122ee8>] (__warn) from [<80b08850>] (warn_slowpath_fmt+0x88/0xc0)
      [    2.867774]  r7:0000011f r6:80dc6774 r5:00000000 r4:814c4000
      [    2.867917] [<80b087cc>] (warn_slowpath_fmt) from [<80118cac>] (__arm_ioremap_pfn_caller+0xf0/0x1dc)
      [    2.868158]  r9:00000001 r8:9ef00000 r7:80e8b0d4 r6:0009ef00 r5:00000000 r4:00100000
      [    2.868346] [<80118bbc>] (__arm_ioremap_pfn_caller) from [<80118df8>] (__arm_ioremap_caller+0x60/0x68)
      [    2.868581]  r9:9ef00000 r8:821b6dc0 r7:00100000 r6:00000000 r5:815d1010 r4:80118d98
      [    2.868761] [<80118d98>] (__arm_ioremap_caller) from [<80118fcc>] (ioremap+0x28/0x30)
      [    2.868958] [<80118fa4>] (ioremap) from [<8062871c>] (__devm_ioremap_resource+0x154/0x1c8)
      [    2.869169]  r5:815d1010 r4:814c5d2c
      [    2.869263] [<806285c8>] (__devm_ioremap_resource) from [<8062899c>] (devm_ioremap_resource+0x14/0x18)
      [    2.869495]  r9:9e9f57a0 r8:814c4000 r7:815d1000 r6:815d1010 r5:8177c078 r4:815cf400
      [    2.869676] [<80628988>] (devm_ioremap_resource) from [<8091c6e4>] (fsi_master_acf_probe+0x1a8/0x5d8)
      [    2.869909] [<8091c53c>] (fsi_master_acf_probe) from [<80723dbc>] (platform_probe+0x68/0xc8)
      [    2.870124]  r9:80e9dadc r8:00000000 r7:815d1010 r6:810c1000 r5:815d1010 r4:00000000
      [    2.870306] [<80723d54>] (platform_probe) from [<80721208>] (really_probe+0x1cc/0x470)
      [    2.870512]  r7:815d1010 r6:810c1000 r5:00000000 r4:815d1010
      [    2.870651] [<8072103c>] (really_probe) from [<807215cc>] (__driver_probe_device+0x120/0x1fc)
      [    2.870872]  r7:815d1010 r6:810c1000 r5:810c1000 r4:815d1010
      [    2.871013] [<807214ac>] (__driver_probe_device) from [<807216e8>] (driver_probe_device+0x40/0xd8)
      [    2.871244]  r9:80e9dadc r8:00000000 r7:815d1010 r6:810c1000 r5:812feaa0 r4:812fe994
      [    2.871428] [<807216a8>] (driver_probe_device) from [<80721a58>] (__driver_attach+0xa8/0x1d4)
      [    2.871647]  r9:80e9dadc r8:00000000 r7:00000000 r6:810c1000 r5:815d1054 r4:815d1010
      [    2.871830] [<807219b0>] (__driver_attach) from [<8071ee8c>] (bus_for_each_dev+0x88/0xc8)
      [    2.872040]  r7:00000000 r6:814c4000 r5:807219b0 r4:810c1000
      [    2.872194] [<8071ee04>] (bus_for_each_dev) from [<80722208>] (driver_attach+0x28/0x30)
      [    2.872418]  r7:810a2aa0 r6:00000000 r5:821b6000 r4:810c1000
      [    2.872570] [<807221e0>] (driver_attach) from [<8071f80c>] (bus_add_driver+0x114/0x200)
      [    2.872788] [<8071f6f8>] (bus_add_driver) from [<80722ec4>] (driver_register+0x98/0x128)
      [    2.873011]  r7:81011d0c r6:814c4000 r5:00000000 r4:810c1000
      [    2.873167] [<80722e2c>] (driver_register) from [<80725240>] (__platform_driver_register+0x2c/0x34)
      [    2.873408]  r5:814dcb80 r4:80f2a764
      [    2.873513] [<80725214>] (__platform_driver_register) from [<80f2a784>] (fsi_master_acf_init+0x20/0x28)
      [    2.873766] [<80f2a764>] (fsi_master_acf_init) from [<80f014a8>] (do_one_initcall+0x108/0x290)
      [    2.874007] [<80f013a0>] (do_one_initcall) from [<80f01840>] (kernel_init_freeable+0x1ac/0x230)
      [    2.874248]  r9:80e9dadc r8:80f3987c r7:80f3985c r6:00000007 r5:814dcb80 r4:80f627a4
      [    2.874456] [<80f01694>] (kernel_init_freeable) from [<80b19f44>] (kernel_init+0x20/0x138)
      [    2.874691]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:80b19f24
      [    2.874894]  r4:00000000
      [    2.874977] [<80b19f24>] (kernel_init) from [<80100170>] (ret_from_fork+0x14/0x24)
      [    2.875231] Exception stack(0x814c5fb0 to 0x814c5ff8)
      [    2.875535] 5fa0:                                     00000000 00000000 00000000 00000000
      [    2.875849] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [    2.876133] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
      [    2.876363]  r5:80b19f24 r4:00000000
      [    2.876683] ---[ end trace b2f74b8536829970 ]---
      [    2.876911] fsi-master-acf gpio-fsi: ioremap failed for resource [mem 0x9ef00000-0x9effffff]
      [    2.877492] fsi-master-acf gpio-fsi: Error -12 mapping coldfire memory
      [    2.877689] fsi-master-acf: probe of gpio-fsi failed with error -12
      
      Use memblock_is_map_memory() instead of pfn_valid() to check if a PFN is in
      RAM or not.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Fixes: a4d5613c ("arm: extend pfn_valid to take into account freed memory map alignment")
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      024591f9
  2. 04 Jul, 2021 12 commits
    • Linus Torvalds's avatar
      iov_iter: remove uaccess_kernel() warning from iov_iter_init() · a180bd1d
      Linus Torvalds authored
      This warning was there to catch any architectures that still use
      CONFIG_SET_FS, and that would mis-use iov_iter_init() for anything that
      wasn't a proper user space pointer.  So that
      
              WARN_ON_ONCE(uaccess_kernel());
      
      makes perfect conceptual sense: you really shouldn't use a kernel
      pointer with set_fs(KERNEL_DS) and then pass it to iov_iter_init().
      
      HOWEVER.
      
      Guenter Roeck reports that this warning actually triggers in no-mmu
      configurations of both ARM and m68k.  And the reason isn't that they
      pass in a kernel pointer under set_fs(KERNEL_DS) at all: the reason is
      that in those configurations, "uaccess_kernel()" is simply not reliable.
      
      Those no-mmu setups set USER_DS and KERNEL_DS to the same values, so you
      can't test for the difference.
      
      In particular, the no-mmu case for ARM does
      
         #define USER_DS                 KERNEL_DS
         #define uaccess_kernel()        (true)
      
      so USER_DS and KERNEL_DS have the same value, and uaccess_kernel() is
      always trivially true.
      
      The m68k case is slightly different and not quite as obvious.  It does
      (spread out over multiple header files just to be extra exciting:
      asm/processor.h, asm/segment.h and asm-generic/uaccess.h):
      
         #define TASK_SIZE       (0xFFFFFFFFUL)
         #define USER_DS         MAKE_MM_SEG(TASK_SIZE)
         #define KERNEL_DS       MAKE_MM_SEG(~0UL)
         #define get_fs()        (current_thread_info()->addr_limit)
         #define uaccess_kernel() (get_fs().seg == KERNEL_DS.seg)
      
      but the end result is the same: uaccess_kernel() will always be true,
      because USER_DS and KERNEL_DS end up having the same value, even if that
      value is defined differently.
      
      This is very arguably a misfeature in those implementations, but in the
      end we don't really care.  All modern architectures have gotten rid of
      set_fs() already, and generic kernel code never uses it.  And while the
      sanity check was a nice idea, an architecture would have to go the extra
      mile to actually break this.
      
      So this well-intentioned warning isn't really all that likely to find
      anything but these known false positives, and as such just isn't worth
      maintaining.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Fixes: 8cd54c1c ("iov_iter: separate direction from flavour")
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a180bd1d
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-2021.07.04' of... · 28e92f99
      Linus Torvalds authored
      Merge branch 'core-rcu-2021.07.04' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu
      
      Pull RCU updates from Paul McKenney:
      
       - Bitmap parsing support for "all" as an alias for all bits
      
       - Documentation updates
      
       - Miscellaneous fixes, including some that overlap into mm and lockdep
      
       - kvfree_rcu() updates
      
       - mem_dump_obj() updates, with acks from one of the slab-allocator
         maintainers
      
       - RCU NOCB CPU updates, including limited deoffloading
      
       - SRCU updates
      
       - Tasks-RCU updates
      
       - Torture-test updates
      
      * 'core-rcu-2021.07.04' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (78 commits)
        tasks-rcu: Make show_rcu_tasks_gp_kthreads() be static inline
        rcu-tasks: Make ksoftirqd provide RCU Tasks quiescent states
        rcu: Add missing __releases() annotation
        rcu: Remove obsolete rcu_read_unlock() deadlock commentary
        rcu: Improve comments describing RCU read-side critical sections
        rcu: Create an unrcu_pointer() to remove __rcu from a pointer
        srcu: Early test SRCU polling start
        rcu: Fix various typos in comments
        rcu/nocb: Unify timers
        rcu/nocb: Prepare for fine-grained deferred wakeup
        rcu/nocb: Only cancel nocb timer if not polling
        rcu/nocb: Delete bypass_timer upon nocb_gp wakeup
        rcu/nocb: Cancel nocb_timer upon nocb_gp wakeup
        rcu/nocb: Allow de-offloading rdp leader
        rcu/nocb: Directly call __wake_nocb_gp() from bypass timer
        rcu: Don't penalize priority boosting when there is nothing to boost
        rcu: Point to documentation of ordering guarantees
        rcu: Make rcu_gp_cleanup() be noinline for tracing
        rcu: Restrict RCU_STRICT_GRACE_PERIOD to at most four CPUs
        rcu: Make show_rcu_gp_kthreads() dump rcu_node structures blocking GP
        ...
      28e92f99
    • Linus Torvalds's avatar
      Merge branch 'lkmm.2021.05.10c' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · da803f82
      Linus Torvalds authored
      Pull lkmm fixlet from Paul E McKenney.
      
      Fix missing underscore in Linux-kernel memory model docs.
      
      * 'lkmm.2021.05.10c' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        tools/memory-model: Fix smp_mb__after_spinlock() spelling
      da803f82
    • Linus Torvalds's avatar
      Merge branch 'kcsan.2021.05.18a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · b97efd5e
      Linus Torvalds authored
      Pull KCSAN updates from Paul McKenney.
      
      * 'kcsan.2021.05.18a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        kcsan: Use URL link for pointing access-marking.txt
        kcsan: Document "value changed" line
        kcsan: Report observed value changes
        kcsan: Remove kcsan_report_type
        kcsan: Remove reporting indirection
        kcsan: Refactor access_info initialization
        kcsan: Fold panic() call into print_report()
        kcsan: Refactor passing watchpoint/other_info
        kcsan: Distinguish kcsan_report() calls
        kcsan: Simplify value change detection
        kcsan: Add pointer to access-marking.txt to data_race() bullet
      b97efd5e
    • Linus Torvalds's avatar
      Merge tag 'memblock-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · a412897f
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
       "Fix arm crashes caused by holes in the memory map.
      
        The coordination between freeing of unused memory map, pfn_valid() and
        core mm assumptions about validity of the memory map in various ranges
        was not designed for complex layouts of the physical memory with a lot
        of holes all over the place.
      
        Kefen Wang reported crashes in move_freepages() on a system with the
        following memory layout [1]:
      
      	node 0: [mem 0x0000000080a00000-0x00000000855fffff]
      	node 0: [mem 0x0000000086a00000-0x0000000087dfffff]
      	node 0: [mem 0x000000008bd00000-0x000000008c4fffff]
      	node 0: [mem 0x000000008e300000-0x000000008ecfffff]
      	node 0: [mem 0x0000000090d00000-0x00000000bfffffff]
      	node 0: [mem 0x00000000cc000000-0x00000000dc9fffff]
      	node 0: [mem 0x00000000de700000-0x00000000de9fffff]
      	node 0: [mem 0x00000000e0800000-0x00000000e0bfffff]
      	node 0: [mem 0x00000000f4b00000-0x00000000f6ffffff]
      	node 0: [mem 0x00000000fda00000-0x00000000ffffefff]
      
        These crashes can be mitigated by enabling CONFIG_HOLES_IN_ZONE on ARM
        and essentially turning pfn_valid_within() to pfn_valid() instead of
        having it hardwired to 1 on that architecture, but this would require
        to keep CONFIG_HOLES_IN_ZONE solely for this purpose.
      
        A cleaner approach is to update ARM's implementation of pfn_valid() to
        take into accounting rounding of the freed memory map to pageblock
        boundaries and make sure it returns true for PFNs that have memory map
        entries even if there is no physical memory backing those PFNs"
      
      Link: https://lore.kernel.org/lkml/2a1592ad-bc9d-4664-fd19-f7448a37edc0@huawei.com [1]
      
      * tag 'memblock-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        arm: extend pfn_valid to take into account freed memory map alignment
        memblock: ensure there is no overflow in memblock_overlaps_region()
        memblock: align freed memory map on pageblock boundaries with SPARSEMEM
        memblock: free_unused_memmap: use pageblock units instead of MAX_ORDER
      a412897f
    • Linus Torvalds's avatar
      Merge tag 's390-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 2bb919b6
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Rework inline asm to get rid of error prone "register asm"
         constructs, which are problematic especially when code
         instrumentation is enabled.
      
         In particular introduce and use register pair union to allocate
         even/odd register pairs. Unfortunately this breaks compatibility with
         older clang compilers and minimum clang version for s390 has been
         raised to 13.
      
           https://lore.kernel.org/linux-next/CAK7LNARuSmPCEy-ak0erPrPTgZdGVypBROFhtw+=3spoGoYsyw@mail.gmail.com/
      
       - Fix gcc 11 warnings, which triggered various minor reworks all over
         the code.
      
       - Add zstd kernel image compression support.
      
       - Rework boot CPU lowcore handling.
      
       - De-duplicate and move kernel memory layout setup logic earlier.
      
       - Few fixes in preparation for FORTIFY_SOURCE performing compile-time
         and run-time field bounds checking for mem functions.
      
       - Remove broken and unused power management support leftovers in s390
         drivers.
      
       - Disable stack-protector for decompressor and purgatory to fix
         buildroot build.
      
       - Fix vt220 sclp console name to match the char device name.
      
       - Enable HAVE_IOREMAP_PROT and add zpci_set_irq()/zpci_clear_irq() in
         zPCI code.
      
       - Remove some implausible WARN_ON_ONCEs and remove arch specific
         counter transaction call backs in favour of default transaction
         handling in perf code.
      
       - Extend/add new uevents for online/config/mode state changes of AP
         card / queue device in zcrypt.
      
       - Minor entry and ccwgroup code improvements.
      
       - Other small various fixes and improvements all over the code.
      
      * tag 's390-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (91 commits)
        s390/dasd: use register pair instead of register asm
        s390/qdio: get rid of register asm
        s390/ioasm: use symbolic names for asm operands
        s390/ioasm: get rid of register asm
        s390/cmf: get rid of register asm
        s390/lib,string: get rid of register asm
        s390/lib,uaccess: get rid of register asm
        s390/string: get rid of register asm
        s390/cmpxchg: use register pair instead of register asm
        s390/mm,pages-states: get rid of register asm
        s390/lib,xor: get rid of register asm
        s390/timex: get rid of register asm
        s390/hypfs: use register pair instead of register asm
        s390/zcrypt: Switch to flexible array member
        s390/speculation: Use statically initialized const for instructions
        virtio/s390: get rid of open-coded kvm hypercall
        s390/pci: add zpci_set_irq()/zpci_clear_irq()
        scripts/min-tool-version.sh: Raise minimum clang version to 13.0.0 for s390
        s390/ipl: use register pair instead of register asm
        s390/mem_detect: fix tprot() program check new psw handling
        ...
      2bb919b6
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-5.14-rc1' of git://github.com/c-sky/csky-linux · 0d4d4c6f
      Linus Torvalds authored
      Pull arch/csky updates from Guo Ren:
       "A small cleanup and a fixup"
      
      * tag 'csky-for-linus-5.14-rc1' of git://github.com/c-sky/csky-linux:
        csky: Kconfig: Remove unused selects
        csky: syscache: Fixup duplicate cache flush
      0d4d4c6f
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · 0c66a95c
      Linus Torvalds authored
      Pull CXL (Compute Express Link) updates from Dan Williams:
       "This subsystem is still in the build-out phase as the bulk of the
        update is improvements to enumeration and fleshing out the device
        model. In terms of new features, more mailbox commands have been added
        to the allowed-list in support of persistent memory provisioning
        support targeting v5.15.
      
        The critical update from an enumeration perspective is support for the
        CXL Fixed Memory Window Structure that indicates to Linux which system
        physical address ranges decode to the CXL Host Bridges in the system.
        This allows the driver to detect which address ranges have been mapped
        by firmware and what address ranges are available for future hotplug.
      
        So, again, mostly skeleton this round, with more meat targeting v5.15.
      
        Summary:
      
         - Add support for the CXL Fixed Memory Window Structure, a recent
           extension of the ACPI CEDT (CXL Early Discovery Table)
      
         - Add infrastructure for component registers
      
         - Add HDM (Host-managed device memory) decoder definitions
      
         - Define a device model for an HDM decoder tree
      
         - Bridge CXL persistent memory capabilities to an NVDIMM bus /
           device-model
      
         - Switch to fine grained mapping of CXL MMIO registers to allow
           different drivers / system software to own individual register
           blocks
      
         - Enable media provisioning commands, and publish the label storage
           area size in sysfs
      
         - Miscellaneous cleanups and fixes"
      
      * tag 'cxl-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (34 commits)
        cxl/pci: Rename CXL REGLOC ID
        cxl/acpi: Use the ACPI CFMWS to create static decoder objects
        cxl/acpi: Add the Host Bridge base address to CXL port objects
        cxl/pmem: Register 'pmem' / cxl_nvdimm devices
        libnvdimm: Drop unused device power management support
        libnvdimm: Export nvdimm shutdown helper, nvdimm_delete()
        cxl/pmem: Add initial infrastructure for pmem support
        cxl/core: Add cxl-bus driver infrastructure
        cxl/pci: Add media provisioning required commands
        cxl/component_regs: Fix offset
        cxl/hdm: Fix decoder count calculation
        cxl/acpi: Introduce cxl_decoder objects
        cxl/acpi: Enumerate host bridge root ports
        cxl/acpi: Add downstream port data to cxl_port instances
        cxl/Kconfig: Default drivers to CONFIG_CXL_BUS
        cxl/acpi: Introduce the root of a cxl_port topology
        cxl/pci: Fixup devm_cxl_iomap_block() to take a 'struct device *'
        cxl/pci: Add HDM decoder capabilities
        cxl/pci: Reserve individual register block regions
        cxl/pci: Map registers based on capabilities
        ...
      0c66a95c
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 855ff900
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - core supports now bus regulators controlling power for SCL/SDA
      
       - quite some DT binding conversions to YAML
      
       - added a seperate DT binding for the optional SMBus Alert feature
      
       - documentation with examples how to deal with I2C sysfs files
      
       - some bigger rework for the i801 driver
      
       - and a few usual driver updates
      
      * 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (42 commits)
        i2c: ali1535: mention that the device should not be disabled
        i2c: mpc: Restore reread of I2C status register
        i2c: core-smbus: Expose PEC calculate function for generic use
        Documentation: i2c: Add doc for I2C sysfs
        i2c: core: Disable client irq on reboot/shutdown
        dt-bindings: i2c: update bindings for MT8195 SoC
        i2c: imx: Fix some checkpatch warnings
        i2c: davinci: Simplify with dev_err_probe()
        i2c: cadence: Simplify with dev_err_probe()
        i2c: xiic: Simplify with dev_err_probe()
        i2c: cadence: Clear HOLD bit before xfer_size register rolls over
        dt-bindings: i2c: ce4100: Replace "ti,pcf8575" by "nxp,pcf8575"
        i2c: i801: Improve i801_setup_hstcfg
        i2c: i801: Use driver name constant instead of function dev_driver_string
        i2c: i801: Simplify initialization of i2c_board_info in i801_probe_optional_slaves
        i2c: i801: Improve status polling
        i2c: cht-wc: Replace of_node by NULL
        i2c: riic: Add RZ/G2L support
        dt-bindings: i2c: renesas,riic: Document RZ/G2L I2C controller
        dt-bindings: i2c: renesas,iic: Convert to json-schema
        ...
      855ff900
    • Martin K. Petersen's avatar
      scsi: blkcg: Fix application ID config options · d2500a0c
      Martin K. Petersen authored
      Commit d2bcbeab ("scsi: blkcg: Add app identifier support for
      blkcg") introduced an FC_APPID config option under SCSI. However, the
      added config option is not used anywhere. Simply remove it.
      
      The block layer BLK_CGROUP_FC_APPID config option is what actually
      controls whether the application ID code should be built or not. Make
      this option dependent on NVMe over FC since that is currently the only
      transport which supports the capability.
      
      Fixes: d2bcbeab ("scsi: blkcg: Add app identifier support for blkcg")
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d2500a0c
    • Guo Ren's avatar
      csky: Kconfig: Remove unused selects · 90dc8c0e
      Guo Ren authored
       - GENERIC_ALLOCATOR is duplicated
       - Remove USB_ARCH_HAS_OHCI & USB_ARCH_HAS_EHCI, because they
         have been removed from linux.
      Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      90dc8c0e
    • Guo Ren's avatar
      csky: syscache: Fixup duplicate cache flush · 6ea42c84
      Guo Ren authored
      The current csky logic of sys_cacheflush is wrong, it'll cause
      icache flush call dcache flush again. Now fixup it with a
      conditional "break & fallthrough".
      
      Fixes: 997153b9 ("csky: Add flush_icache_mm to defer flush icache all")
      Fixes: 0679d29d ("csky: fix syscache.c fallthrough warning")
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Co-Developed-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      6ea42c84
  3. 03 Jul, 2021 8 commits
    • Linus Torvalds's avatar
      Merge tag 'leds-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 303392fd
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "This contains quite a lot of fixes, with more fixes in my inbox that
        did not make it (sorry)"
      
      * tag 'leds-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds: (36 commits)
        leds: lgm: Fix up includes
        leds: ktd2692: Fix an error handling path
        leds: as3645a: Fix error return code in as3645a_parse_node()
        leds: turris-omnia: add missing MODULE_DEVICE_TABLE
        leds: lp55xx: Initialize enable GPIO direction to output
        leds: lm36274: Add missed property.h
        leds: el15203000: Make error handling more robust
        leds: pwm: Make error handling more robust
        leds: lt3593: Make use of device properties
        leds: lp50xx: Put fwnode in error case during ->probe()
        leds: lm3697: Don't spam logs when probe is deferred
        leds: lm3692x: Put fwnode in any case during ->probe()
        leds: lm36274: Correct headers (of*.h -> mod_devicetable.h)
        leds: lm36274: Put fwnode in error case during ->probe()
        leds: lm3532: Make error handling more robust
        leds: lm3532: select regmap I2C API
        leds: lgm-sso: Drop duplicate NULL check for GPIO operations
        leds: lgm-sso: Remove unneeded of_match_ptr()
        leds: lgm-sso: Fix clock handling
        leds: el15203000: Introduce to_el15203000_led() helper
        ...
      303392fd
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.14-rc1' of git://github.com/awilliam/linux-vfio · 8e8d9442
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Module reference fixes, structure renaming (Max Gurtovoy)
      
       - Export and use common pci_dev_trylock() (Luis Chamberlain)
      
       - Enable direct mdev device creation and probing by parent (Christoph
         Hellwig & Jason Gunthorpe)
      
       - Fix mdpy error path leak (Colin Ian King)
      
       - Fix mtty list entry leak (Jason Gunthorpe)
      
       - Enforce mtty device limit (Alex Williamson)
      
       - Resolve concurrent vfio-pci mmap faults (Alex Williamson)
      
      * tag 'vfio-v5.14-rc1' of git://github.com/awilliam/linux-vfio:
        vfio/pci: Handle concurrent vma faults
        vfio/mtty: Enforce available_instances
        vfio/mtty: Delete mdev_devices_list
        vfio: use the new pci_dev_trylock() helper to simplify try lock
        PCI: Export pci_dev_trylock() and pci_dev_unlock()
        vfio/mdpy: Fix memory leak of object mdev_state->vconfig
        vfio/iommu_type1: rename vfio_group struck to vfio_iommu_group
        vfio/mbochs: Convert to use vfio_register_group_dev()
        vfio/mdpy: Convert to use vfio_register_group_dev()
        vfio/mtty: Convert to use vfio_register_group_dev()
        vfio/mdev: Allow the mdev_parent_ops to specify the device driver to bind
        vfio/mdev: Remove CONFIG_VFIO_MDEV_DEVICE
        driver core: Export device_driver_attach()
        driver core: Don't return EPROBE_DEFER to userspace during sysfs bind
        driver core: Flow the return code from ->probe() through to sysfs bind
        driver core: Better distinguish probe errors in really_probe
        driver core: Pull required checks into driver_probe_device()
        vfio/platform: remove unneeded parent_module attribute
        vfio: centralize module refcount in subsystem layer
      8e8d9442
    • Linus Torvalds's avatar
      Merge branch 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 58ec9059
      Linus Torvalds authored
      Pull vfs name lookup updates from Al Viro:
       "Small namei.c patch series, mostly to simplify the rules for nameidata
        state. It's actually from the previous cycle - but I didn't post it
        for review in time...
      
        Changes visible outside of fs/namei.c: file_open_root() calling
        conventions change, some freed bits in LOOKUP_... space"
      
      * 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        namei: make sure nd->depth is always valid
        teach set_nameidata() to handle setting the root as well
        take LOOKUP_{ROOT,ROOT_GRABBED,JUMPED} out of LOOKUP_... space
        switch file_open_root() to struct path
      58ec9059
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d3acb15a
      Linus Torvalds authored
      Pull iov_iter updates from Al Viro:
       "iov_iter cleanups and fixes.
      
        There are followups, but this is what had sat in -next this cycle. IMO
        the macro forest in there became much thinner and easier to follow..."
      
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (37 commits)
        csum_and_copy_to_pipe_iter(): leave handling of csum_state to caller
        clean up copy_mc_pipe_to_iter()
        pipe_zero(): we don't need no stinkin' kmap_atomic()...
        iov_iter: clean csum_and_copy_...() primitives up a bit
        copy_page_from_iter(): don't need kmap_atomic() for kvec/bvec cases
        copy_page_to_iter(): don't bother with kmap_atomic() for bvec/kvec cases
        iterate_xarray(): only of the first iteration we might get offset != 0
        pull handling of ->iov_offset into iterate_{iovec,bvec,xarray}
        iov_iter: make iterator callbacks use base and len instead of iovec
        iov_iter: make the amount already copied available to iterator callbacks
        iov_iter: get rid of separate bvec and xarray callbacks
        iov_iter: teach iterate_{bvec,xarray}() about possible short copies
        iterate_bvec(): expand bvec.h macro forest, massage a bit
        iov_iter: unify iterate_iovec and iterate_kvec
        iov_iter: massage iterate_iovec and iterate_kvec to logics similar to iterate_bvec
        iterate_and_advance(): get rid of magic in case when n is 0
        csum_and_copy_to_iter(): massage into form closer to csum_and_copy_from_iter()
        iov_iter: replace iov_iter_copy_from_user_atomic() with iterator-advancing variant
        [xarray] iov_iter_npages(): just use DIV_ROUND_UP()
        iov_iter_npages(): don't bother with iterate_all_kinds()
        ...
      d3acb15a
    • Linus Torvalds's avatar
      Merge branch 'work.d_path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · f92a322a
      Linus Torvalds authored
      Pull vfs d_path() updates from Al Viro:
       "d_path.c refactoring"
      
      * 'work.d_path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        getcwd(2): clean up error handling
        d_path: prepend_path() is unlikely to return non-zero
        d_path: prepend_path(): lift the inner loop into a new helper
        d_path: prepend_path(): lift resetting b in case when we'd return 3 out of loop
        d_path: prepend_path(): get rid of vfsmnt
        d_path: introduce struct prepend_buffer
        d_path: make prepend_name() boolean
        d_path: lift -ENAMETOOLONG handling into callers of prepend_path()
        d_path: don't bother with return value of prepend()
        getcwd(2): saner logics around prepend_path() call
        d_path: get rid of path_with_deleted()
        d_path: regularize handling of root dentry in __dentry_path()
        d_path: saner calling conventions for __dentry_path()
        d_path: "\0" is {0,0}, not {0}
      f92a322a
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 757fa80f
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - Added option for per CPU threads to the hwlat tracer
      
       - Have hwlat tracer handle hotplug CPUs
      
       - New tracer: osnoise, that detects latency caused by interrupts,
         softirqs and scheduling of other tasks.
      
       - Added timerlat tracer that creates a thread and measures in detail
         what sources of latency it has for wake ups.
      
       - Removed the "success" field of the sched_wakeup trace event. This has
         been hardcoded as "1" since 2015, no tooling should be looking at it
         now. If one exists, we can revert this commit, fix that tool and try
         to remove it again in the future.
      
       - tgid mapping fixed to handle more than PID_MAX_DEFAULT pids/tgids.
      
       - New boot command line option "tp_printk_stop", as tp_printk causes
         trace events to write to console. When user space starts, this can
         easily live lock the system. Having a boot option to stop just after
         boot up is useful to prevent that from happening.
      
       - Have ftrace_dump_on_oops boot command line option take numbers that
         match the numbers shown in /proc/sys/kernel/ftrace_dump_on_oops.
      
       - Bootconfig clean ups, fixes and enhancements.
      
       - New ktest script that tests bootconfig options.
      
       - Add tracepoint_probe_register_may_exist() to register a tracepoint
         without triggering a WARN*() if it already exists. BPF has a path
         from user space that can do this. All other paths are considered a
         bug.
      
       - Small clean ups and fixes
      
      * tag 'trace-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (49 commits)
        tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
        tracing: Simplify & fix saved_tgids logic
        treewide: Add missing semicolons to __assign_str uses
        tracing: Change variable type as bool for clean-up
        trace/timerlat: Fix indentation on timerlat_main()
        trace/osnoise: Make 'noise' variable s64 in run_osnoise()
        tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing
        tracing: Fix spelling in osnoise tracer "interferences" -> "interference"
        Documentation: Fix a typo on trace/osnoise-tracer
        trace/osnoise: Fix return value on osnoise_init_hotplug_support
        trace/osnoise: Make interval u64 on osnoise_main
        trace/osnoise: Fix 'no previous prototype' warnings
        tracing: Have osnoise_main() add a quiescent state for task rcu
        seq_buf: Make trace_seq_putmem_hex() support data longer than 8
        seq_buf: Fix overflow in seq_buf_putmem_hex()
        trace/osnoise: Support hotplug operations
        trace/hwlat: Support hotplug operations
        trace/hwlat: Protect kdata->kthread with get/put_online_cpus
        trace: Add timerlat tracer
        trace: Add osnoise tracer
        ...
      757fa80f
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · a70bb580
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
      
       - Refine reserved memory nomap handling
      
       - Merge some PCI and non-PCI address handling implementations
      
       - Simplify of_address.h header ifdefs
      
       - Improve printk handling of some 64-bit types
      
       - Convert adi,adv7511, Arm ccree, Arm SCMI, Arm SCU, Arm TWD timer, Arm
         VIC, arm,sbsa-gwdt, Arm/Amlogic SCPI, Aspeed I2C, Broadcom iProc PWM,
         linaro,optee-tz, MDIO GPIO, Mediatek RNG, MTD physmap, NXP
         pcf8563/pcf85263/pcf85363, Renesas TPU, renesas,emev2-smu,
         renesas,r9a06g032-sysctrl, sysc-rmobile, Tegra20 EMC, TI AM56 PCI, TI
         OMAP mailbox, TI SCI bindings, virtio-mmio, Zynq FPGA, and ZynqMP RTC
         to DT schema
      
       - Convert mux and mux controller bindings to schema. This includes MDIO
         IIO, and I2C muxes.
      
       - Add Arm PL031 RTC binding schema
      
       - Add vendor prefixes for StarFive Technology Co. Ltd. and Insignal Ltd
      
       - Fix some stale doc references
      
       - Remove stale property-units.txt. Superseded by schema in dt-schema
         repo.
      
       - Fixes for 'unevaluatedProperties' handling (enabled with experimental
         json-schema support)
      
       - Drop redundant usage of minItems and maxItems across the tree
      
       - Update some examples to use bindings with a schema
      
      * tag 'devicetree-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (83 commits)
        dt-bindings: Fix 'unevaluatedProperties' errors in DT graph users
        dt-bindings: display: renesas,du: Fix 'ports' reference
        dt-bindings: media: adv7180: Add missing video-interfaces.yaml reference
        dt-bindings: crypto: ccree: Convert to json-schema
        dt-bindings: fpga: zynq: convert bindings to YAML
        dt-bindings: rtc: zynqmp: convert bindings to YAML
        dt-bindings: interrupt-controller: Convert ARM VIC to json-schema
        of: of_reserved_mem: mark nomap memory instead of removing
        of: of_reserved_mem: only call memblock_free for normal reserved memory
        dt-bindings: Drop redundant minItems/maxItems
        dt-bindings: spmi: Correct 'reg' schema
        of: reserved-memory: Add stub for RESERVEDMEM_OF_DECLARE()
        dt-bindings: clk: vc5: Fix example
        dt-bindings: timer: renesas,tmu: add r8a779a0 TMU support
        dt-bindings: drm: bridge: adi,adv7511.txt: convert to yaml
        dt-bindings: PCI: ti,am65: Convert PCIe host/endpoint mode dt-bindings to YAML
        of: Remove superfluous casts when printing u64 values
        of: Fix truncation of memory sizes on 32-bit platforms
        dt-bindings: rtc: nxp,pcf8563: Absorb pcf85263/pcf85363 bindings
        dt-bindings: pwm: Use examples with documented/matching schema
        ...
      a70bb580
    • Linus Torvalds's avatar
      Revert "ALSA: usb-audio: Reduce latency at playback start" · 4b820e16
      Linus Torvalds authored
      This reverts commit 9ce650a7.
      
      This commit causes watchdog lockups on my machine, and while I have no
      idea what the cause is, it bisected right to this commit, and reverting
      the change promptly fixes it.
      
      At least occasionally one of the watchdog call traces was
      
        Call Trace:
          _raw_spin_lock_irqsave+0x35/0x40
          snd_pcm_period_elapsed+0x1b/0xa0 [snd_pcm]
          snd_usb_endpoint_start+0x1a0/0x3c0 [snd_usb_audio]
          start_endpoints+0x23/0x90 [snd_usb_audio]
          snd_usb_substream_playback_trigger+0x7b/0x1a0 [snd_usb_audio]
          snd_pcm_common_ioctl+0x1c44/0x2360 [snd_pcm]
          snd_pcm_ioctl+0x2e/0x40 [snd_pcm]
          __se_sys_ioctl+0x72/0xc0
          do_syscall_64+0x4c/0xa0
          entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      so presumably it's a locking error on that substream spinlock that
      snd_pcm_period_elapsed() takes.  But at this point I just want to have a
      working system so that I can continue the merge window work tomorrow.
      
      Cc: Takashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4b820e16
  4. 02 Jul, 2021 18 commits
    • Linus Torvalds's avatar
      Merge tag 'sound-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · d6b63b5b
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "As the diffstat scatters over the tree, we've got many tree-wide small
        changes, but also got quite a few intrusive changes in the core side.
        The only ABI-visible core change is the new rawmidi framing mode
        support while others are kernel-internal, mostly code refactoring
        and/or nice improvements.
      
        Here are some highlights:
      
        Core:
         - A new framing access mode for rawmidi to get timestamps
         - Cleanup / refactoring of buffer memory management helper code
         - Support for automatic negotiation of ASoC DAI formats
         - Revival of software suspend for PCM and control core, as a
           preliminary work for PCI BAR rescan support
      
        ASoC:
         - Accessory detection support for several Qualcomm parts
         - Support for IEC958 control with hdmi-codec
         - Merging of Tegra machine drivers into a single driver
         - Support for AmLogic SM1 TOACODEC, Intel AlderLake-M, several NXP
           i.MX8 variants, NXP TFA1 and TDF9897, Rockchip RK817, Qualcomm
           Quinary MI2S, Texas Instruments TAS2505
      
        USB-audio:
         - Reduction of latency at playback start
         - Code cleanup / fixes of usx2y driver
         - Scarlett2 mixer code fixes and enhancements
         - Quirks for Ozone and Denon devices
      
        HD-audio:
         - A few quirks for HP and ASUS machines
         - Display power management fixes
      
        Others:
         - FireWire code refactoring and enhancements
         - Tree-wide trivial coding-style fixes"
      
      * tag 'sound-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (594 commits)
        ALSA: usb-audio: scarlett2: Fix for loop increment in scarlett2_usb_get_config
        ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 630 G8
        ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G8
        ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 450 G8
        ALSA: hda/realtek - Add ALC285 HP init procedure
        ALSA: hda/realtek - Add type for ALC287
        ALSA: scarlett2: Fix scarlett2_*_ctl_put() return values again
        ALSA: scarlett2: Fix pad count for 18i8 Gen 3
        ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 830 G8 Notebook PC
        ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found
        ASoC: qcom: lpass-cpu: mark IRQ_CLEAR register as volatile and readable
        ALSA: hda: Release codec display power during shutdown/reboot
        ALSA: hda: Release controller display power during shutdown/reboot
        ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too
        ASoC: fsl: remove unnecessary oom message
        ASoC: tlv320aic32x4: dt-bindings: add TAS2505 to compatible
        ASoC: tlv320aic32x4: add support for TAS2505
        ASoC: tlv320aic32x4: add type to device private data struct
        ASoC: tegra30: ahub: Use devm_platform_get_and_ioremap_resource()
        ASoC: tegra: tegra210_admaif: Use devm_platform_get_and_ioremap_resource()
        ...
      d6b63b5b
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · bd31b9ef
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This series consists of the usual driver updates (ufs, ibmvfc,
        megaraid_sas, lpfc, elx, mpi3mr, qedi, iscsi, storvsc, mpt3sas) with
        elx and mpi3mr being new drivers.
      
        The major core change is a rework to drop the status byte handling
        macros and the old bit shifted definitions and the rest of the updates
        are minor fixes"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (287 commits)
        scsi: aha1740: Avoid over-read of sense buffer
        scsi: arcmsr: Avoid over-read of sense buffer
        scsi: ips: Avoid over-read of sense buffer
        scsi: ufs: ufs-mediatek: Add missing of_node_put() in ufs_mtk_probe()
        scsi: elx: libefc: Fix IRQ restore in efc_domain_dispatch_frame()
        scsi: elx: libefc: Fix less than zero comparison of a unsigned int
        scsi: elx: efct: Fix pointer error checking in debugfs init
        scsi: elx: efct: Fix is_originator return code type
        scsi: elx: efct: Fix link error for _bad_cmpxchg
        scsi: elx: efct: Eliminate unnecessary boolean check in efct_hw_command_cancel()
        scsi: elx: efct: Do not use id uninitialized in efct_lio_setup_session()
        scsi: elx: efct: Fix error handling in efct_hw_init()
        scsi: elx: efct: Remove redundant initialization of variable lun
        scsi: elx: efct: Fix spelling mistake "Unexected" -> "Unexpected"
        scsi: lpfc: Fix build error in lpfc_scsi.c
        scsi: target: iscsi: Remove redundant continue statement
        scsi: qla4xxx: Remove redundant continue statement
        scsi: ppa: Switch to use module_parport_driver()
        scsi: imm: Switch to use module_parport_driver()
        scsi: mpt3sas: Fix error return value in _scsih_expander_add()
        ...
      bd31b9ef
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.14-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 9f7b640f
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "Most of the work this cycle has been on refactoring various parts of
        the codebase. The biggest non-cleanup changes are (1) reducing the
        number of cache flushes sent when writing the log; (2) a substantial
        number of log recovery fixes; and (3) I started accepting pull
        requests from contributors if the commits in their branches match
        what's been sent to the list.
      
        For a week or so I /had/ staged a major cleanup of the logging code
        from Dave Chinner, but it exposed so many lurking bugs in other parts
        of the logging and log recovery code that I decided to defer that
        patchset until we can address those latent bugs.
      
        Larger cleanups this time include walking the incore inode cache (me)
        and rework of the extended attribute code (Allison) to prepare it for
        adding logged xattr updates (and directory tree parent pointers) in
        future releases.
      
        Summary:
      
         - Refactor the buffer cache to use bulk page allocation
      
         - Convert agnumber-based AG iteration to walk per-AG structures
      
         - Clean up some unit conversions and other code warts
      
         - Reduce spinlock contention in the directio fastpath
      
         - Collapse all the inode cache walks into a single function
      
         - Remove indirect function calls from the inode cache walk code
      
         - Dramatically reduce the number of cache flushes sent when writing
           log buffers
      
         - Preserve inode sickness reports for longer
      
         - Rename xfs_eofblocks since it controls inode cache walks
      
         - Refactor the extended attribute code to prepare it for the addition
           of log intent items to make xattrs fully transactional
      
         - A few fixes to earlier large patchsets
      
         - Log recovery fixes so that we don't accidentally mark the log clean
           when log intent recovery fails
      
         - Fix some latent SOB errors
      
         - Clean up shutdown messages that get logged to dmesg
      
         - Fix a regression in the online shrink code
      
         - Fix a UAF in the buffer logging code if the fs goes offline
      
         - Fix uninitialized error variables
      
         - Fix a UAF in the CIL when commited log item callbacks race with a
           shutdown
      
         - Fix a bug where the CIL could hang trying to push part of the log
           ring buffer that hasn't been filled yet"
      
      * tag 'xfs-5.14-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (102 commits)
        xfs: don't wait on future iclogs when pushing the CIL
        xfs: Fix a CIL UAF by getting get rid of the iclog callback lock
        xfs: remove callback dequeue loop from xlog_state_do_iclog_callbacks
        xfs: don't nest icloglock inside ic_callback_lock
        xfs: Initialize error in xfs_attr_remove_iter
        xfs: fix endianness issue in xfs_ag_shrink_space
        xfs: remove dead stale buf unpin handling code
        xfs: hold buffer across unpin and potential shutdown processing
        xfs: force the log offline when log intent item recovery fails
        xfs: fix log intent recovery ENOSPC shutdowns when inactivating inodes
        xfs: shorten the shutdown messages to a single line
        xfs: print name of function causing fs shutdown instead of hex pointer
        xfs: fix type mismatches in the inode reclaim functions
        xfs: separate primary inode selection criteria in xfs_iget_cache_hit
        xfs: refactor the inode recycling code
        xfs: add iclog state trace events
        xfs: xfs_log_force_lsn isn't passed a LSN
        xfs: Fix CIL throttle hang when CIL space used going backwards
        xfs: journal IO cache flush reductions
        xfs: remove need_start_rec parameter from xlog_write()
        ...
      9f7b640f
    • Linus Torvalds's avatar
      Merge tag 'jfs-5.14' of git://github.com/kleikamp/linux-shaggy · e4aa67b0
      Linus Torvalds authored
      Pull jfs updates from David Kleikamp:
       "JFS fixes for 5.14"
      
      * tag 'jfs-5.14' of git://github.com/kleikamp/linux-shaggy:
        jfs: Avoid field-overflowing memcpy()
        jfs: remove unnecessary oom message
        jfs: fix GPF in diFree
        fs/jfs: Fix missing error code in lmLogInit()
        jfs: Remove trailing semicolon in macros
        fs: Fix typo issue
      e4aa67b0
    • Linus Torvalds's avatar
      Merge tag 'configfs-5.13' of git://git.infradead.org/users/hch/configfs · ced4cca7
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
      
       - fix a memleak in configfs_release_bin_file (Chung-Chiang Cheng)
      
       - implement the .read_iter and .write_iter (Bart Van Assche)
      
       - minor cleanups (Bart Van Assche, me)
      
      * tag 'configfs-5.13' of git://git.infradead.org/users/hch/configfs:
        configfs: simplify configfs_release_bin_file
        configfs: fix memleak in configfs_release_bin_file
        configfs: implement the .read_iter and .write_iter methods
        configfs: drop pointless kerneldoc comments
        configfs: fix the kerneldoc comment for configfs_create_bin_file
      ced4cca7
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.14' of git://git.infradead.org/users/hch/dma-mapping · e72b0696
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - a trivivial whitespace fix (Zhen Lei)
      
       - report -EEXIST errors in add_dma_entry (Hamza Mahfooz)
      
      * tag 'dma-mapping-5.14' of git://git.infradead.org/users/hch/dma-mapping:
        dma-debug: report -EEXIST errors in add_dma_entry
        dma-mapping: remove a trailing space
      e72b0696
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · cd3eb7ef
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - SMMU Updates from Will Deacon:
      
           - SMMUv3:
              - Support stalling faults for platform devices
              - Decrease defaults sizes for the event and PRI queues
           - SMMUv2:
              - Support for a new '->probe_finalize' hook, needed by Nvidia
              - Even more Qualcomm compatible strings
              - Avoid Adreno TTBR1 quirk for DB820C platform
      
       - Intel VT-d updates from Lu Baolu:
      
           - Convert Intel IOMMU to use sva_lib helpers in iommu core
           - ftrace and debugfs supports for page fault handling
           - Support asynchronous nested capabilities
           - Various misc cleanups
      
       - Support for new VIOT ACPI table to make the VirtIO IOMMU
         available on x86
      
       - Add the amd_iommu=force_enable command line option to enable
         the IOMMU on platforms where they are known to cause problems
      
       - Support for version 2 of the Rockchip IOMMU
      
       - Various smaller fixes, cleanups and refactorings
      
      * tag 'iommu-updates-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (66 commits)
        iommu/virtio: Enable x86 support
        iommu/dma: Pass address limit rather than size to iommu_setup_dma_ops()
        ACPI: Add driver for the VIOT table
        ACPI: Move IOMMU setup code out of IORT
        ACPI: arm64: Move DMA setup operations out of IORT
        iommu/vt-d: Fix dereference of pointer info before it is null checked
        iommu: Update "iommu.strict" documentation
        iommu/arm-smmu: Check smmu->impl pointer before dereferencing
        iommu/arm-smmu-v3: Remove unnecessary oom message
        iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation
        iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails
        iommu/vt-d: Fix linker error on 32-bit
        iommu/vt-d: No need to typecast
        iommu/vt-d: Define counter explicitly as unsigned int
        iommu/vt-d: Remove unnecessary braces
        iommu/vt-d: Removed unused iommu_count in dmar domain
        iommu/vt-d: Use bitfields for DMAR capabilities
        iommu/vt-d: Use DEVICE_ATTR_RO macro
        iommu/vt-d: Fix out-bounds-warning in intel/svm.c
        iommu/vt-d: Add PRQ handling latency sampling
        ...
      cd3eb7ef
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-5.14-rc1' of... · 35e43538
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest update from Shuah Khan:
       "Fixes to existing tests and framework:
      
         - migrate sgx test to kselftest harness
      
         - add new test cases to sgx test
      
         - ftrace test fix event-no-pid on 1-core machine
      
         - splice test adjust for handler fallback removal"
      
      * tag 'linux-kselftest-next-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/sgx: remove checks for file execute permissions
        selftests/ftrace: fix event-no-pid on 1-core machine
        selftests/sgx: Refine the test enclave to have storage
        selftests/sgx: Add EXPECT_EEXIT() macro
        selftests/sgx: Dump enclave memory map
        selftests/sgx: Migrate to kselftest harness
        selftests/sgx: Rename 'eenter' and 'sgx_call_vdso'
        selftests: timers: rtcpie: skip test if default RTC device does not exist
        selftests: lib.mk: Also install "config" and "settings"
        selftests: splice: Adjust for handler fallback removal
        selftests/tls: Add {} to avoid static checker warning
        selftests/resctrl: Fix incorrect parsing of option "-t"
      35e43538
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-fixes-5.14-rc1' of... · a48ad6e7
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-fixes-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit update from Shuah Khan:
       "Fixes and features:
      
         - add support for skipped tests
      
         - introduce kunit_kmalloc_array/kunit_kcalloc() helpers
      
         - add gnu_printf specifiers
      
         - add kunit_shutdown
      
         - add unit test for filtering suites by names
      
         - convert lib/test_list_sort.c to use KUnit
      
         - code organization moving default config to tools/testing/kunit
      
         - refactor of internal parser input handling
      
         - cleanups and updates to documentation
      
         - code cleanup related to casts"
      
      * tag 'linux-kselftest-kunit-fixes-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (29 commits)
        kunit: add unit test for filtering suites by names
        kasan: test: make use of kunit_skip()
        kunit: test: Add example tests which are always skipped
        kunit: tool: Support skipped tests in kunit_tool
        kunit: Support skipped tests
        thunderbolt: test: Reinstate a few casts of bitfields
        kunit: tool: internal refactor of parser input handling
        lib/test: convert lib/test_list_sort.c to use KUnit
        kunit: introduce kunit_kmalloc_array/kunit_kcalloc() helpers
        kunit: Remove the unused all_tests.config
        kunit: Move default config from arch/um -> tools/testing/kunit
        kunit: arch/um/configs: Enable KUNIT_ALL_TESTS by default
        kunit: Add gnu_printf specifiers
        lib/cmdline_kunit: Remove a cast which are no-longer required
        kernel/sysctl-test: Remove some casts which are no-longer required
        thunderbolt: test: Remove some casts which are no longer required
        mmc: sdhci-of-aspeed: Remove some unnecessary casts from KUnit tests
        iio: Remove a cast in iio-test-format which is no longer required
        device property: Remove some casts in property-entry-test
        Documentation: kunit: Clean up some string casts in examples
        ...
      a48ad6e7
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 019b3fd9
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - A big series refactoring parts of our KVM code, and converting some
         to C.
      
       - Support for ARCH_HAS_SET_MEMORY, and ARCH_HAS_STRICT_MODULE_RWX on
         some CPUs.
      
       - Support for the Microwatt soft-core.
      
       - Optimisations to our interrupt return path on 64-bit.
      
       - Support for userspace access to the NX GZIP accelerator on PowerVM on
         Power10.
      
       - Enable KUAP and KUEP by default on 32-bit Book3S CPUs.
      
       - Other smaller features, fixes & cleanups.
      
      Thanks to: Andy Shevchenko, Aneesh Kumar K.V, Arnd Bergmann, Athira
      Rajeev, Baokun Li, Benjamin Herrenschmidt, Bharata B Rao, Christophe
      Leroy, Daniel Axtens, Daniel Henrique Barboza, Finn Thain, Geoff Levand,
      Haren Myneni, Jason Wang, Jiapeng Chong, Joel Stanley, Jordan Niethe,
      Kajol Jain, Nathan Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas
      Piggin, Nick Desaulniers, Paul Mackerras, Russell Currey, Sathvika
      Vasireddy, Shaokun Zhang, Stephen Rothwell, Sudeep Holla, Suraj Jitindar
      Singh, Tom Rix, Vaibhav Jain, YueHaibing, Zhang Jianhua, and Zhen Lei.
      
      * tag 'powerpc-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (218 commits)
        powerpc: Only build restart_table.c for 64s
        powerpc/64s: move ret_from_fork etc above __end_soft_masked
        powerpc/64s/interrupt: clean up interrupt return labels
        powerpc/64/interrupt: add missing kprobe annotations on interrupt exit symbols
        powerpc/64: enable MSR[EE] in irq replay pt_regs
        powerpc/64s/interrupt: preserve regs->softe for NMI interrupts
        powerpc/64s: add a table of implicit soft-masked addresses
        powerpc/64e: remove implicit soft-masking and interrupt exit restart logic
        powerpc/64e: fix CONFIG_RELOCATABLE build warnings
        powerpc/64s: fix hash page fault interrupt handler
        powerpc/4xx: Fix setup_kuep() on SMP
        powerpc/32s: Fix setup_{kuap/kuep}() on SMP
        powerpc/interrupt: Use names in check_return_regs_valid()
        powerpc/interrupt: Also use exit_must_hard_disable() on PPC32
        powerpc/sysfs: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE
        powerpc/ptrace: Refactor regs_set_return_{msr/ip}
        powerpc/ptrace: Move set_return_regs_changed() before regs_set_return_{msr/ip}
        powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi()
        powerpc/pseries/vas: Include irqdomain.h
        powerpc: mark local variables around longjmp as volatile
        ...
      019b3fd9
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-unaligned-5.14' of... · 4cad6719
      Linus Torvalds authored
      Merge tag 'asm-generic-unaligned-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic
      
      Pull asm/unaligned.h unification from Arnd Bergmann:
       "Unify asm/unaligned.h around struct helper
      
        The get_unaligned()/put_unaligned() helpers are traditionally
        architecture specific, with the two main variants being the
        "access-ok.h" version that assumes unaligned pointer accesses always
        work on a particular architecture, and the "le-struct.h" version that
        casts the data to a byte aligned type before dereferencing, for
        architectures that cannot always do unaligned accesses in hardware.
      
        Based on the discussion linked below, it appears that the access-ok
        version is not realiable on any architecture, but the struct version
        probably has no downsides. This series changes the code to use the
        same implementation on all architectures, addressing the few
        exceptions separately"
      
      Link: https://lore.kernel.org/lkml/75d07691-1e4f-741f-9852-38c0b4f520bc@synopsys.com/
      Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100363
      Link: https://lore.kernel.org/lkml/20210507220813.365382-14-arnd@kernel.org/
      Link: git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git unaligned-rework-v2
      Link: https://lore.kernel.org/lkml/CAHk-=whGObOKruA_bU3aPGZfoDqZM1_9wBkwREp0H0FgR-90uQ@mail.gmail.com/
      
      * tag 'asm-generic-unaligned-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        asm-generic: simplify asm/unaligned.h
        asm-generic: uaccess: 1-byte access is always aligned
        netpoll: avoid put_unaligned() on single character
        mwifiex: re-fix for unaligned accesses
        apparmor: use get_unaligned() only for multi-byte words
        partitions: msdos: fix one-byte get_unaligned()
        asm-generic: unaligned always use struct helpers
        asm-generic: unaligned: remove byteshift helpers
        powerpc: use linux/unaligned/le_struct.h on LE power7
        m68k: select CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
        sh: remove unaligned access for sh4a
        openrisc: always use unaligned-struct header
        asm-generic: use asm-generic/unaligned.h for most architectures
      4cad6719
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.14-2021-07-01' of... · 40625491
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.14-2021-07-01' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tool updates from Arnaldo Carvalho de Melo:
       "Tools:
      
         - Add cgroup support for 'perf top' (-G).
      
         - Add support for KVM MSRs in 'perf kvm stat'
      
         - Support probes on init functions in 'perf probe', to support the
           bootconfig format.
      
         - Improve error reporting in 'perf probe'.
      
         - No need to synthesize BUILD_ID records in 'perf inject' if the
           MMAP2 records have build ids already.
      
         - Allow toggling source code ('s' hotkey) in 'perf annotate' in all
           lines.
      
         - Add itrace options support to 'perf annotate'.
      
         - Support to custom DSO filters for 'perf script'.
      
        Hardware enablement:
      
         - Support the HYBRID_TOPOLOGY and HYBRID_CPU_PMU_CAPS features in the
           perf.data file header.
      
         - Support PMU prefix for mem-load and mem-store events, to support
           hybrid (BIG little) CPUs such as Intel's Alderlake.
      
         - Support hybrid CPUs in 'perf mem' and 'perf c2c'.
      
        Hardware tracing:
      
         - Intel PT now supports tracing KVM guests.
      
         - Timestamp improvements for ARM's Coresight.
      
        Build:
      
         - Add 'make -C tools/perf build-test' entries for
           libopencsd/CORESIGHT=1 and libbpf/LIBBPF_DYNAMIC=1.
      
         - Use bison's --file-prefix-map option to avoid storing full paths
           when using O= in the perf build.
      
        Tests:
      
         - Improve the 'perf test' entries for libpfm4 and BPF counters.
      
        Misc:
      
         - Sync msr-index.h, mount.h, kvm headers with the kernel originals.
      
         - Add vendor events and metrics for Intel's Icelake Server & Client"
      
      * tag 'perf-tools-for-v5.14-2021-07-01' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (123 commits)
        perf session: Add missing evlist__delete when deleting a session
        perf annotate: Allow 's' on source code lines
        perf dlfilter: Add object_code() to perf_dlfilter_fns
        perf dlfilter: Add attr() to perf_dlfilter_fns
        perf dlfilter: Add srcline() to perf_dlfilter_fns
        perf dlfilter: Add insn() to perf_dlfilter_fns
        perf dlfilter: Add resolve_address() to perf_dlfilter_fns
        perf build: Install perf_dlfilter.h
        perf script: Add option to pass arguments to dlfilters
        perf script: Add option to list dlfilters
        perf script: Add dlfilter__filter_event_early()
        perf script: Add API for filtering via dynamically loaded shared object
        perf llvm: Return -ENOMEM when asprintf() fails
        perf cs-etm: Delay decode of non-timeless data until cs_etm__flush_events()
        tools headers UAPI: Synch KVM's svm.h header with the kernel
        tools kvm headers arm64: Update KVM headers from the kernel sources
        tools headers UAPI: Sync linux/kvm.h with the kernel sources
        tools headers cpufeatures: Sync with the kernel sources
        tools include UAPI: Update linux/mount.h copy
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        ...
      40625491
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 71bd9341
      Linus Torvalds authored
      Merge more updates from Andrew Morton:
       "190 patches.
      
        Subsystems affected by this patch series: mm (hugetlb, userfaultfd,
        vmscan, kconfig, proc, z3fold, zbud, ras, mempolicy, memblock,
        migration, thp, nommu, kconfig, madvise, memory-hotplug, zswap,
        zsmalloc, zram, cleanups, kfence, and hmm), procfs, sysctl, misc,
        core-kernel, lib, lz4, checkpatch, init, kprobes, nilfs2, hfs,
        signals, exec, kcov, selftests, compress/decompress, and ipc"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (190 commits)
        ipc/util.c: use binary search for max_idx
        ipc/sem.c: use READ_ONCE()/WRITE_ONCE() for use_global_lock
        ipc: use kmalloc for msg_queue and shmid_kernel
        ipc sem: use kvmalloc for sem_undo allocation
        lib/decompressors: remove set but not used variabled 'level'
        selftests/vm/pkeys: exercise x86 XSAVE init state
        selftests/vm/pkeys: refill shadow register after implicit kernel write
        selftests/vm/pkeys: handle negative sys_pkey_alloc() return code
        selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random
        kcov: add __no_sanitize_coverage to fix noinstr for all architectures
        exec: remove checks in __register_bimfmt()
        x86: signal: don't do sas_ss_reset() until we are certain that sigframe won't be abandoned
        hfsplus: report create_date to kstat.btime
        hfsplus: remove unnecessary oom message
        nilfs2: remove redundant continue statement in a while-loop
        kprobes: remove duplicated strong free_insn_page in x86 and s390
        init: print out unknown kernel parameters
        checkpatch: do not complain about positive return values starting with EPOLL
        checkpatch: improve the indented label test
        checkpatch: scripts/spdxcheck.py now requires python3
        ...
      71bd9341
    • Wolfram Sang's avatar
      i2c: ali1535: mention that the device should not be disabled · 9d633683
      Wolfram Sang authored
      The comment from the i801 driver is valid here, too, so copy it.
      Reported-by: default avatarJean Delvare <jdelvare@suse.de>
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      9d633683
    • Chris Packham's avatar
      i2c: mpc: Restore reread of I2C status register · 763778cd
      Chris Packham authored
      Prior to commit 1538d82f ("i2c: mpc: Interrupt driven transfer") the
      old interrupt handler would reread MPC_I2C_SR after checking the CSR_MIF
      bit. When the driver was re-written this was removed as it seemed
      unnecessary. However as it turns out this is necessary for i2c devices
      which do clock stretching otherwise we end up thinking the bus is still
      busy when processing the interrupt.
      
      Fixes: 1538d82f ("i2c: mpc: Interrupt driven transfer")
      Signed-off-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      763778cd
    • Linus Torvalds's avatar
      Merge branch 'for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 3dbdb38e
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - cgroup.kill is added which implements atomic killing of the whole
         subtree.
      
         Down the line, this should be able to replace the multiple userland
         implementations of "keep killing till empty".
      
       - PSI can now be turned off at boot time to avoid overhead for
         configurations which don't care about PSI.
      
      * 'for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: make per-cgroup pressure stall tracking configurable
        cgroup: Fix kernel-doc
        cgroup: inline cgroup_task_freeze()
        tests/cgroup: test cgroup.kill
        tests/cgroup: move cg_wait_for(), cg_prepare_for_wait()
        tests/cgroup: use cgroup.kill in cg_killall()
        docs/cgroup: add entry for cgroup.kill
        cgroup: introduce cgroup.kill
      3dbdb38e
    • Linus Torvalds's avatar
      Merge branch 'for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu · e267992f
      Linus Torvalds authored
      Pull percpu updates from Dennis Zhou:
      
       - percpu chunk depopulation - depopulate backing pages for chunks with
         empty pages when we exceed a global threshold without those pages.
         This lets us reclaim a portion of memory that would previously be
         lost until the full chunk would be freed (possibly never).
      
       - memcg accounting cleanup - previously separate chunks were managed
         for normal allocations and __GFP_ACCOUNT allocations. These are now
         consolidated which cleans up the code quite a bit.
      
       - a few misc clean ups for clang warnings
      
      * 'for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
        percpu: optimize locking in pcpu_balance_workfn()
        percpu: initialize best_upa variable
        percpu: rework memcg accounting
        mm, memcg: introduce mem_cgroup_kmem_disabled()
        mm, memcg: mark cgroup_memory_nosocket, nokmem and noswap as __ro_after_init
        percpu: make symbol 'pcpu_free_slot' static
        percpu: implement partial chunk depopulation
        percpu: use pcpu_free_slot instead of pcpu_nr_slots - 1
        percpu: factor out pcpu_check_block_hint()
        percpu: split __pcpu_balance_workfn()
        percpu: fix a comment about the chunks ordering
      e267992f
    • Linus Torvalds's avatar
      Merge tag 'mips_5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 19b43859
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - add support for OpeneEmbed SOM9331 board
      
       - Ingenic fixes/improvments
      
       - other fixes and cleanups
      
      * tag 'mips_5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (39 commits)
        MIPS: Fix PKMAP with 32-bit MIPS huge page support
        MIPS: CI20: Add second percpu timer for SMP.
        MIPS: CI20: Reduce clocksource to 750 kHz.
        MIPS: Ingenic: Add MAC syscon nodes for Ingenic SoCs.
        dt-bindings: clock: Add documentation for MAC PHY control bindings.
        MIPS: X1830: Respect cell count of common properties.
        MIPS: set mips32r5 for virt extensions
        MIPS: loongsoon64: Reserve memory below starting pfn to prevent Oops
        MIPS: MT extensions are not available on MIPS32r1
        mips/kvm: Use BUG_ON instead of if condition followed by BUG
        MIPS: OCTEON: octeon-usb: Use devm_platform_get_and_ioremap_resource()
        MIPS: add PMD table accounting into MIPS'pmd_alloc_one
        MIPS: Loongson64: fix spelling of SPDX tag
        MIPS: ingenic: rs90: Add dedicated VRAM memory region
        MIPS: ingenic: gcw0: Set codec to cap-less mode for FM radio
        MIPS: ingenic: jz4780: Fix I2C nodes to match DT doc
        MIPS: ingenic: Select CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
        MIPS: Kconfig: ingenic: Ensure MACH_INGENIC_GENERIC selects all SoCs
        MIPS: cpu-probe: Fix FPU detection on Ingenic JZ4760(B)
        MIPS: boot: Support specifying UART port on Ingenic SoCs
        ...
      19b43859
  5. 01 Jul, 2021 1 commit
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · a32b344e
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v5.14 kernel. Not so
        much going on. No core changes, just drivers.
      
        The most interesting would be that MIPS Ralink is migrating to pin
        control and we have some bindings but not yet code for the Apple M1
        pin controller.
      
        New drivers:
      
         - Last merge window we created a driver for the Ralink RT2880. We are
           now moving the Ralink SoC pin control drivers out of the MIPS
           architecture code and into the pin control subsystem. This concerns
           RT288X, MT7620, RT305X, RT3883 and MT7621.
      
         - Qualcomm SM6125 SoC pin control driver.
      
         - Qualcomm spmi-gpio support for PM7325.
      
         - Qualcomm spmi-mpp also handles PMI8994 (just a compatible string)
      
         - Mediatek MT8365 SoC pin controller.
      
         - New device HID for the AMD GPIO controller.
      
        Improvements:
      
         - Pin bias config support for a slew of Renesas pin controllers.
      
         - Incremental improvements and non-urgent bug fixes to the Renesas
           SoC drivers.
      
         - Implement irq_set_wake on the AMD pin controller so we can wake up
           from external pin events.
      
        Misc:
      
         - Devicetree bindings for the Apple M1 pin controller, we will
           probably see a proper driver for this soon as well"
      
      * tag 'pinctrl-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (54 commits)
        pinctrl: ralink: rt305x: add missing include
        pinctrl: stm32: check for IRQ MUX validity during alloc()
        pinctrl: zynqmp: some code cleanups
        drivers: qcom: pinctrl: Add pinctrl driver for sm6125
        dt-bindings: pinctrl: qcom: sm6125: Document SM6125 pinctrl driver
        dt-bindings: pinctrl: mcp23s08: add documentation for reset-gpios
        pinctrl: mcp23s08: Add optional reset GPIO
        pinctrl: mediatek: fix mode encoding
        pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq()
        pinctrl: bcm: Constify static pinmux_ops
        pinctrl: bcm: Constify static pinctrl_ops
        pinctrl: ralink: move RT288X SoC pinmux config into a new 'pinctrl-rt288x.c' file
        pinctrl: ralink: move MT7620 SoC pinmux config into a new 'pinctrl-mt7620.c' file
        pinctrl: ralink: move RT305X SoC pinmux config into a new 'pinctrl-rt305x.c' file
        pinctrl: ralink: move RT3883 SoC pinmux config into a new 'pinctrl-rt3883.c' file
        pinctrl: ralink: move MT7621 SoC pinmux config into a new 'pinctrl-mt7621.c' file
        pinctrl: ralink: move ralink architecture pinmux header into the driver
        pinctrl: single: config: enable the pin's input
        pinctrl: mtk: Fix mt8365 Kconfig dependency
        pinctrl: mcp23s08: fix race condition in irq handler
        ...
      a32b344e