1. 04 Nov, 2021 1 commit
  2. 02 Nov, 2021 39 commits
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f73cd9c9
      Linus Torvalds authored
      Pull thermal control updates from Rafael Wysocki:
       "These extend the thermal trip point crossing notifications sent via
        netlink to contain the temperature causing the trip point to be
        crossed, deprecate the user space thermal governor, add new DT
        bindings to drivers, move ABI documentation to Documentation/ABI, fix
        assorted issues and clean up code.
      
        Specifics:
      
         - Constify a variable in thermal MMIO driver (Rikard Falkeborn).
      
         - Add the current temperature in the netlink message when crossing a
           trip point in order to prevent useless back and forth reading from
           userspace (Daniel Lezcano).
      
         - Add support for the 'HC' variant on PM8998 PMIC in order to support
           VADC channels on recent QCom boards (Bjorn Andersson).
      
         - Add support for calibration values from hardware when they are
           fused (Niklas Söderlund).
      
         - Fix NULL pointer dereference in the thermal_release callback when
           an error occurs in the thermal_zone_device_register() (Yuanzheng
           Song).
      
         - Fix use-after-free in __thermal_cooling_device_register() in the
           error path (Ziyang Xuan).
      
         - Fix compilation of the LMh driver when CONFIG_QCOM_SCM is not set
           (Jackie Liu).
      
         - Add timeout when reading a register that can block forever in
           certain circumstances in the tsens driver (Ansuel Smith).
      
         - Add DT binding for the reset lines and use them in the rockchip
           sensor driver (Johan Jonker).
      
         - Add new uniphier NX1 SoC temperature sensor (Kunihiko Hayashi).
      
         - Save and restore the TCC value in the int340x driver (Antoine
           Tenart).
      
         - Deprecate the writability of the cooling device state sysfs file
           and the user space governor (Daniel Lezcano).
      
         - Delete bogus length check in int340x (Dan Carpenter).
      
         - Use bitmap_zalloc/bitmap_free when applicable in intel_powerclamp
           (Christophe JAILLET).
      
         - Move thermal ABI documentation to Documentation/ABI (Mauro Carvalho
           Chehab)"
      
      * tag 'thermal-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (21 commits)
        thermal/core: Deprecate changing cooling device state from userspace
        thermal/core: Make the userspace governor deprecated
        thermal/drivers/int340x: Improve the tcc offset saving for suspend/resume
        thermal/drivers/uniphier: Add compatible string for NX1 SoC
        dt-bindings: thermal: uniphier: Add binding for NX1 SoC
        thermal/drivers/rockchip_thermal: Allow more resets for tsadc node
        dt-bindings: thermal: remove redundant comments from rockchip-thermal.yaml
        dt-bindings: thermal: allow more resets for tsadc node in rockchip-thermal.yaml
        thermal/drivers/tsens: Add timeout to get_temp_tsens_valid
        thermal/drivers/qcom/lmh: make QCOM_LMH depends on QCOM_SCM
        thermal/core: fix a UAF bug in __thermal_cooling_device_register()
        thermal/core: Fix null pointer dereference in thermal_release()
        thermal: rcar_gen3_thermal: Read calibration from hardware
        thermal: rcar_gen3_thermal: Store thcode and ptat in priv data
        thermal/drivers/qcom/spmi-adc-tm5: Add support for HC variant
        dt-bindings: thermal: qcom: add HC variant of adc-thermal monitor bindings
        thermal: Move ABI documentation to Documentation/ABI
        thermal/drivers/netlink: Add the temperature when crossing a trip point
        thermal/drivers/thermal_mmio: Constify static struct thermal_mmio_ops
        thermal: int340x: delete bogus length check
        ...
      f73cd9c9
    • Linus Torvalds's avatar
      Merge tag 'pm-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 833db721
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These make the power management of PCI devices with ACPI companions
        more straightforwad, add support for inefficient operating performance
        points to the Energy model and make cpufreq handle them as
        appropriate, rearrange the handling of cpuidle during system PM
        transitions, update a few cpufreq drivers and intel_idle, fix assorded
        issues and clean up code in multiple places.
      
        Specifics:
      
         - Add support for inefficient operating performance points to the
           Energy Model and modify cpufreq to use them properly (Vincent
           Donnefort).
      
         - Rearrange the DTPM framework code to simplify it and make it easier
           to follow (Daniel Lezcano).
      
         - Fix power intialization in DTPM (Daniel Lezcano).
      
         - Add CPU load consideration when estimating the instaneous power
           consumption in DTPM (Daniel Lezcano).
      
         - Fix cpu->pstate.turbo_freq initialization in intel_pstate (Zhang
           Rui).
      
         - Make intel_pstate process HWP Guaranteed change notifications from
           the processor (Srinivas Pandruvada).
      
         - Fix typo in cpufreq.h (Rafael Wysocki).
      
         - Fix tegra driver to handle BPMP errors properly (Mikko Perttunen).
      
         - Fix the parameter usage of the newly added perf-domain API (Hector
           Yuan).
      
         - Minor cleanups to cppc, vexpress and s3c244x drivers (Han Wang,
           Guenter Roeck, and Arnd Bergmann).
      
         - Fix kobject memory leaks in cpuidle error paths (Anel
           Orazgaliyeva).
      
         - Make intel_idle enable interrupts before entering C1 on some Xeon
           processor models (Artem Bityutskiy).
      
         - Clean up hib_wait_io() (Falla Coulibaly).
      
         - Fix sparse warnings in hibernation-related code (Anders Roxell).
      
         - Use vzalloc() and kzalloc() instead of their open-coded equivalents
           in hibernation-related code (Cai Huoqing).
      
         - Prevent user space from crashing the kernel by attempting to
           restore the system state from a swap partition in use (Ye Bin).
      
         - Do not let "syscore" devices runtime-suspend during system PM
           transitions (Rafael Wysocki).
      
         - Do not pause cpuidle in the suspend-to-idle path (Rafael Wysocki).
      
         - Pause cpuidle later and resume it earlier during system PM
           transitions (Rafael Wysocki).
      
         - Make system suspend code use valid_state() consistently (Rafael
           Wysocki).
      
         - Add support for enabling wakeup IRQs after invoking the
           ->runtime_suspend() callback and make two drivers use it (Chunfeng
           Yun).
      
         - Make the association of ACPI device objects with PCI devices more
           straightforward and simplify the code doing that for all devices in
           general (Rafael Wysocki).
      
         - Eliminate struct pci_platform_pm_ops and handle the both of its
           users (PCI and Intel MID) directly in the PCI bus code (Rafael
           Wysocki).
      
         - Simplify and clarify ACPI PCI device PM helpers (Rafael Wysocki).
      
         - Fix ordering of operations in pci_back_from_sleep() (Rafael
           Wysocki).
      
         - Make exynos-ppmu use hyphens in DT properties (Krzysztof
           Kozlowski).
      
         - Simplify parsing event-type from DT in exynos-ppmu (Krzysztof
           Kozlowski).
      
         - Strengthen check for freq_table in devfreq (Samuel Holland)"
      
      * tag 'pm-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (49 commits)
        cpufreq: Fix parameter in parse_perf_domain()
        usb: mtu3: enable wake-up interrupt after runtime_suspend called
        usb: xhci-mtk: enable wake-up interrupt after runtime_suspend called
        PM / wakeirq: support enabling wake-up irq after runtime_suspend called
        PM / devfreq: Strengthen check for freq_table
        devfreq: exynos-ppmu: simplify parsing event-type from DT
        devfreq: exynos-ppmu: use node names with hyphens
        cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization
        PM: suspend: Use valid_state() consistently
        PM: sleep: Pause cpuidle later and resume it earlier during system transitions
        PM: suspend: Do not pause cpuidle in the suspend-to-idle path
        PM: sleep: Do not let "syscore" devices runtime-suspend during system transitions
        PM: hibernate: Get block device exclusively in swsusp_check()
        powercap/drivers/dtpm: Fix power limit initialization
        powercap/drivers/dtpm: Scale the power with the load
        powercap/drivers/dtpm: Use container_of instead of a private data field
        powercap/drivers/dtpm: Simplify the dtpm table
        powercap/drivers/dtpm: Encapsulate even more the code
        PM: hibernate: swap: Use vzalloc() and kzalloc()
        PM: hibernate: fix sparse warnings
        ...
      833db721
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c0d6586a
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to the most recent upstream
        revision, address some issues related to the ACPI power resources
        management, simplify the enumeration of PCI devices having ACPI
        companions, add new quirks, fix assorted problems, update the
        ACPI-related information in maintainers and clean up code in several
        places.
      
        Specifics:
      
         - Update the ACPICA code in the kernel to upstream revision 20210930
           including the following changes:
      
              - Fix system-wide resume issue caused by evaluating control
                methods too early in the resume path (Rafael Wysocki).
      
              - Add support for Windows 2020 _OSI string (Mario Limonciello).
      
              - Add Generic Port Affinity type for SRAT (Alison Schofield).
      
              - Add disassembly support for the NHLT ACPI table (Bob Moore).
      
         - Avoid flushing caches before entering C3 type of idle states on AMD
           processors (Deepak Sharma).
      
         - Avoid enumerating CPUs that are not present and not online-capable
           according to the platform firmware (Mario Limonciello).
      
         - Add DMI-based mechanism to quirk IRQ overrides and use it for two
           platforms (Hui Wang).
      
         - Change the configuration of unused ACPI device objects to reflect
           the D3cold power state after enumerating devices (Rafael Wysocki).
      
         - Update MAINTAINERS information regarding ACPI (Rafael Wysocki).
      
         - Fix typo in ACPI Kconfig (Masanari Iid).
      
         - Use sysfs_emit() instead of snprintf() in some places (Qing Wang).
      
         - Make the association of ACPI device objects with PCI devices more
           straightforward and simplify the code doing that for all devices in
           general (Rafael Wysocki).
      
         - Use acpi_device_adr() in acpi_find_child_device() instead of
           evaluating _ADR (Rafael Wysocki).
      
         - Drop duplicate device IDs from PNP device IDs list (Krzysztof
           Kozlowski).
      
         - Allow acpi_idle_play_dead() to use C3 on AMD processors (Richard
           Gong).
      
         - Use ACPI_COMPANION() to simplify code in some drivers (Rafael
           Wysocki).
      
         - Check the states of all ACPI power resources during initialization
           to avoid dealing with power resources in unknown states (Rafael
           Wysocki).
      
         - Fix ACPI power resource issues related to sharing wakeup power
           resources (Rafael Wysocki).
      
         - Avoid registering redundant suspend_ops (Rafael Wysocki).
      
         - Report battery charging state as "full" if it appears to be over
           the design capacity (André Almeida).
      
         - Quirk GK45 mini PC to skip reading _PSR in the AC driver (Stefan
           Schaeckeler).
      
         - Mark apei_hest_parse() static (Christoph Hellwig).
      
         - Relax platform response timeout to 1 second after instructing it to
           inject an error (Shuai Xue).
      
         - Make the PRM code handle memory allocation and remapping failures
           more gracefully and drop some unnecessary blank lines from that
           code (Aubrey Li).
      
         - Fix spelling mistake in the ACPI documentation (Colin Ian King)"
      
      * tag 'acpi-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (36 commits)
        ACPI: glue: Use acpi_device_adr() in acpi_find_child_device()
        perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly
        ACPI: APEI: mark apei_hest_parse() static
        ACPI: APEI: EINJ: Relax platform response timeout to 1 second
        gpio-amdpt: ACPI: Use the ACPI_COMPANION() macro directly
        nouveau: ACPI: Use the ACPI_COMPANION() macro directly
        ACPI: resources: Add one more Medion model in IRQ override quirk
        ACPI: AC: Quirk GK45 to skip reading _PSR
        ACPI: PM: sleep: Do not set suspend_ops unnecessarily
        ACPI: PRM: Handle memory allocation and memory remap failure
        ACPI: PRM: Remove unnecessary blank lines
        ACPI: PM: Turn off wakeup power resources on _DSW/_PSW errors
        ACPI: PM: Fix sharing of wakeup power resources
        ACPI: PM: Turn off unused wakeup power resources
        ACPI: PM: Check states of power resources during initialization
        ACPI: replace snprintf() in "show" functions with sysfs_emit()
        ACPI: LPSS: Use ACPI_COMPANION() directly
        ACPI: scan: Release PM resources blocked by unused objects
        ACPI: battery: Accept charges over the design capacity as full
        ACPICA: Update version to 20210930
        ...
      c0d6586a
    • Linus Torvalds's avatar
      Merge branch 'ucount-fixes-for-v5.16' of... · 33fb4263
      Linus Torvalds authored
      Merge branch 'ucount-fixes-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull ucount cleanups from Eric Biederman:
       "While working on the ucount fixes a for v5.15 a number of cleanups
        suggested themselves.
      
        Little things like not testing for NULL when a pointer can not be NULL
        and wrapping atomic_add_negative with a more descriptive name, so that
        people reading the code can more quickly understand what is going on"
      
      * 'ucount-fixes-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        ucounts: Use atomic_long_sub_return for clarity
        ucounts: Add get_ucounts_or_wrap for clarity
        ucounts: Remove unnecessary test for NULL ucount in get_ucounts
        ucounts: In set_cred_ucounts assume new->ucounts is non-NULL
      33fb4263
    • Linus Torvalds's avatar
      Merge branch 'for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · a85373fe
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - The misc controller now reports allocation rejections through
         misc.events instead of printking
      
       - cgroup_mutex usage is reduced to improve scalability of some
         operations
      
       - vhost helper threads are now assigned to the right cgroup on cgroup2
      
       - Bug fixes
      
      * 'for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: bpf: Move wrapper for __cgroup_bpf_*() to kernel/bpf/cgroup.c
        cgroup: Fix rootcg cpu.stat guest double counting
        cgroup: no need for cgroup_mutex for /proc/cgroups
        cgroup: remove cgroup_mutex from cgroupstats_build
        cgroup: reduce dependency on cgroup_mutex
        cgroup: cgroup-v1: do not exclude cgrp_dfl_root
        cgroup: Make rebind_subsystems() disable v2 controllers all at once
        docs/cgroup: add entry for misc.events
        misc_cgroup: remove error log to avoid log flood
        misc_cgroup: introduce misc.events to count failures
      a85373fe
    • Linus Torvalds's avatar
      Merge branch 'for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 4075409c
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Nothing too interesting. An optimization to short-circuit noop cpumask
        updates, debug dump code reorg, and doc update"
      
      * 'for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: doc: Call out the non-reentrance conditions
        workqueue: Introduce show_one_worker_pool and show_one_workqueue.
        workqueue: make sysfs of unbound kworker cpumask more clever
      4075409c
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.16-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · bba7d682
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "This cycle we've worked on fixing bugs and improving XFS' memory
        footprint.
      
        The most notable fixes include: fixing a corruption warning (and free
        space accounting skew) if copy on write fails; fixing slab cache
        misuse if SLOB is enabled, which apparently was broken for years
        without anybody noticing; and fixing a potential race with online
        shrinkfs.
      
        Otherwise, the bulk of the changes here involve setting up separate
        slab caches for frequently used items such as btree cursors and log
        intent items, and compacting the structures to reduce memory usage of
        those items substantially. This also sets us up to support larger
        btrees in future kernels. We also switch parts of online fsck to
        allocate scrub context information from the heap instead of using
        stack space.
      
        Summary:
      
         - Bug fixes and cleanups for kernel memory allocation usage, this
           time without touching the mm code.
      
         - Refactor the log recovery mechanism that preserves held resources
           across a transaction roll so that it uses the exact same mechanism
           that we use for that during regular runtime.
      
         - Fix bugs and tighten checking around btree heights.
      
         - Remove more old typedefs.
      
         - Fix perag reference leaks when racing with growfs.
      
         - Remove unused fields from xfs_btree_cur.
      
         - Allocate various scrub structures on the heap to reduce stack
           usage.
      
         - Pack xfs_btree_cur fields and rearrange to support arbitrary
           heights.
      
         - Compute maximum possible heights for each btree height, and use
           that to set up slab caches for each btree type.
      
         - Finally remove kmem_zone_t, since these have always been struct
           kmem_cache on Linux.
      
         - Compact the structures used to coordinate work intent items.
      
         - Set up slab caches for each work intent item type.
      
         - Rename the "bmap_add_free" function to "free_extent_later", which
           more accurately describes what it does.
      
         - Fix corruption warning on unmount when a CoW preallocation covers a
           data fork delalloc reservation but then the CoW fails.
      
         - Add some more minor code improvements"
      
      * tag 'xfs-5.16-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (45 commits)
        xfs: use swap() to make code cleaner
        xfs: Remove duplicated include in xfs_super
        xfs: punch out data fork delalloc blocks on COW writeback failure
        xfs: remove unused parameter from refcount code
        xfs: reduce the size of struct xfs_extent_free_item
        xfs: rename xfs_bmap_add_free to xfs_free_extent_later
        xfs: create slab caches for frequently-used deferred items
        xfs: compact deferred intent item structures
        xfs: rename _zone variables to _cache
        xfs: remove kmem_zone typedef
        xfs: use separate btree cursor cache for each btree type
        xfs: compute absolute maximum nlevels for each btree type
        xfs: kill XFS_BTREE_MAXLEVELS
        xfs: compute the maximum height of the rmap btree when reflink enabled
        xfs: clean up xfs_btree_{calc_size,compute_maxlevels}
        xfs: compute maximum AG btree height for critical reservation calculation
        xfs: rename m_ag_maxlevels to m_allocbt_maxlevels
        xfs: dynamically allocate cursors based on maxlevels
        xfs: encode the max btree height in the cursor
        xfs: refactor btree cursor allocation function
        ...
      bba7d682
    • Linus Torvalds's avatar
      Merge tag 'afs-next-20211102' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · a64a325b
      Linus Torvalds authored
      Pull AFS updates from David Howells:
      
       - Split the readpage handler for symlinks from the one for files. The
         symlink readpage isn't given a file pointer, so the handling has to
         be special-cased.
      
         This has been posted as part of a patchset to foliate netfs, afs,
         etc.[1] but I've moved it to this one as it's not actually doing
         foliation but is more of a pre-cleanup.
      
       - Fix file creation to set the mtime from the client's clock to keep
         make happy if the server's clock isn't quite in sync.[2]
      
      Link: https://lore.kernel.org/r/163005742570.2472992.7800423440314043178.stgit@warthog.procyon.org.uk/ [1]
      Link: http://lists.infradead.org/pipermail/linux-afs/2021-October/004395.html [2]
      
      * tag 'afs-next-20211102' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Set mtime from the client for yfs create operations
        afs: Sort out symlink reading
      a64a325b
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.15-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 78805cbe
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - Fix a locking order inversion between the inode and iopen glocks in
         gfs2_inode_lookup.
      
       - Implement proper queuing of glock holders for glocks that require
         instantiation (like reading an inode or bitmap blocks from disk).
         Before, multiple glock holders could race with each other and
         half-initialized objects could be exposed; the GL_SKIP flag further
         exacerbated this problem.
      
       - Fix a rare deadlock between inode lookup / creation and remote delete
         work.
      
       - Fix a rare scheduling-while-atomic bug in dlm during glock hash table
         walks.
      
       - Various other minor fixes and cleanups.
      
      * tag 'gfs2-v5.15-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: (21 commits)
        gfs2: Fix unused value warning in do_gfs2_set_flags()
        gfs2: check context in gfs2_glock_put
        gfs2: Fix glock_hash_walk bugs
        gfs2: Cancel remote delete work asynchronously
        gfs2: set glock object after nq
        gfs2: remove RDF_UPTODATE flag
        gfs2: Eliminate GIF_INVALID flag
        gfs2: fix GL_SKIP node_scope problems
        gfs2: split glock instantiation off from do_promote
        gfs2: further simplify do_promote
        gfs2: re-factor function do_promote
        gfs2: Remove 'first' trace_gfs2_promote argument
        gfs2: change go_lock to go_instantiate
        gfs2: dump glocks from gfs2_consist_OBJ_i
        gfs2: dequeue iopen holder in gfs2_inode_lookup error
        gfs2: Save ip from gfs2_glock_nq_init
        gfs2: Allow append and immutable bits to coexist
        gfs2: Switch some BUG_ON to GLOCK_BUG_ON for debug
        gfs2: move GL_SKIP check from glops to do_promote
        gfs2: Add GL_SKIP holder flag to dump_holder
        ...
      78805cbe
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.15-rc5-mmap-fault' of... · c03098d4
      Linus Torvalds authored
      Merge tag 'gfs2-v5.15-rc5-mmap-fault' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2
      
      Pull gfs2 mmap + page fault deadlocks fixes from Andreas Gruenbacher:
       "Functions gfs2_file_read_iter and gfs2_file_write_iter are both
        accessing the user buffer to write to or read from while holding the
        inode glock.
      
        In the most basic deadlock scenario, that buffer will not be resident
        and it will be mapped to the same file. Accessing the buffer will
        trigger a page fault, and gfs2 will deadlock trying to take the same
        inode glock again while trying to handle that fault.
      
        Fix that and similar, more complex scenarios by disabling page faults
        while accessing user buffers. To make this work, introduce a small
        amount of new infrastructure and fix some bugs that didn't trigger so
        far, with page faults enabled"
      
      * tag 'gfs2-v5.15-rc5-mmap-fault' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Fix mmap + page fault deadlocks for direct I/O
        iov_iter: Introduce nofault flag to disable page faults
        gup: Introduce FOLL_NOFAULT flag to disable page faults
        iomap: Add done_before argument to iomap_dio_rw
        iomap: Support partial direct I/O on user copy failures
        iomap: Fix iomap_dio_rw return value for user copies
        gfs2: Fix mmap + page fault deadlocks for buffered I/O
        gfs2: Eliminate ip->i_gh
        gfs2: Move the inode glock locking to gfs2_file_buffered_write
        gfs2: Introduce flag for glock holder auto-demotion
        gfs2: Clean up function may_grant
        gfs2: Add wrapper for iomap_file_buffered_write
        iov_iter: Introduce fault_in_iov_iter_writeable
        iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable
        gup: Turn fault_in_pages_{readable,writeable} into fault_in_{readable,writeable}
        powerpc/kvm: Fix kvm_use_magic_page
        iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value
      c03098d4
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · ab2e7f4b
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - Rejig task/thread info to place thread info in task struct
      
       - Amba bus cleanups (removing unused functions)
      
       - Handle Amba device probe without IRQ domains
      
       - Parse linux,usable-memory-range in decompressor
      
       - Mark OCRAM as read-only after initialisation
      
       - Refactor page fault handling
      
       - Fix PXN handling with LPAE kernels
      
       - Warning and build fixes from Arnd
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (32 commits)
        ARM: 9151/1: Thumb2: avoid __builtin_thread_pointer() on Clang
        ARM: 9150/1: Fix PID_IN_CONTEXTIDR regression when THREAD_INFO_IN_TASK=y
        ARM: 9147/1: add printf format attribute to early_print()
        ARM: 9146/1: RiscPC needs older gcc version
        ARM: 9145/1: patch: fix BE32 compilation
        ARM: 9144/1: forbid ftrace with clang and thumb2_kernel
        ARM: 9143/1: add CONFIG_PHYS_OFFSET default values
        ARM: 9142/1: kasan: work around LPAE build warning
        ARM: 9140/1: allow compile-testing without machine record
        ARM: 9137/1: disallow CONFIG_THUMB with ARMv4
        ARM: 9136/1: ARMv7-M uses BE-8, not BE-32
        ARM: 9135/1: kprobes: address gcc -Wempty-body warning
        ARM: 9101/1: sa1100/assabet: convert LEDs to gpiod APIs
        ARM: 9131/1: mm: Fix PXN process with LPAE feature
        ARM: 9130/1: mm: Provide die_kernel_fault() helper
        ARM: 9126/1: mm: Kill page table base print in show_pte()
        ARM: 9127/1: mm: Cleanup access_error()
        ARM: 9129/1: mm: Kill task_struct argument for __do_page_fault()
        ARM: 9128/1: mm: Refactor the __do_page_fault()
        ARM: imx6: mark OCRAM mapping read-only
        ...
      ab2e7f4b
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-em' and 'powercap' · bf56b907
      Rafael J. Wysocki authored
      Merge Energy Model and power capping updates for 5.16-rc1:
      
       - Add support for inefficient operating performance points to the
         Energy Model and modify cpufreq to use them properly (Vincent
         Donnefort).
      
       - Rearrange the DTPM framework code to simplify it and make it easier
         to follow (Daniel Lezcano).
      
       - Fix power intialization in DTPM (Daniel Lezcano).
      
       - Add CPU load consideration when estimating the instaneous power
         consumption in DTPM (Daniel Lezcano).
      
      * pm-em:
        cpufreq: mediatek-hw: Fix cpufreq_table_find_index_dl() call
        PM: EM: Mark inefficiencies in CPUFreq
        cpufreq: Use CPUFREQ_RELATION_E in DVFS governors
        cpufreq: Introducing CPUFREQ_RELATION_E
        cpufreq: Add an interface to mark inefficient frequencies
        cpufreq: Make policy min/max hard requirements
        PM: EM: Allow skipping inefficient states
        PM: EM: Extend em_perf_domain with a flag field
        PM: EM: Mark inefficient states
        PM: EM: Fix inefficient states detection
      
      * powercap:
        powercap/drivers/dtpm: Fix power limit initialization
        powercap/drivers/dtpm: Scale the power with the load
        powercap/drivers/dtpm: Use container_of instead of a private data field
        powercap/drivers/dtpm: Simplify the dtpm table
        powercap/drivers/dtpm: Encapsulate even more the code
      bf56b907
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · d7e0a795
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "ARM:
      
         - More progress on the protected VM front, now with the full fixed
           feature set as well as the limitation of some hypercalls after
           initialisation.
      
         - Cleanup of the RAZ/WI sysreg handling, which was pointlessly
           complicated
      
         - Fixes for the vgic placement in the IPA space, together with a
           bunch of selftests
      
         - More memcg accounting of the memory allocated on behalf of a guest
      
         - Timer and vgic selftests
      
         - Workarounds for the Apple M1 broken vgic implementation
      
         - KConfig cleanups
      
         - New kvmarm.mode=none option, for those who really dislike us
      
        RISC-V:
      
         - New KVM port.
      
        x86:
      
         - New API to control TSC offset from userspace
      
         - TSC scaling for nested hypervisors on SVM
      
         - Switch masterclock protection from raw_spin_lock to seqcount
      
         - Clean up function prototypes in the page fault code and avoid
           repeated memslot lookups
      
         - Convey the exit reason to userspace on emulation failure
      
         - Configure time between NX page recovery iterations
      
         - Expose Predictive Store Forwarding Disable CPUID leaf
      
         - Allocate page tracking data structures lazily (if the i915 KVM-GT
           functionality is not compiled in)
      
         - Cleanups, fixes and optimizations for the shadow MMU code
      
        s390:
      
         - SIGP Fixes
      
         - initial preparations for lazy destroy of secure VMs
      
         - storage key improvements/fixes
      
         - Log the guest CPNC
      
        Starting from this release, KVM-PPC patches will come from Michael
        Ellerman's PPC tree"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (227 commits)
        RISC-V: KVM: fix boolreturn.cocci warnings
        RISC-V: KVM: remove unneeded semicolon
        RISC-V: KVM: Fix GPA passed to __kvm_riscv_hfence_gvma_xyz() functions
        RISC-V: KVM: Factor-out FP virtualization into separate sources
        KVM: s390: add debug statement for diag 318 CPNC data
        KVM: s390: pv: properly handle page flags for protected guests
        KVM: s390: Fix handle_sske page fault handling
        KVM: x86: SGX must obey the KVM_INTERNAL_ERROR_EMULATION protocol
        KVM: x86: On emulation failure, convey the exit reason, etc. to userspace
        KVM: x86: Get exit_reason as part of kvm_x86_ops.get_exit_info
        KVM: x86: Clarify the kvm_run.emulation_failure structure layout
        KVM: s390: Add a routine for setting userspace CPU state
        KVM: s390: Simplify SIGP Set Arch handling
        KVM: s390: pv: avoid stalls when making pages secure
        KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm
        KVM: s390: pv: avoid double free of sida page
        KVM: s390: pv: add macros for UVC CC values
        s390/mm: optimize reset_guest_reference_bit()
        s390/mm: optimize set_guest_storage_key()
        s390/mm: no need for pte_alloc_map_lock() if we know the pmd is present
        ...
      d7e0a795
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpufreq' and 'pm-cpuidle' · 8e5b4779
      Rafael J. Wysocki authored
      Merge cpufreq and cpuidle updates for 5.16-rc1:
      
       - Fix cpu->pstate.turbo_freq initialization in intel_pstate (Zhang
         Rui).
      
       - Make intel_pstate process HWP Guaranteed change notifications from
         the processor (Srinivas Pandruvada).
      
       - Fix typo in cpufreq.h (Rafael Wysocki).
      
       - Fix tegra driver to handle BPMP errors properly (Mikko Perttunen).
      
       - Fix the parameter usage of the newly added perf-domain API (Hector
         Yuan).
      
       - Minor cleanups to cppc, vexpress and s3c244x drivers (Han Wang,
         Guenter Roeck, and Arnd Bergmann).
      
       - Fix kobject memory leaks in cpuidle error paths (Anel Orazgaliyeva).
      
       - Make intel_idle enable interrupts before entering C1 on some Xeon
         processor models (Artem Bityutskiy).
      
      * pm-cpufreq:
        cpufreq: Fix parameter in parse_perf_domain()
        cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization
        cpufreq: Fix typo in cpufreq.h
        cpufreq: intel_pstate: Process HWP Guaranteed change notification
        cpufreq: tegra186/tegra194: Handle errors in BPMP response
        cpufreq: remove useless INIT_LIST_HEAD()
        cpufreq: s3c244x: add fallthrough comments for switch
        cpufreq: vexpress: Drop unused variable
      
      * pm-cpuidle:
        cpuidle: Fix kobject memory leaks in error paths
        intel_idle: enable interrupts before C1 on Xeons
      8e5b4779
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sleep' · b62b3064
      Rafael J. Wysocki authored
      Merge updates related to system sleep for 5.16-rc1:
      
       - Clean up hib_wait_io() (Falla Coulibaly).
      
       - Fix sparse warnings in hibernation-related code (Anders Roxell).
      
       - Use vzalloc() and kzalloc() instead of their open-coded
         equivalents in hibernation-related code (Cai Huoqing).
      
       - Prevent user space from crashing the kernel by attempting to
         restore the system state from a swap partition in use (Ye Bin).
      
       - Do not let "syscore" devices runtime-suspend during system PM
         transitions (Rafael Wysocki).
      
       - Do not pause cpuidle in the suspend-to-idle path (Rafael Wysocki).
      
       - Pause cpuidle later and resume it earlier during system PM
         transitions (Rafael Wysocki).
      
       - Make system suspend code use valid_state() consistently (Rafael
         Wysocki).
      
       - Add support for enabling wakeup IRQs after invoking the
         ->runtime_suspend() callback and make two drivers use it (Chunfeng
         Yun).
      
      * pm-sleep:
        usb: mtu3: enable wake-up interrupt after runtime_suspend called
        usb: xhci-mtk: enable wake-up interrupt after runtime_suspend called
        PM / wakeirq: support enabling wake-up irq after runtime_suspend called
        PM: suspend: Use valid_state() consistently
        PM: sleep: Pause cpuidle later and resume it earlier during system transitions
        PM: suspend: Do not pause cpuidle in the suspend-to-idle path
        PM: sleep: Do not let "syscore" devices runtime-suspend during system transitions
        PM: hibernate: Get block device exclusively in swsusp_check()
        PM: hibernate: swap: Use vzalloc() and kzalloc()
        PM: hibernate: fix sparse warnings
        Revert "PM: sleep: Do not assume that "mem" is always present"
        PM: hibernate: Remove blk_status_to_errno in hib_wait_io
        PM: sleep: Do not assume that "mem" is always present
      b62b3064
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-pci' · 1fec1611
      Rafael J. Wysocki authored
      Merge PCI device power management updates for 5.16-rc1:
      
       - Make the association of ACPI device objects with PCI devices more
         straightforward and simplify the code doing that for all devices
         in general (Rafael Wysocki).
      
       - Eliminate struct pci_platform_pm_ops and handle the both of its
         users (PCI and Intel MID) directly in the PCI bus code (Rafael
         Wysocki).
      
       - Simplify and clarify ACPI PCI device PM helpers (Rafael Wysocki).
      
       - Fix ordering of operations in pci_back_from_sleep() (Rafael
         Wysocki).
      
      * pm-pci:
        PCI: PM: Fix ordering of operations in pci_back_from_sleep()
        PCI: PM: Do not call platform_pci_power_manageable() unnecessarily
        PCI: PM: Make pci_choose_state() call pci_target_state()
        PCI: PM: Rearrange pci_target_state()
        PCI: PM: Simplify acpi_pci_power_manageable()
        PCI: PM: Drop struct pci_platform_pm_ops
        PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI
        PCI: PM: Do not use pci_platform_pm_ops for Intel MID PM
        ACPI: glue: Look for ACPI bus type only if ACPI companion is not known
        ACPI: glue: Drop cleanup callback from struct acpi_bus_type
        PCI: ACPI: Drop acpi_pci_bus
      1fec1611
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-apei', 'acpi-prm' and 'acpi-docs' · 90e17eda
      Rafael J. Wysocki authored
      Merge APEI, PRM and documentation udpates for 5.16-rc1:
      
       - Mark apei_hest_parse() static (Christoph Hellwig).
      
       - Relax platform response timeout to 1 second after instructing it
         to inject an error (Shuai Xue).
      
       - Make the PRM code handle memory allocation and remapping failures
         more gracefully and drop some unnecessary blank lines from that
         code (Aubrey Li).
      
       - Fix spelling mistake in the ACPI documentation (Colin Ian King).
      
      * acpi-apei:
        ACPI: APEI: mark apei_hest_parse() static
        ACPI: APEI: EINJ: Relax platform response timeout to 1 second
      
      * acpi-prm:
        ACPI: PRM: Handle memory allocation and memory remap failure
        ACPI: PRM: Remove unnecessary blank lines
      
      * acpi-docs:
        Documentation: ACPI: Fix spelling mistake "Millenium" -> "Millennium"
      90e17eda
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed-20211102' of... · 44261f8e
      Linus Torvalds authored
      Merge tag 'hyperv-next-signed-20211102' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull hyperv updates from Wei Liu:
      
       - Initial patch set for Hyper-V isolation VM support (Tianyu Lan)
      
       - Fix a warning on preemption (Vitaly Kuznetsov)
      
       - A bunch of misc cleanup patches
      
      * tag 'hyperv-next-signed-20211102' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted
        Drivers: hv : vmbus: Adding NULL pointer check
        x86/hyperv: Remove duplicate include
        x86/hyperv: Remove duplicated include in hv_init
        Drivers: hv: vmbus: Remove unused code to check for subchannels
        Drivers: hv: vmbus: Initialize VMbus ring buffer for Isolation VM
        Drivers: hv: vmbus: Add SNP support for VMbus channel initiate message
        x86/hyperv: Add ghcb hvcall support for SNP VM
        x86/hyperv: Add Write/Read MSR registers via ghcb page
        Drivers: hv: vmbus: Mark vmbus ring buffer visible to host in Isolation VM
        x86/hyperv: Add new hvcall guest address host visibility support
        x86/hyperv: Initialize shared memory boundary in the Isolation VM.
        x86/hyperv: Initialize GHCB page in Isolation VM
      44261f8e
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · 0aaa58ec
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Extend %pGp print format to print hex value of the page flags
      
       - Use kvmalloc instead of kmalloc to allocate devkmsg buffers
      
       - Misc cleanup and warning fixes
      
      * tag 'printk-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        vsprintf: Update %pGp documentation about that it prints hex value
        lib/vsprintf.c: Amend static asserts for format specifier flags
        vsprintf: Make %pGp print the hex value
        test_printf: Append strings more efficiently
        test_printf: Remove custom appending of '|'
        test_printf: Remove separate page_flags variable
        test_printf: Make pft array const
        ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
        printk: use gnu_printf format attribute for printk_sprint()
        printk: avoid -Wsometimes-uninitialized warning
        printk: use kvmalloc instead of kmalloc for devkmsg_user
      0aaa58ec
    • Linus Torvalds's avatar
      Merge tag 'integrity-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · c150d66b
      Linus Torvalds authored
      Pull integrity subsystem updates from Mimi Zohar:
       "Other than the new gid IMA policy rule support and the RCU locking
        fix, the couple of remaining changes are minor/trivial (e.g.
        __ro_after_init, replacing strscpy)"
      
      * tag 'integrity-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        evm: mark evm_fixmode as __ro_after_init
        ima: Use strscpy instead of strlcpy
        ima_policy: Remove duplicate 'the' in docs comment
        ima: add gid support
        ima: fix uid code style problems
        ima: fix deadlock when traversing "ima_default_rules".
      c150d66b
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-pm', 'acpi-battery' and 'acpi-ac' · f8df1601
      Rafael J. Wysocki authored
      Merge updates related to device power management, system sleep,
      battery driver and AC driver for 5.16-rc1:
      
       - Check the states of all ACPI power resources during initialization
         to avoid dealing with power resources in unknown states (Rafael
         Wysocki).
      
       - Fix ACPI power resource issues related to sharing wakeup power
         resources (Rafael Wysocki).
      
       - Avoid registering redundant suspend_ops (Rafael Wysocki).
      
       - Report battery charging state as "full" if it appears to be over
         the design capacity (André Almeida).
      
       - Quirk GK45 mini PC to skip reading _PSR in the AC driver (Stefan
         Schaeckeler).
      
      * acpi-pm:
        ACPI: PM: sleep: Do not set suspend_ops unnecessarily
        ACPI: PM: Turn off wakeup power resources on _DSW/_PSW errors
        ACPI: PM: Fix sharing of wakeup power resources
        ACPI: PM: Turn off unused wakeup power resources
        ACPI: PM: Check states of power resources during initialization
      
      * acpi-battery:
        ACPI: battery: Accept charges over the design capacity as full
      
      * acpi-ac:
        ACPI: AC: Quirk GK45 to skip reading _PSR
      f8df1601
    • Linus Torvalds's avatar
      Merge tag 'libata-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 61f90a8e
      Linus Torvalds authored
      Pull libata updates from Damien Le Moal:
      
       - Remove duplicated AHCI adapter PCI device IDs (from Krzysztof)
      
       - Cleanup of device DMA state checking to consistantly use
         ata_dma_enabled() (from Reimar)
      
      * tag 'libata-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        pata_radisys: fix checking of DMA state
        pata_optidma: fix checking of DMA state
        pata_amd: fix checking of DMA state
        pata_ali: fix checking of DMA state
        libata-scsi: fix checking of DMA state
        libata: fix checking of DMA state
        Add AHCI support for ASM1062+JBM575 cards
        ahci: remove duplicated PCI device IDs
      61f90a8e
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-glue', 'acpi-pnp', 'acpi-processor' and 'acpi-soc' · c3fb4660
      Rafael J. Wysocki authored
      Merge updates of the code associating ACPI device objects with
      devices and PNP code, processor driver, and Intel LPSS driver updates
      for 5.16-rc1:
      
       - Make the association of ACPI device objects with PCI devices more
         straightforward and simplify the code doing that for all devices
         in general (Rafael Wysocki).
      
       - Use acpi_device_adr() in acpi_find_child_device() instead of
         evaluating _ADR (Rafael Wysocki).
      
       - Drop duplicate device IDs from PNP device IDs list (Krzysztof
         Kozlowski).
      
       - Allow acpi_idle_play_dead() to use C3 on AMD processors (Richard
         Gong).
      
       - Use ACPI_COMPANION() to simplify code in the ACPI driver for Intel
         SoCs (Rafael Wysocki).
      
      * acpi-glue:
        ACPI: glue: Use acpi_device_adr() in acpi_find_child_device()
        ACPI: glue: Look for ACPI bus type only if ACPI companion is not known
        ACPI: glue: Drop cleanup callback from struct acpi_bus_type
        PCI: ACPI: Drop acpi_pci_bus
      
      * acpi-pnp:
        ACPI: PNP: remove duplicated BRI0A49 and BDP3336 entries
      
      * acpi-processor:
        ACPI: processor idle: Allow playing dead in C3 state
      
      * acpi-soc:
        ACPI: LPSS: Use ACPI_COMPANION() directly
      c3fb4660
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-x86', 'acpi-resources', 'acpi-scan' and 'acpi-misc' · b2ffa16a
      Rafael J. Wysocki authored
      Merge x86-specific ACPI updates, ACPI resources management updates,
      one ACPI device enumeration update and miscellaneous ACPI updates for
      5.16-rc1:
      
       - Avoid flushing caches before entering C3 type of idle states on
         AMD processors (Deepak Sharma).
      
       - Avoid enumerating CPUs that are not present and not online-capable
         according to the platform firmware (Mario Limonciello).
      
       - Add DMI-based mechanism to quirk IRQ overrides and use it for two
         platforms (Hui Wang).
      
       - Change the configuration of unused ACPI device objects to reflect
         the D3cold power state after enumerating devices (Rafael Wysocki).
      
       - Update MAINTAINERS information regarding ACPI (Rafael Wysocki).
      
       - Fix typo in ACPI Kconfig (Masanari Iid).
      
       - Use sysfs_emit() instead of snprintf() in some places (Qing Wang).
      
      * acpi-x86:
        x86: ACPI: cstate: Optimize C3 entry on AMD CPUs
        x86/ACPI: Don't add CPUs that are not online capable
        ACPICA: Add support for MADT online enabled bit
      
      * acpi-resources:
        ACPI: resources: Add one more Medion model in IRQ override quirk
        ACPI: resources: Add DMI-based legacy IRQ override quirk
      
      * acpi-scan:
        ACPI: scan: Release PM resources blocked by unused objects
      
      * acpi-misc:
        ACPI: replace snprintf() in "show" functions with sysfs_emit()
        ACPI: Update information in MAINTAINERS
        ACPI: Kconfig: Fix a typo in Kconfig
      b2ffa16a
    • Rafael J. Wysocki's avatar
      Merge branch 'acpica' · 9cb31aa1
      Rafael J. Wysocki authored
      Merge ACPICA updates for 5.16-rc1:
      
       - Fix system-wide resume issue caused by evaluating control methods
         too early in the resume path (Rafael Wysocki).
      
       - Add support for Windows 2020 _OSI string (Mario Limonciello).
      
       - Add Generic Port Affinity type for SRAT (Alison Schofield).
      
       - Add disassembly support for the NHLT ACPI table (Bob Moore).
      
      * acpica:
        ACPICA: Update version to 20210930
        ACPICA: iASL table disassembler: Added disassembly support for the NHLT ACPI table
        ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type
        ACPICA: Add support for Windows 2020 _OSI string
        ACPICA: Avoid evaluating methods too early during system resume
      9cb31aa1
    • Rafael J. Wysocki's avatar
      Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm · 19ea8a0d
      Rafael J. Wysocki authored
      Pull ARM cpufreq updates for 5.16-rc1 from Viresh Kumar:
      
      "- Fix tegra driver to handle BPMP errors properly (Mikko Perttunen).
      
       - Fix the parameter usage of the newly added perf-domain API (Hector
         Yuan).
      
       - Minor cleanups to cppc, vexpress and s3c244x drivers (Han Wang,
         Guenter Roeck, and Arnd Bergmann)."
      
      * 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
        cpufreq: Fix parameter in parse_perf_domain()
        cpufreq: tegra186/tegra194: Handle errors in BPMP response
        cpufreq: remove useless INIT_LIST_HEAD()
        cpufreq: s3c244x: add fallthrough comments for switch
        cpufreq: vexpress: Drop unused variable
      19ea8a0d
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cc0356d6
      Linus Torvalds authored
      Pull x86 core updates from Borislav Petkov:
      
       - Do not #GP on userspace use of CLI/STI but pretend it was a NOP to
         keep old userspace from breaking. Adjust the corresponding iopl
         selftest to that.
      
       - Improve stack overflow warnings to say which stack got overflowed and
         raise the exception stack sizes to 2 pages since overflowing the
         single page of exception stack is very easy to do nowadays with all
         the tracing machinery enabled. With that, rip out the custom mapping
         of AMD SEV's too.
      
       - A bunch of changes in preparation for FGKASLR like supporting more
         than 64K section headers in the relocs tool, correct ORC lookup table
         size to cover the whole kernel .text and other adjustments.
      
      * tag 'x86_core_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage
        vmlinux.lds.h: Have ORC lookup cover entire _etext - _stext
        x86/boot/compressed: Avoid duplicate malloc() implementations
        x86/boot: Allow a "silent" kaslr random byte fetch
        x86/tools/relocs: Support >64K section headers
        x86/sev: Make the #VC exception stacks part of the default stacks storage
        x86: Increase exception stack sizes
        x86/mm/64: Improve stack overflow warnings
        x86/iopl: Fake iopl(3) CLI/STI usage
      cc0356d6
    • Linus Torvalds's avatar
      Merge tag 'net-next-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · fc02cb2b
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core:
      
         - Remove socket skb caches
      
         - Add a SO_RESERVE_MEM socket op to forward allocate buffer space and
           avoid memory accounting overhead on each message sent
      
         - Introduce managed neighbor entries - added by control plane and
           resolved by the kernel for use in acceleration paths (BPF / XDP
           right now, HW offload users will benefit as well)
      
         - Make neighbor eviction on link down controllable by userspace to
           work around WiFi networks with bad roaming implementations
      
         - vrf: Rework interaction with netfilter/conntrack
      
         - fq_codel: implement L4S style ce_threshold_ect1 marking
      
         - sch: Eliminate unnecessary RCU waits in mini_qdisc_pair_swap()
      
        BPF:
      
         - Add support for new btf kind BTF_KIND_TAG, arbitrary type tagging
           as implemented in LLVM14
      
         - Introduce bpf_get_branch_snapshot() to capture Last Branch Records
      
         - Implement variadic trace_printk helper
      
         - Add a new Bloomfilter map type
      
         - Track <8-byte scalar spill and refill
      
         - Access hw timestamp through BPF's __sk_buff
      
         - Disallow unprivileged BPF by default
      
         - Document BPF licensing
      
        Netfilter:
      
         - Introduce egress hook for looking at raw outgoing packets
      
         - Allow matching on and modifying inner headers / payload data
      
         - Add NFT_META_IFTYPE to match on the interface type either from
           ingress or egress
      
        Protocols:
      
         - Multi-Path TCP:
            - increase default max additional subflows to 2
            - rework forward memory allocation
            - add getsockopts: MPTCP_INFO, MPTCP_TCPINFO, MPTCP_SUBFLOW_ADDRS
      
         - MCTP flow support allowing lower layer drivers to configure msg
           muxing as needed
      
         - Automatic Multicast Tunneling (AMT) driver based on RFC7450
      
         - HSR support the redbox supervision frames (IEC-62439-3:2018)
      
         - Support for the ip6ip6 encapsulation of IOAM
      
         - Netlink interface for CAN-FD's Transmitter Delay Compensation
      
         - Support SMC-Rv2 eliminating the current same-subnet restriction, by
           exploiting the UDP encapsulation feature of RoCE adapters
      
         - TLS: add SM4 GCM/CCM crypto support
      
         - Bluetooth: initial support for link quality and audio/codec offload
      
        Driver APIs:
      
         - Add a batched interface for RX buffer allocation in AF_XDP buffer
           pool
      
         - ethtool: Add ability to control transceiver modules' power mode
      
         - phy: Introduce supported interfaces bitmap to express MAC
           capabilities and simplify PHY code
      
         - Drop rtnl_lock from DSA .port_fdb_{add,del} callbacks
      
        New drivers:
      
         - WiFi driver for Realtek 8852AE 802.11ax devices (rtw89)
      
         - Ethernet driver for ASIX AX88796C SPI device (x88796c)
      
        Drivers:
      
         - Broadcom PHYs
            - support 72165, 7712 16nm PHYs
            - support IDDQ-SR for additional power savings
      
         - PHY support for QCA8081, QCA9561 PHYs
      
         - NXP DPAA2: support for IRQ coalescing
      
         - NXP Ethernet (enetc): support for software TCP segmentation
      
         - Renesas Ethernet (ravb) - support DMAC and EMAC blocks of
           Gigabit-capable IP found on RZ/G2L SoC
      
         - Intel 100G Ethernet
            - support for eswitch offload of TC/OvS flow API, including
              offload of GRE, VxLAN, Geneve tunneling
            - support application device queues - ability to assign Rx and Tx
              queues to application threads
            - PTP and PPS (pulse-per-second) extensions
      
         - Broadcom Ethernet (bnxt)
            - devlink health reporting and device reload extensions
      
         - Mellanox Ethernet (mlx5)
            - offload macvlan interfaces
            - support HW offload of TC rules involving OVS internal ports
            - support HW-GRO and header/data split
            - support application device queues
      
         - Marvell OcteonTx2:
            - add XDP support for PF
            - add PTP support for VF
      
         - Qualcomm Ethernet switch (qca8k): support for QCA8328
      
         - Realtek Ethernet DSA switch (rtl8366rb)
            - support bridge offload
            - support STP, fast aging, disabling address learning
            - support for Realtek RTL8365MB-VC, a 4+1 port 10M/100M/1GE switch
      
         - Mellanox Ethernet/IB switch (mlxsw)
            - multi-level qdisc hierarchy offload (e.g. RED, prio and shaping)
            - offload root TBF qdisc as port shaper
            - support multiple routing interface MAC address prefixes
            - support for IP-in-IP with IPv6 underlay
      
         - MediaTek WiFi (mt76)
            - mt7921 - ASPM, 6GHz, SDIO and testmode support
            - mt7915 - LED and TWT support
      
         - Qualcomm WiFi (ath11k)
            - include channel rx and tx time in survey dump statistics
            - support for 80P80 and 160 MHz bandwidths
            - support channel 2 in 6 GHz band
            - spectral scan support for QCN9074
            - support for rx decapsulation offload (data frames in 802.3
              format)
      
         - Qualcomm phone SoC WiFi (wcn36xx)
            - enable Idle Mode Power Save (IMPS) to reduce power consumption
              during idle
      
         - Bluetooth driver support for MediaTek MT7922 and MT7921
      
         - Enable support for AOSP Bluetooth extension in Qualcomm WCN399x and
           Realtek 8822C/8852A
      
         - Microsoft vNIC driver (mana)
            - support hibernation and kexec
      
         - Google vNIC driver (gve)
            - support for jumbo frames
            - implement Rx page reuse
      
        Refactor:
      
         - Make all writes to netdev->dev_addr go thru helpers, so that we can
           add this address to the address rbtree and handle the updates
      
         - Various TCP cleanups and optimizations including improvements to
           CPU cache use
      
         - Simplify the gnet_stats, Qdisc stats' handling and remove
           qdisc->running sequence counter
      
         - Driver changes and API updates to address devlink locking
           deficiencies"
      
      * tag 'net-next-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2122 commits)
        Revert "net: avoid double accounting for pure zerocopy skbs"
        selftests: net: add arp_ndisc_evict_nocarrier
        net: ndisc: introduce ndisc_evict_nocarrier sysctl parameter
        net: arp: introduce arp_evict_nocarrier sysctl parameter
        libbpf: Deprecate AF_XDP support
        kbuild: Unify options for BTF generation for vmlinux and modules
        selftests/bpf: Add a testcase for 64-bit bounds propagation issue.
        bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit.
        bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off.
        net: vmxnet3: remove multiple false checks in vmxnet3_ethtool.c
        net: avoid double accounting for pure zerocopy skbs
        tcp: rename sk_wmem_free_skb
        netdevsim: fix uninit value in nsim_drv_configure_vfs()
        selftests/bpf: Fix also no-alu32 strobemeta selftest
        bpf: Add missing map_delete_elem method to bloom filter map
        selftests/bpf: Add bloom map success test for userspace calls
        bpf: Add alignment padding for "map_extra" + consolidate holes
        bpf: Bloom filter map naming fixups
        selftests/bpf: Add test cases for struct_ops prog
        bpf: Add dummy BPF STRUCT_OPS for test purpose
        ...
      fc02cb2b
    • Paolo Bonzini's avatar
      Merge tag 'kvm-riscv-5.16-2' of https://github.com/kvm-riscv/linux into HEAD · 52cf891d
      Paolo Bonzini authored
      Minor cocci warning fixes:
      1) Bool return warning fix
      2) Unnedded semicolon warning fix
      52cf891d
    • Marc Dionne's avatar
      afs: Set mtime from the client for yfs create operations · 52af7105
      Marc Dionne authored
      For operations that create vnodes on the server such as CreateFile,
      MakeDir or Symlink, the server will store its own current time as
      the mtime if the client doesn't pass in a time in the accompanying
      StoreStatus structure.
      
      If the server and client clocks are not well synchronized, the client
      may see timestamps in the future or inconsistent dependency checks
      with "make" for files that are not modified after creation:
      
      make[2]: Warning: File 'arch/x86/kernel/apic/modules.order' has
      modification time 0.14 s in the future
      make[2]: warning:  Clock skew detected.  Your build may be incomplete.
      
      This is already handled correctly for non yfs operations; also
      set the mtime for the corresponding yfs operations.
      
      Changes:
      v3: Replace S_IRWXUGO with 0777, per checkpatch
      v2: [dhowells] Merge the two xdr_encode_YFSStoreStatus*() functions together
      Signed-off-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Link: http://lists.infradead.org/pipermail/linux-afs/2021-October/004395.html
      52af7105
    • David Howells's avatar
    • Petr Mladek's avatar
      40e64a88
    • Russell King (Oracle)'s avatar
    • Jakub Kicinski's avatar
      Revert "net: avoid double accounting for pure zerocopy skbs" · 84882cf7
      Jakub Kicinski authored
      This reverts commit f1a456f8.
      
        WARNING: CPU: 1 PID: 6819 at net/core/skbuff.c:5429 skb_try_coalesce+0x78b/0x7e0
        CPU: 1 PID: 6819 Comm: xxxxxxx Kdump: loaded Tainted: G S                5.15.0-04194-gd852503f7711 #16
        RIP: 0010:skb_try_coalesce+0x78b/0x7e0
        Code: e8 2a bf 41 ff 44 8b b3 bc 00 00 00 48 8b 7c 24 30 e8 19 c0 41 ff 44 89 f0 48 03 83 c0 00 00 00 48 89 44 24 40 e9 47 fb ff ff <0f> 0b e9 ca fc ff ff 4c 8d 70 ff 48 83 c0 07 48 89 44 24 38 e9 61
        RSP: 0018:ffff88881f449688 EFLAGS: 00010282
        RAX: 00000000fffffe96 RBX: ffff8881566e4460 RCX: ffffffff82079f7e
        RDX: 0000000000000003 RSI: dffffc0000000000 RDI: ffff8881566e47b0
        RBP: ffff8881566e46e0 R08: ffffed102619235d R09: ffffed102619235d
        R10: ffff888130c91ae3 R11: ffffed102619235c R12: ffff88881f4498a0
        R13: 0000000000000056 R14: 0000000000000009 R15: ffff888130c91ac0
        FS:  00007fec2cbb9700(0000) GS:ffff88881f440000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 00007fec1b060d80 CR3: 00000003acf94005 CR4: 00000000003706e0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
        Call Trace:
         <IRQ>
         tcp_try_coalesce+0xeb/0x290
         ? tcp_parse_options+0x610/0x610
         ? mark_held_locks+0x79/0xa0
         tcp_queue_rcv+0x69/0x2f0
         tcp_rcv_established+0xa49/0xd40
         ? tcp_data_queue+0x18a0/0x18a0
         tcp_v6_do_rcv+0x1c9/0x880
         ? rt6_mtu_change_route+0x100/0x100
         tcp_v6_rcv+0x1624/0x1830
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      84882cf7
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · bfc484fe
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
      
         - Delay boot-up self-test for built-in algorithms
      
        Algorithms:
      
         - Remove fallback path on arm64 as SIMD now runs with softirq off
      
        Drivers:
      
         - Add Keem Bay OCS ECC Driver"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (61 commits)
        crypto: testmgr - fix wrong key length for pkcs1pad
        crypto: pcrypt - Delay write to padata->info
        crypto: ccp - Make use of the helper macro kthread_run()
        crypto: sa2ul - Use the defined variable to clean code
        crypto: s5p-sss - Add error handling in s5p_aes_probe()
        crypto: keembay-ocs-ecc - Add Keem Bay OCS ECC Driver
        dt-bindings: crypto: Add Keem Bay ECC bindings
        crypto: ecc - Export additional helper functions
        crypto: ecc - Move ecc.h to include/crypto/internal
        crypto: engine - Add KPP Support to Crypto Engine
        crypto: api - Do not create test larvals if manager is disabled
        crypto: tcrypt - fix skcipher multi-buffer tests for 1420B blocks
        hwrng: s390 - replace snprintf in show functions with sysfs_emit
        crypto: octeontx2 - set assoclen in aead_do_fallback()
        crypto: ccp - Fix whitespace in sev_cmd_buffer_len()
        hwrng: mtk - Force runtime pm ops for sleep ops
        crypto: testmgr - Only disable migration in crypto_disable_simd_for_test()
        crypto: qat - share adf_enable_pf2vf_comms() from adf_pf2vf_msg.c
        crypto: qat - extract send and wait from adf_vf2pf_request_version()
        crypto: qat - add VF and PF wrappers to common send function
        ...
      bfc484fe
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · d2fac0af
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Add some additional audit logging to capture the openat2() syscall
        open_how struct info.
      
        Previous variations of the open()/openat() syscalls allowed audit
        admins to inspect the syscall args to get the information contained in
        the new open_how struct used in openat2()"
      
      * tag 'audit-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: return early if the filter rule has a lower priority
        audit: add OPENAT2 record to list "how" info
        audit: add support for the openat2 syscall
        audit: replace magic audit syscall class numbers with macros
        lsm_audit: avoid overloading the "key" audit field
        audit: Convert to SPDX identifier
        audit: rename struct node to struct audit_node to prevent future name collisions
      d2fac0af
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · cdab10bf
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
      
       - Add LSM/SELinux/Smack controls and auditing for io-uring.
      
         As usual, the individual commit descriptions have more detail, but we
         were basically missing two things which we're adding here:
      
            + establishment of a proper audit context so that auditing of
              io-uring ops works similarly to how it does for syscalls (with
              some io-uring additions because io-uring ops are *not* syscalls)
      
            + additional LSM hooks to enable access control points for some of
              the more unusual io-uring features, e.g. credential overrides.
      
         The additional audit callouts and LSM hooks were done in conjunction
         with the io-uring folks, based on conversations and RFC patches
         earlier in the year.
      
       - Fixup the binder credential handling so that the proper credentials
         are used in the LSM hooks; the commit description and the code
         comment which is removed in these patches are helpful to understand
         the background and why this is the proper fix.
      
       - Enable SELinux genfscon policy support for securityfs, allowing
         improved SELinux filesystem labeling for other subsystems which make
         use of securityfs, e.g. IMA.
      
      * tag 'selinux-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        security: Return xattr name from security_dentry_init_security()
        selinux: fix a sock regression in selinux_ip_postroute_compat()
        binder: use cred instead of task for getsecid
        binder: use cred instead of task for selinux checks
        binder: use euid from cred instead of using task
        LSM: Avoid warnings about potentially unused hook variables
        selinux: fix all of the W=1 build warnings
        selinux: make better use of the nf_hook_state passed to the NF hooks
        selinux: fix race condition when computing ocontext SIDs
        selinux: remove unneeded ipv6 hook wrappers
        selinux: remove the SELinux lockdown implementation
        selinux: enable genfscon labeling for securityfs
        Smack: Brutalist io_uring support
        selinux: add support for the io_uring access controls
        lsm,io_uring: add LSM hooks to io_uring
        io_uring: convert io_uring to the secure anon inode interface
        fs: add anon_inode_getfile_secure() similar to anon_inode_getfd_secure()
        audit: add filtering for io_uring records
        audit,io_uring,io-wq: add some basic audit support to io_uring
        audit: prepare audit_context for use in calling contexts beyond syscalls
      cdab10bf
    • Hector.Yuan's avatar
      cpufreq: Fix parameter in parse_perf_domain() · 4a08e327
      Hector.Yuan authored
      Pass cpu to parse_perf_domain() instead of pcpu.
      
      Fixes: 8486a32d ("cpufreq: Add of_perf_domain_get_sharing_cpumask")
      Signed-off-by: default avatarHector.Yuan <hector.yuan@mediatek.com>
      [ Viresh: Massaged changelog ]
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      4a08e327
    • Linus Torvalds's avatar
      Merge tag 'rcu.2021.11.01a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 6fedc280
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Miscellaneous fixes
      
       - Torture-test updates for smp_call_function(), most notably improved
         checking of module parameters.
      
       - Tasks-trace RCU updates that fix a number of rare but important
         race-condition bugs.
      
       - Other torture-test updates, most notably better checking of module
         parameters. In addition, rcutorture may once again be run on
         CONFIG_PREEMPT_RT kernels.
      
       - Torture-test scripting updates, most notably specifying the new
         CONFIG_KCSAN_STRICT kconfig option rather than maintaining an
         ever-changing list of individual KCSAN kconfig options.
      
      * tag 'rcu.2021.11.01a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (46 commits)
        rcu: Fix rcu_dynticks_curr_cpu_in_eqs() vs noinstr
        rcu: Always inline rcu_dynticks_task*_{enter,exit}()
        torture: Make kvm-remote.sh print size of downloaded tarball
        torture: Allot 1G of memory for scftorture runs
        tools/rcu: Add an extract-stall script
        scftorture: Warn on individual scf_torture_init() error conditions
        scftorture: Count reschedule IPIs
        scftorture: Account for weight_resched when checking for all zeroes
        scftorture: Shut down if nonsensical arguments given
        scftorture: Allow zero weight to exclude an smp_call_function*() category
        rcu: Avoid unneeded function call in rcu_read_unlock()
        rcu-tasks: Update comments to cond_resched_tasks_rcu_qs()
        rcu-tasks: Fix IPI failure handling in trc_wait_for_one_reader
        rcu-tasks: Fix read-side primitives comment for call_rcu_tasks_trace
        rcu-tasks: Clarify read side section info for rcu_tasks_rude GP primitives
        rcu-tasks: Correct comparisons for CPU numbers in show_stalled_task_trace
        rcu-tasks: Correct firstreport usage in check_all_holdout_tasks_trace
        rcu-tasks: Fix s/rcu_add_holdout/trc_add_holdout/ typo in comment
        rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop
        rcu-tasks: Fix s/instruction/instructions/ typo in comment
        ...
      6fedc280