1. 21 Feb, 2023 8 commits
    • Linus Torvalds's avatar
      Merge tag 'x86-fpu-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2e0ddb34
      Linus Torvalds authored
      Pull x86 fpu updates from Ingo Molnar:
      
       - Replace zero-length array in struct xregs_state with flexible-array
         member, to help the enabling of stricter compiler checks.
      
       - Don't set TIF_NEED_FPU_LOAD for PF_IO_WORKER threads.
      
      * tag 'x86-fpu-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Don't set TIF_NEED_FPU_LOAD for PF_IO_WORKER threads
        x86/fpu: Replace zero-length array in struct xregs_state with flexible-array member
      2e0ddb34
    • Linus Torvalds's avatar
      Merge tag 'x86-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8a68bd3e
      Linus Torvalds authored
      Pull x86 core updates from Ingo Molnar:
      
       - Clean up the signal frame layout tests
      
       - Suppress KMSAN false positive reports in arch_within_stack_frames()
      
      * tag 'x86-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Suppress KMSAN reports in arch_within_stack_frames()
        x86/signal/compat: Move sigaction_compat_abi() to signal_64.c
        x86/signal: Move siginfo field tests
      8a68bd3e
    • Linus Torvalds's avatar
      Merge tag 'x86-build-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 572640f0
      Linus Torvalds authored
      Pull x86 build update from Ingo Molnar:
       "Make the 64-bit defconfig the x86 default for all builds, unless
        x86-32 is requested explicitly"
      
      * tag 'x86-build-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build: Make 64-bit defconfig the default
      572640f0
    • Linus Torvalds's avatar
      Merge tag 'x86-boot-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35011c67
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
      
       - Robustify/fix calling startup_{32,64}() from the decompressor code,
         and removing x86 quirk from scripts/head-object-list.txt as a result.
      
       - Do not register processors that cannot be onlined for x2APIC
      
      * tag 'x86-boot-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/acpi/boot: Do not register processors that cannot be onlined for x2APIC
        scripts/head-object-list: Remove x86 from the list
        x86/boot: Robustify calling startup_{32,64}() from the decompressor code
      35011c67
    • Linus Torvalds's avatar
      Merge tag 'x86-asm-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6be3dafc
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "Header fixes and a DocBook fix"
      
      * tag 'x86-asm-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/lib: Fix compiler and kernel-doc warnings
        x86/lib: Include <asm/misc.h> to fix a missing prototypes warning at build time
      6be3dafc
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1f2d9ffc
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - Improve the scalability of the CFS bandwidth unthrottling logic with
         large number of CPUs.
      
       - Fix & rework various cpuidle routines, simplify interaction with the
         generic scheduler code. Add __cpuidle methods as noinstr to objtool's
         noinstr detection and fix boatloads of cpuidle bugs & quirks.
      
       - Add new ABI: introduce MEMBARRIER_CMD_GET_REGISTRATIONS, to query
         previously issued registrations.
      
       - Limit scheduler slice duration to the sysctl_sched_latency period, to
         improve scheduling granularity with a large number of SCHED_IDLE
         tasks.
      
       - Debuggability enhancement on sys_exit(): warn about disabled IRQs,
         but also enable them to prevent a cascade of followup problems and
         repeat warnings.
      
       - Fix the rescheduling logic in prio_changed_dl().
      
       - Micro-optimize cpufreq and sched-util methods.
      
       - Micro-optimize ttwu_runnable()
      
       - Micro-optimize the idle-scanning in update_numa_stats(),
         select_idle_capacity() and steal_cookie_task().
      
       - Update the RSEQ code & self-tests
      
       - Constify various scheduler methods
      
       - Remove unused methods
      
       - Refine __init tags
      
       - Documentation updates
      
       - Misc other cleanups, fixes
      
      * tag 'sched-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (110 commits)
        sched/rt: pick_next_rt_entity(): check list_entry
        sched/deadline: Add more reschedule cases to prio_changed_dl()
        sched/fair: sanitize vruntime of entity being placed
        sched/fair: Remove capacity inversion detection
        sched/fair: unlink misfit task from cpu overutilized
        objtool: mem*() are not uaccess safe
        cpuidle: Fix poll_idle() noinstr annotation
        sched/clock: Make local_clock() noinstr
        sched/clock/x86: Mark sched_clock() noinstr
        x86/pvclock: Improve atomic update of last_value in pvclock_clocksource_read()
        x86/atomics: Always inline arch_atomic64*()
        cpuidle: tracing, preempt: Squash _rcuidle tracing
        cpuidle: tracing: Warn about !rcu_is_watching()
        cpuidle: lib/bug: Disable rcu_is_watching() during WARN/BUG
        cpuidle: drivers: firmware: psci: Dont instrument suspend code
        KVM: selftests: Fix build of rseq test
        exit: Detect and fix irq disabled state in oops
        cpuidle, arm64: Fix the ARM64 cpuidle logic
        cpuidle: mvebu: Fix duplicate flags assignment
        sched/fair: Limit sched slice duration
        ...
      1f2d9ffc
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a2f0e7ee
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
      
       - Optimize perf_sample_data layout
      
       - Prepare sample data handling for BPF integration
      
       - Update the x86 PMU driver for Intel Meteor Lake
      
       - Restructure the x86 uncore code to fix a SPR (Sapphire Rapids)
         discovery breakage
      
       - Fix the x86 Zhaoxin PMU driver
      
       - Cleanups
      
      * tag 'perf-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
        perf/x86/intel/uncore: Add Meteor Lake support
        x86/perf/zhaoxin: Add stepping check for ZXC
        perf/x86/intel/ds: Fix the conversion from TSC to perf time
        perf/x86/uncore: Don't WARN_ON_ONCE() for a broken discovery table
        perf/x86/uncore: Add a quirk for UPI on SPR
        perf/x86/uncore: Ignore broken units in discovery table
        perf/x86/uncore: Fix potential NULL pointer in uncore_get_alias_name
        perf/x86/uncore: Factor out uncore_device_to_die()
        perf/core: Call perf_prepare_sample() before running BPF
        perf/core: Introduce perf_prepare_header()
        perf/core: Do not pass header for sample ID init
        perf/core: Set data->sample_flags in perf_prepare_sample()
        perf/core: Add perf_sample_save_brstack() helper
        perf/core: Add perf_sample_save_raw_data() helper
        perf/core: Add perf_sample_save_callchain() helper
        perf/core: Save the dynamic parts of sample data size
        x86/kprobes: Use switch-case for 0xFF opcodes in prepare_emulation
        perf/core: Change the layout of perf_sample_data
        perf/x86/msr: Add Meteor Lake support
        perf/x86/cstate: Add Meteor Lake support
        ...
      a2f0e7ee
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6e649d08
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
      
       - rwsem micro-optimizations
      
       - spinlock micro-optimizations
      
       - cleanups, simplifications
      
      * tag 'locking-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        vduse: Remove include of rwlock.h
        locking/lockdep: Remove lockdep_init_map_crosslock.
        x86/ACPI/boot: Use try_cmpxchg() in __acpi_{acquire,release}_global_lock()
        x86/PAT: Use try_cmpxchg() in set_page_memtype()
        locking/rwsem: Disable preemption in all down_write*() and up_write() code paths
        locking/rwsem: Disable preemption in all down_read*() and up_read() code paths
        locking/rwsem: Prevent non-first waiter from spinning in down_write() slowpath
        locking/qspinlock: Micro-optimize pending state waiting for unlock
      6e649d08
  2. 20 Feb, 2023 24 commits
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · db77b850
      Linus Torvalds authored
      Pull asm-generic cleanups from Arnd Bergmann:
       "Only three minor changes: a cross-platform series from Mike Rapoport
        to consolidate asm/agp.h between architectures, and a correctness
        change for __generic_cmpxchg_local() from Matt Evans"
      
      * tag 'asm-generic-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        char/agp: introduce asm-generic/agp.h
        char/agp: consolidate {alloc,free}_gatt_pages()
        locking/atomic: cmpxchg: Make __generic_cmpxchg_local compare against zero-extended 'old' value
      db77b850
    • Linus Torvalds's avatar
      Merge tag 'soc-dt-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 950b6662
      Linus Torvalds authored
      Pull SoC DT updates from Arnd Bergmann:
       "About a quarter of the changes are for 32-bit arm, mostly filling in
        device support for existing machines and adding minor cleanups, mostly
        for Qualcomm and Samsung based machines.
      
        Two new 32-bit SoCs are added, both are quad-core Cortex-A7 chips from
        Rockchips that have been around for a while but were lacking kernel
        support so far: RV1126 is a Vision SoC with an NPU and is used in the
        Edgeble Neural Compute Module 2(Neu2) board, while RK3128 is design
        for TV boxes and so far only comes with a dts for its refernece
        design.
      
        The other 32-bit boards that were added are two ASpeed AST2600 based
        BMC boards, the Microchip sam9x60_curiosity development board (Armv5
        based!), the Enclustra PE1 FPGA-SoM baseboard, and a few more boards
        for i.MX53 and i.MX6ULL.
      
        On the RISC-V side, there are fewer patches, but a total of ten new
        single-board computers based on variations of the Allwinner D1/T113
        chip, plus one more board based on Microchip Polarfire.
      
        As usual, arm64 has by far the most changes here, with over 700
        non-merge changesets, among them over 400 alone for Qualcomm. The
        newly added SoCs this time are all recent high-end embedded SoCs for
        various markets, each on comes with support for its reference board:
      
         - Qualcomm SM8550 (Snapdragon 8 Gen 2) for mobile phones
         - Qualcomm QDU1000/QRU1000 5G RAN platform
         - Rockchips RK3588/RK3588s for tablets, chromebooks and SBCs
         - TI J784S4 for industrial and automotive applications
      
        In total, there are 46 new arm64 machines:
         - Reference platforms for each of the five new SoCs
         - Three Amlogic based development boards
         - Six embedded machines based on NXP i.MX8MM and i.MX8MP
         - The Mediatek mt7986a based Banana Pi R3 router
         - Six tablets based on Qualcomm MSM8916 (Snapdragon 410), SM6115
           (Snapdragon 662) and SM8250 (Snapdragon 865)
         - Two LTE dongles, also based on MSM8916
         - Seven mobile phones, based on Qualcomm MSM8953 (Snapdragon 610),
           SDM450 and SDM632
         - Three chromebooks based on Qualcomm SC7280 (Snapdragon 7c)
         - Nine development boards based on Rockchips RK3588, RK3568, RK3566
           and RK3328.
         - Five development machines based on TI K3 (AM642/AM654/AM68/AM69)
      
        The cleanup of dtc warnings continues across all platforms, adding to
        the total number of changes"
      
      * tag 'soc-dt-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (1035 commits)
        dt-bindings: riscv: correct starfive visionfive 2 compatibles
        ARM: dts: socfpga: Add enclustra PE1 devicetree
        dt-bindings: altera: Add enclustra mercury PE1
        arm64: dts: qcom: msm8996: align RPM G-Link clock-controller node with bindings
        arm64: dts: qcom: qcs404: align RPM G-Link node with bindings
        arm64: dts: qcom: ipq6018: align RPM G-Link node with bindings
        arm64: dts: qcom: sm8550: remove invalid interconnect property from cryptobam
        arm64: dts: qcom: sc7280: Adjust zombie PWM frequency
        arm64: dts: qcom: sc8280xp-pmics: Specify interrupt parent explicitly
        arm64: dts: qcom: sm7225-fairphone-fp4: enable remaining i2c busses
        arm64: dts: qcom: sm7225-fairphone-fp4: move status property down
        arm64: dts: qcom: pmk8350: Use the correct PON compatible
        arm64: dts: qcom: sc8280xp-x13s: Enable external display
        arm64: dts: qcom: sc8280xp-crd: Introduce pmic_glink
        arm64: dts: qcom: sc8280xp: Add USB-C-related DP blocks
        arm64: dts: qcom: sm8350-hdk: enable GPU
        arm64: dts: qcom: sm8350: add GPU, GMU, GPU CC and SMMU nodes
        arm64: dts: qcom: sm8350: finish reordering nodes
        arm64: dts: qcom: sm8350: move more nodes to correct place
        arm64: dts: qcom: sm8350: reorder device nodes
        ...
      950b6662
    • Linus Torvalds's avatar
      Merge tag 'soc-defconfig-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · c72e04c2
      Linus Torvalds authored
      Pull ARM defconfigs updates from Arnd Bergmann:
       "As usual, this contains all the patches to enable options for newly
        added device drivers in the 32-bit and 64-bit defconfig files.
      
        I have sorted the files according to the changes to Kconfig files,
        to make it easier to check what has changed compared to the 'make
        savedefconfig' output.
      
        The most notable change this time is a series from Mark Brown to add
        a 'virtconfig' target for arm64, which is for the moment the same as
        the 'defconfig' target but disables all the top-level SoC specific
        options in order to have a smaller and faster kernel build"
      
      * tag 'soc-defconfig-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (39 commits)
        arm64: defconfig: enable drivers required by the Qualcomm SA8775P platform
        arm64: defconfig: Enable DisplayPort on SC8280XP laptops
        arm64: configs: Add virtconfig
        kbuild: Provide a version of merge_into_defconfig without override warnings
        scripts: merge_config: Add option to suppress warning on overrides
        ARM: reorder defconfig files
        arm64: reorder defconfig
        arm64: defconfig: enable Qualcomm SDAM nvmem driver
        arm64: defconfig: enable SM8450 DISPCC clock driver
        ARM: defconfig: Add IOSCHED_BFQ to the default configs
        ARM: configs: multi_v7: enable NVMEM driver for STM32
        ARM: Add wpcm450_defconfig for Nuvoton WPCM450
        arm64: defconfig: Enable DMA_RESTRICTED_POOL
        arm64: defconfig: Enable missing configs for mt8192-asurada
        riscv: defconfig: Enable the Allwinner D1 platform and drivers
        ARM: imx_v6_v7_defconfig: Don't enable PROVE_LOCKING
        ARM: multi_v7_defconfig: Add GXP Fan and SPI support
        ARM: add multi_v7_lpae_defconfig
        kbuild: Add config fragment merge functionality
        ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
        ...
      c72e04c2
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · b32c6e02
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "The majority of the changes are for the OMAP2 platform, mostly
        removing some dead code that got left behind from previous cleanups.
      
        Aside from that, there are very minor updates and correctness fixes
        for Zynq, i.MX, Samsung, Broadcom, AT91, ep93xx, and OMAP1"
      
      * tag 'arm-soc-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (26 commits)
        dt-bindings: soc: samsung: exynos-pmu: allow phys as child
        ARM: imx: mach-imx6ul: add imx6ulz support
        ARM: imx: Call ida_simple_remove() for ida_simple_get
        arm64: drop redundant "ARMv8" from Kconfig option title
        ARM: ep93xx: Convert to use descriptors for GPIO LEDs
        ARM: s3c: fix s3c64xx_set_timer_source prototype
        ARM: OMAP2+: Fix spelling typos in comment
        ARM: OMAP2+: Remove unneeded #include <linux/pinctrl/machine.h>
        ARM: OMAP2+: Remove unneeded #include <linux/pinctrl/pinmux.h>
        ARM: OMAP1: call platform_device_put() in error case in omap1_dm_timer_init()
        ARM: BCM63xx: remove useless goto statement
        ARM: omap2: make functions static
        ARM: omap2: remove unused omap2_pm_init
        ARM: omap2: remove unused declarations
        ARM: omap2: remove unused functions
        ARM: omap2: smartreflex: remove on_init control
        ARM: omap2: remove APLL control
        ARM: omap2: simplify clock2xxx header
        ARM: omap2: remove unused omap_hwmod_reset.c
        ARM: omap2: remove unused headers
        ...
      b32c6e02
    • Linus Torvalds's avatar
      Merge tag 'arm-boardfile-remove-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ff0c7e18
      Linus Torvalds authored
      Pull ARM SoC boardfile updates from Arnd Bergmann
       "Unused boardfile removal for 6.3
      
        This is a follow-up to the deprecation of most of the old-style board
        files that was merged in linux-6.0, removing them for good.
      
        This branch is almost exclusively dead code removal based on those
        annotations. Some device driver removals went through separate
        subsystem trees, but the majority is in the same branch, in order to
        better handle dependencies between the patches and avoid breaking
        bisection.
      
        Unfortunately that leads to merge conflicts against other changes in
        the subsystem trees, but they should all be trivial to resolve by
        removing the files.
      
        See commit 7d0d3fa7 ("Merge tag 'arm-boardfiles-6.0' of
        git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc") for the
        description of which machines were marked unused and are now removed.
      
        The only removals that got postponed are Terastation WXL (mv78xx0) and
        Jornada720 (StrongARM1100), which turned out to still have potential
        users"
      
      * tag 'arm-boardfile-remove-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (91 commits)
        mmc: omap: drop TPS65010 dependency
        ARM: pxa: restore mfp-pxa320.h
        usb: ohci-omap: avoid unused-variable warning
        ARM: debug: remove references in DEBUG_UART_8250_SHIFT to removed configs
        ARM: s3c: remove obsolete s3c-cpu-freq header
        MAINTAINERS: adjust SAMSUNG SOC CLOCK DRIVERS after s3c24xx support removal
        MAINTAINERS: update file entries after arm multi-platform rework and mach-pxa removal
        ARM: remove CONFIG_UNUSED_BOARD_FILES
        mfd: remove htc-pasic3 driver
        w1: remove ds1wm driver
        usb: remove ohci-tmio driver
        fbdev: remove w100fb driver
        fbdev: remove tmiofb driver
        mmc: remove tmio_mmc driver
        mfd: remove ucb1400 support
        mfd: remove toshiba tmio drivers
        rtc: remove v3020 driver
        power: remove pda_power supply driver
        ASoC: pxa: remove unused board support
        pcmcia: remove unused pxa/sa1100 drivers
        ...
      ff0c7e18
    • Linus Torvalds's avatar
      Merge tag 'for-6.3/block-2023-02-16' of git://git.kernel.dk/linux · 5b0ed596
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - NVMe updates via Christoph:
            - Small improvements to the logging functionality (Amit Engel)
            - Authentication cleanups (Hannes Reinecke)
            - Cleanup and optimize the DMA mapping cod in the PCIe driver
              (Keith Busch)
            - Work around the command effects for Format NVM (Keith Busch)
            - Misc cleanups (Keith Busch, Christoph Hellwig)
            - Fix and cleanup freeing single sgl (Keith Busch)
      
       - MD updates via Song:
            - Fix a rare crash during the takeover process
            - Don't update recovery_cp when curr_resync is ACTIVE
            - Free writes_pending in md_stop
            - Change active_io to percpu
      
       - Updates to drbd, inching us closer to unifying the out-of-tree driver
         with the in-tree one (Andreas, Christoph, Lars, Robert)
      
       - BFQ update adding support for multi-actuator drives (Paolo, Federico,
         Davide)
      
       - Make brd compliant with REQ_NOWAIT (me)
      
       - Fix for IOPOLL and queue entering, fixing stalled IO waiting on
         timeouts (me)
      
       - Fix for REQ_NOWAIT with multiple bios (me)
      
       - Fix memory leak in blktrace cleanup (Greg)
      
       - Clean up sbitmap and fix a potential hang (Kemeng)
      
       - Clean up some bits in BFQ, and fix a bug in the request injection
         (Kemeng)
      
       - Clean up the request allocation and issue code, and fix some bugs
         related to that (Kemeng)
      
       - ublk updates and fixes:
            - Add support for unprivileged ublk (Ming)
            - Improve device deletion handling (Ming)
            - Misc (Liu, Ziyang)
      
       - s390 dasd fixes (Alexander, Qiheng)
      
       - Improve utility of request caching and fixes (Anuj, Xiao)
      
       - zoned cleanups (Pankaj)
      
       - More constification for kobjs (Thomas)
      
       - blk-iocost cleanups (Yu)
      
       - Remove bio splitting from drivers that don't need it (Christoph)
      
       - Switch blk-cgroups to use struct gendisk. Some of this is now
         incomplete as select late reverts were done. (Christoph)
      
       - Add bvec initialization helpers, and convert callers to use that
         rather than open-coding it (Christoph)
      
       - Misc fixes and cleanups (Jinke, Keith, Arnd, Bart, Li, Martin,
         Matthew, Ulf, Zhong)
      
      * tag 'for-6.3/block-2023-02-16' of git://git.kernel.dk/linux: (169 commits)
        brd: use radix_tree_maybe_preload instead of radix_tree_preload
        block: use proper return value from bio_failfast()
        block: bio-integrity: Copy flags when bio_integrity_payload is cloned
        block: Fix io statistics for cgroup in throttle path
        brd: mark as nowait compatible
        brd: check for REQ_NOWAIT and set correct page allocation mask
        brd: return 0/-error from brd_insert_page()
        block: sync mixed merged request's failfast with 1st bio's
        Revert "blk-cgroup: pin the gendisk in struct blkcg_gq"
        Revert "blk-cgroup: pass a gendisk to blkg_lookup"
        Revert "blk-cgroup: delay blk-cgroup initialization until add_disk"
        Revert "blk-cgroup: delay calling blkcg_exit_disk until disk_release"
        Revert "blk-cgroup: move the cgroup information to struct gendisk"
        nvme-pci: remove iod use_sgls
        nvme-pci: fix freeing single sgl
        block: ublk: check IO buffer based on flag need_get_data
        s390/dasd: Fix potential memleak in dasd_eckd_init()
        s390/dasd: sort out physical vs virtual pointers usage
        block: Remove the ALLOC_CACHE_SLACK constant
        block: make kobj_type structures constant
        ...
      5b0ed596
    • Linus Torvalds's avatar
      Merge tag 'for-6.3/dio-2023-02-16' of git://git.kernel.dk/linux · 553637f7
      Linus Torvalds authored
      Pull legacy dio update from Jens Axboe:
       "We only have a few file systems that use the old dio code, make them
        select it rather than build it unconditionally"
      
      * tag 'for-6.3/dio-2023-02-16' of git://git.kernel.dk/linux:
        fs: build the legacy direct I/O code conditionally
        fs: move sb_init_dio_done_wq out of direct-io.c
      553637f7
    • Linus Torvalds's avatar
      Merge tag 'for-6.3/iter-ubuf-2023-02-16' of git://git.kernel.dk/linux · c1ef5003
      Linus Torvalds authored
      Pull io_uring ITER_UBUF conversion from Jens Axboe:
       "Since we now have ITER_UBUF available, switch to using it for single
        ranges as it's more efficient than ITER_IOVEC for that"
      
      * tag 'for-6.3/iter-ubuf-2023-02-16' of git://git.kernel.dk/linux:
        block: use iter_ubuf for single range
        iov_iter: move iter_ubuf check inside restore WARN
        io_uring: use iter_ubuf for single range imports
        io_uring: switch network send/recv to ITER_UBUF
        iov: add import_ubuf()
      c1ef5003
    • Linus Torvalds's avatar
      Merge tag 'for-6.3/io_uring-2023-02-16' of git://git.kernel.dk/linux · cce5fe5e
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
      
       - Cleanup series making the async prep and handling of
         REQ_F_FORCE_ASYNC easier to follow and verify (Dylan)
      
       - Enable specifying specific flags for OP_MSG_RING (Breno)
      
       - Enable use of KASAN with the internal request cache (Breno)
      
       - Split the opcode definition structs into a hot and cold part (Breno)
      
       - OP_MSG_RING fixes (Pavel, me)
      
       - Fix an issue with IOPOLL cancelation and PREEMPT_NONE (me)
      
       - Handle TIF_NOTIFY_RESUME for the io-wq threads that never return to
         userspace (me)
      
       - Add support for using io_uring_register() with a registered ring fd
         (Josh)
      
       - Improve handling of poll on the ring fd (Pavel)
      
       - Series improving the task_work handling (Pavel)
      
       - Misc cleanups, fixes, improvements (Dmitrii, Quanfa, Richard, Pavel,
         me)
      
      * tag 'for-6.3/io_uring-2023-02-16' of git://git.kernel.dk/linux: (51 commits)
        io_uring: Support calling io_uring_register with a registered ring fd
        io_uring,audit: don't log IORING_OP_MADVISE
        io_uring: mark task TASK_RUNNING before handling resume/task work
        io_uring: always go async for unsupported open flags
        io_uring: always go async for unsupported fadvise flags
        io_uring: for requests that require async, force it
        io_uring: if a linked request has REQ_F_FORCE_ASYNC then run it async
        io_uring: add reschedule point to handle_tw_list()
        io_uring: add a conditional reschedule to the IOPOLL cancelation loop
        io_uring: return normal tw run linking optimisation
        io_uring: refactor tctx_task_work
        io_uring: refactor io_put_task helpers
        io_uring: refactor req allocation
        io_uring: improve io_get_sqe
        io_uring: kill outdated comment about overflow flush
        io_uring: use user visible tail in io_uring_poll()
        io_uring: pass in io_issue_def to io_assign_file()
        io_uring: Enable KASAN for request cache
        io_uring: handle TIF_NOTIFY_RESUME when checking for task_work
        io_uring/msg-ring: ensure flags passing works for task_work completions
        ...
      cce5fe5e
    • Linus Torvalds's avatar
      Merge tag 'dlm-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · eca3a04f
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This fixes some races in the lowcomms startup and shutdown code that
        were found by targeted stress testing that quickly and repeatedly
        joins and leaves lockspaces"
      
      * tag 'dlm-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        fs: dlm: remove unnecessary waker_up() calls
        fs: dlm: move state change into else branch
        fs: dlm: remove newline in log_print
        fs: dlm: reduce the shutdown timeout to 5 secs
        fs: dlm: make dlm sequence id more robust
        fs: dlm: wait until all midcomms nodes detect version
        fs: dlm: ignore unexpected non dlm opts msgs
        fs: dlm: bring back previous shutdown handling
        fs: dlm: send FIN ack back in right cases
        fs: dlm: move sending fin message into state change handling
        fs: dlm: don't set stop rx flag after node reset
        fs: dlm: fix race setting stop tx flag
        fs: dlm: be sure to call dlm_send_queue_flush()
        fs: dlm: fix use after free in midcomms commit
        fs: dlm: start midcomms before scand
        fs/dlm: Remove "select SRCU"
        fs: dlm: fix return value check in dlm_memory_init()
      eca3a04f
    • Linus Torvalds's avatar
      Merge tag 'for-6.3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 885ce487
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "The usual mix of performance improvements and new features.
      
        The core change is reworking how checksums are processed, with
        followup cleanups and simplifications. There are two minor changes in
        block layer and iomap code.
      
        Features:
      
         - block group allocation class heuristics:
            - pack files by size (up to 128k, up to 8M, more) to avoid
              fragmentation in block groups, assuming that file size and life
              time is correlated, in particular this may help during balance
            - with tracepoints and extensible in the future
      
        Performance:
      
         - send: cache directory utimes and only emit the command when
           necessary
            - speedup up to 10x
            - smaller final stream produced (no redundant utimes commands
              issued)
            - compatibility not affected
      
         - fiemap: skip backref checks for shared leaves
            - speedup 3x on sample filesystem with all leaves shared (e.g. on
              snapshots)
      
         - micro optimized b-tree key lookup, speedup in metadata operations
           (sample benchmark: fs_mark +10% of files/sec)
      
        Core changes:
      
         - change where checksumming is done in the io path:
            - checksum and read repair does verification at lower layer
            - cascaded cleanups and simplifications
      
         - raid56 refactoring and cleanups
      
        Fixes:
      
         - sysfs: make sure that a run-time change of a feature is correctly
           tracked by the feature files
      
         - scrub: better reporting of tree block errors
      
        Other:
      
         - locally enable -Wmaybe-uninitialized after fixing all warnings
      
         - misc cleanups, spelling fixes
      
        Other code:
      
         - block: export bio_split_rw
      
         - iomap: remove IOMAP_F_ZONE_APPEND"
      
      * tag 'for-6.3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (109 commits)
        btrfs: make kobj_type structures constant
        btrfs: remove the bdev argument to btrfs_rmap_block
        btrfs: don't rely on unchanging ->bi_bdev for zone append remaps
        btrfs: never return true for reads in btrfs_use_zone_append
        btrfs: pass a btrfs_bio to btrfs_use_append
        btrfs: set bbio->file_offset in alloc_new_bio
        btrfs: use file_offset to limit bios size in calc_bio_boundaries
        btrfs: do unsigned integer division in the extent buffer binary search loop
        btrfs: eliminate extra call when doing binary search on extent buffer
        btrfs: raid56: handle endio in scrub_rbio
        btrfs: raid56: handle endio in recover_rbio
        btrfs: raid56: handle endio in rmw_rbio
        btrfs: raid56: submit the read bios from scrub_assemble_read_bios
        btrfs: raid56: fold rmw_read_wait_recover into rmw_read_bios
        btrfs: raid56: fold recover_assemble_read_bios into recover_rbio
        btrfs: raid56: add a bio_list_put helper
        btrfs: raid56: wait for I/O completion in submit_read_bios
        btrfs: raid56: simplify code flow in rmw_rbio
        btrfs: raid56: simplify error handling and code flow in raid56_parity_write
        btrfs: replace btrfs_wait_tree_block_writeback by wait_on_extent_buffer_writeback
        ...
      885ce487
    • Linus Torvalds's avatar
      Merge tag 'fixes_for_v6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 274978f1
      Linus Torvalds authored
      Pull UDF and ext2 fixes from Jan Kara:
      
       - Rewrite of udf directory iteration code to address multiple syzbot
         reports
      
       - Fixes to udf extent handling and block mapping code to address
         several syzbot reports and filesystem corruption issues uncovered by
         fsx & fsstress
      
       - Convert udf to kmap_local()
      
       - Add sanity checks when loading udf bitmaps
      
       - Drop old VARCONV support which I've never seen used and which was
         broken for quite some years without anybody noticing
      
       - Finish conversion of ext2 to kmap_local()
      
       - One fix to mpage_writepages() on which other udf fixes depend
      
      * tag 'fixes_for_v6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (78 commits)
        udf: Avoid directory type conversion failure due to ENOMEM
        udf: Use unsigned variables for size calculations
        udf: remove reporting loc in debug output
        udf: Check consistency of Space Bitmap Descriptor
        udf: Fix file counting in LVID
        udf: Limit file size to 4TB
        udf: Don't return bh from udf_expand_dir_adinicb()
        udf: Convert udf_expand_file_adinicb() to avoid kmap_atomic()
        udf: Convert udf_adinicb_writepage() to memcpy_to_page()
        udf: Switch udf_adinicb_readpage() to kmap_local_page()
        udf: Move udf_adinicb_readpage() to inode.c
        udf: Mark aops implementation static
        udf: Switch to single address_space_operations
        udf: Add handling of in-ICB files to udf_bmap()
        udf: Convert all file types to use udf_write_end()
        udf: Convert in-ICB files to use udf_write_begin()
        udf: Convert in-ICB files to use udf_direct_IO()
        udf: Convert in-ICB files to use udf_writepages()
        udf: Unify .read_folio for normal and in-ICB files
        udf: Fix off-by-one error when discarding preallocation
        ...
      274978f1
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · cd776a43
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "Support for auditing decisions regarding fanotify permission events"
      
      * tag 'fsnotify_for_v6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify,audit: Allow audit to use the full permission event response
        fanotify: define struct members to hold response decision context
        fanotify: Ensure consistent variable type for response
      cd776a43
    • Linus Torvalds's avatar
      Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux · 6639c3ce
      Linus Torvalds authored
      Pull fsverity updates from Eric Biggers:
       "Fix the longstanding implementation limitation that fsverity was only
        supported when the Merkle tree block size, filesystem block size, and
        PAGE_SIZE were all equal.
      
        Specifically, add support for Merkle tree block sizes less than
        PAGE_SIZE, and make ext4 support fsverity on filesystems where the
        filesystem block size is less than PAGE_SIZE.
      
        Effectively, this means that fsverity can now be used on systems with
        non-4K pages, at least on ext4. These changes have been tested using
        the verity group of xfstests, newly updated to cover the new code
        paths.
      
        Also update fs/verity/ to support verifying data from large folios.
      
        There's also a similar patch for fs/crypto/, to support decrypting
        data from large folios, which I'm including in here to avoid a merge
        conflict between the fscrypt and fsverity branches"
      
      * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux:
        fscrypt: support decrypting data from large folios
        fsverity: support verifying data from large folios
        fsverity.rst: update git repo URL for fsverity-utils
        ext4: allow verity with fs block size < PAGE_SIZE
        fs/buffer.c: support fsverity in block_read_full_folio()
        f2fs: simplify f2fs_readpage_limit()
        ext4: simplify ext4_readpage_limit()
        fsverity: support enabling with tree block size < PAGE_SIZE
        fsverity: support verification with tree block size < PAGE_SIZE
        fsverity: replace fsverity_hash_page() with fsverity_hash_block()
        fsverity: use EFBIG for file too large to enable verity
        fsverity: store log2(digest_size) precomputed
        fsverity: simplify Merkle tree readahead size calculation
        fsverity: use unsigned long for level_start
        fsverity: remove debug messages and CONFIG_FS_VERITY_DEBUG
        fsverity: pass pos and size to ->write_merkle_tree_block
        fsverity: optimize fsverity_cleanup_inode() on non-verity files
        fsverity: optimize fsverity_prepare_setattr() on non-verity files
        fsverity: optimize fsverity_file_open() on non-verity files
      6639c3ce
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux · f18f9845
      Linus Torvalds authored
      Pull fscrypt updates from Eric Biggers:
       "Simplify the implementation of the test_dummy_encryption mount option
        by adding the 'test dummy key' on-demand"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux:
        fscrypt: clean up fscrypt_add_test_dummy_key()
        fs/super.c: stop calling fscrypt_destroy_keyring() from __put_super()
        f2fs: stop calling fscrypt_add_test_dummy_key()
        ext4: stop calling fscrypt_add_test_dummy_key()
        fscrypt: add the test dummy encryption key on-demand
      f18f9845
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · dc483c85
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "The most noticeable feature for this cycle is per-CPU kthread
        decompression since Android use cases need low-latency I/O handling in
        order to ensure the app runtime performance, currently unbounded
        workqueue latencies are not quite good for production on many aarch64
        hardwares and thus we need to introduce a deterministic expectation
        for these. Decompression is CPU-intensive and it is sleepable for
        EROFS, so other alternatives like decompression under softirq contexts
        are not considered. More details are in the corresponding commit
        message.
      
        Others are random cleanups around the whole codebase and we will
        continue to clean up further in the next few months.
      
        Due to Lunar New Year holidays, some other new features were not
        completely reviewed and solidified as expected and we may delay them
        into the next version.
      
        Summary:
      
         - Add per-cpu kthreads for low-latency decompression for Android use
           cases
      
         - Get rid of tagged pointer helpers since they are rarely used now
      
         - Several code cleanups to reduce codebase
      
         - Documentation and MAINTAINERS updates"
      
      * tag 'erofs-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs: (21 commits)
        erofs: fix an error code in z_erofs_init_zip_subsystem()
        erofs: unify anonymous inodes for blob
        erofs: relinquish volume with mutex held
        erofs: maintain cookies of share domain in self-contained list
        erofs: remove unused device mapping in meta routine
        MAINTAINERS: erofs: Add Documentation/ABI/testing/sysfs-fs-erofs
        Documentation/ABI: sysfs-fs-erofs: update supported features
        erofs: remove unused EROFS_GET_BLOCKS_RAW flag
        erofs: update print symbols for various flags in trace
        erofs: make kobj_type structures constant
        erofs: add per-cpu threads for decompression as an option
        erofs: tidy up internal.h
        erofs: get rid of z_erofs_do_map_blocks() forward declaration
        erofs: move zdata.h into zdata.c
        erofs: remove tagged pointer helpers
        erofs: avoid tagged pointers to mark sync decompression
        erofs: get rid of erofs_inode_datablocks()
        erofs: simplify iloc()
        erofs: get rid of debug_one_dentry()
        erofs: remove linux/buffer_head.h dependency
        ...
      dc483c85
    • Linus Torvalds's avatar
      Merge tag 'fs.acl.v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping · 91bc559d
      Linus Torvalds authored
      Pull vfs acl update from Christian Brauner:
       "This contains a single update to the internal get acl method and
        replaces an open-coded cmpxchg() comparison with with try_cmpxchg().
      
        It's clearer and also beneficial on some architectures"
      
      * tag 'fs.acl.v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping:
        posix_acl: Use try_cmpxchg in get_acl
      91bc559d
    • Linus Torvalds's avatar
      Merge tag 'fs.v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping · ea5aac6f
      Linus Torvalds authored
      Pull vfs hardening update from Christian Brauner:
       "Jan pointed out that during shutdown both filp_close() and super block
        destruction will use basic printk logging when bugs are detected. This
        causes issues in a few scenarios:
      
         - Tools like syzkaller cannot figure out that the logged message
           indicates a bug.
      
         - Users that explicitly opt in to have the kernel bug on data
           corruption by selecting CONFIG_BUG_ON_DATA_CORRUPTION should see
           the kernel crash when they did actually select that option.
      
         - When there are busy inodes after the superblock is shut down later
           access to such a busy inodes walks through freed memory. It would
           be better to cleanly crash instead.
      
        All of this can be addressed by using the already existing
        CHECK_DATA_CORRUPTION() macro in these places when kernel bugs are
        detected. Its logging improvement is useful for all users.
      
        Otherwise this only has a meaningful behavioral effect when users do
        select CONFIG_BUG_ON_DATA_CORRUPTION which means this is backward
        compatible for regular users"
      
      * tag 'fs.v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping:
        fs: Use CHECK_DATA_CORRUPTION() when kernel bugs are detected
      ea5aac6f
    • Linus Torvalds's avatar
      Merge tag 'fs.idmapped.v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping · 05e6295f
      Linus Torvalds authored
      Pull vfs idmapping updates from Christian Brauner:
      
       - Last cycle we introduced the dedicated struct mnt_idmap type for
         mount idmapping and the required infrastucture in 256c8aed ("fs:
         introduce dedicated idmap type for mounts"). As promised in last
         cycle's pull request message this converts everything to rely on
         struct mnt_idmap.
      
         Currently we still pass around the plain namespace that was attached
         to a mount. This is in general pretty convenient but it makes it easy
         to conflate namespaces that are relevant on the filesystem with
         namespaces that are relevant on the mount level. Especially for
         non-vfs developers without detailed knowledge in this area this was a
         potential source for bugs.
      
         This finishes the conversion. Instead of passing the plain namespace
         around this updates all places that currently take a pointer to a
         mnt_userns with a pointer to struct mnt_idmap.
      
         Now that the conversion is done all helpers down to the really
         low-level helpers only accept a struct mnt_idmap argument instead of
         two namespace arguments.
      
         Conflating mount and other idmappings will now cause the compiler to
         complain loudly thus eliminating the possibility of any bugs. This
         makes it impossible for filesystem developers to mix up mount and
         filesystem idmappings as they are two distinct types and require
         distinct helpers that cannot be used interchangeably.
      
         Everything associated with struct mnt_idmap is moved into a single
         separate file. With that change no code can poke around in struct
         mnt_idmap. It can only be interacted with through dedicated helpers.
         That means all filesystems are and all of the vfs is completely
         oblivious to the actual implementation of idmappings.
      
         We are now also able to extend struct mnt_idmap as we see fit. For
         example, we can decouple it completely from namespaces for users that
         don't require or don't want to use them at all. We can also extend
         the concept of idmappings so we can cover filesystem specific
         requirements.
      
         In combination with the vfs{g,u}id_t work we finished in v6.2 this
         makes this feature substantially more robust and thus difficult to
         implement wrong by a given filesystem and also protects the vfs.
      
       - Enable idmapped mounts for tmpfs and fulfill a longstanding request.
      
         A long-standing request from users had been to make it possible to
         create idmapped mounts for tmpfs. For example, to share the host's
         tmpfs mount between multiple sandboxes. This is a prerequisite for
         some advanced Kubernetes cases. Systemd also has a range of use-cases
         to increase service isolation. And there are more users of this.
      
         However, with all of the other work going on this was way down on the
         priority list but luckily someone other than ourselves picked this
         up.
      
         As usual the patch is tiny as all the infrastructure work had been
         done multiple kernel releases ago. In addition to all the tests that
         we already have I requested that Rodrigo add a dedicated tmpfs
         testsuite for idmapped mounts to xfstests. It is to be included into
         xfstests during the v6.3 development cycle. This should add a slew of
         additional tests.
      
      * tag 'fs.idmapped.v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping: (26 commits)
        shmem: support idmapped mounts for tmpfs
        fs: move mnt_idmap
        fs: port vfs{g,u}id helpers to mnt_idmap
        fs: port fs{g,u}id helpers to mnt_idmap
        fs: port i_{g,u}id_into_vfs{g,u}id() to mnt_idmap
        fs: port i_{g,u}id_{needs_}update() to mnt_idmap
        quota: port to mnt_idmap
        fs: port privilege checking helpers to mnt_idmap
        fs: port inode_owner_or_capable() to mnt_idmap
        fs: port inode_init_owner() to mnt_idmap
        fs: port acl to mnt_idmap
        fs: port xattr to mnt_idmap
        fs: port ->permission() to pass mnt_idmap
        fs: port ->fileattr_set() to pass mnt_idmap
        fs: port ->set_acl() to pass mnt_idmap
        fs: port ->get_acl() to pass mnt_idmap
        fs: port ->tmpfile() to pass mnt_idmap
        fs: port ->rename() to pass mnt_idmap
        fs: port ->mknod() to pass mnt_idmap
        fs: port ->mkdir() to pass mnt_idmap
        ...
      05e6295f
    • Linus Torvalds's avatar
      Merge tag 'iversion-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · de630176
      Linus Torvalds authored
      Pull i_version updates from Jeff Layton:
       "This overhauls how we handle i_version queries from nfsd.
      
        Instead of having special routines and grabbing the i_version field
        directly out of the inode in some cases, we've moved most of the
        handling into the various filesystems' getattr operations. As a bonus,
        this makes ceph's change attribute usable by knfsd as well.
      
        This should pave the way for future work to make this value queryable
        by userland, and to make it more resilient against rolling back on a
        crash"
      
      * tag 'iversion-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        nfsd: remove fetch_iversion export operation
        nfsd: use the getattr operation to fetch i_version
        nfsd: move nfsd4_change_attribute to nfsfh.c
        ceph: report the inode version in getattr if requested
        nfs: report the inode version in getattr if requested
        vfs: plumb i_version handling into struct kstat
        fs: clarify when the i_version counter must be updated
        fs: uninline inode_query_iversion
      de630176
    • Linus Torvalds's avatar
      Merge tag 'locks-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 575a7e0f
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "The main change here is that I've broken out most of the file locking
        definitions into a new header file. I also went ahead and completed
        the removal of locks_inode function"
      
      * tag 'locks-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        fs: remove locks_inode
        filelock: move file locking definitions to separate header file
      575a7e0f
    • Linus Torvalds's avatar
      Merge tag 'tpm-v6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd · 219ac97a
      Linus Torvalds authored
      Pull tpm updates from Jarkko Sakkinen:
       "In additon to bug fixes, these are noteworthy changes:
      
         - In TPM I2C drivers, migrate from probe() to probe_new() (a new
           driver model in I2C).
      
         - TPM CRB: Pluton support
      
         - Add duplicate hash detection to the blacklist keyring in order to
           give more meaningful klog output than e.g. [1]"
      
      Link: https://askubuntu.com/questions/1436856/ubuntu-22-10-blacklist-problem-blacklisting-hash-13-message-on-boot [1]
      
      * tag 'tpm-v6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        tpm: add vendor flag to command code validation
        tpm: Add reserved memory event log
        tpm: Use managed allocation for bios event log
        tpm: tis_i2c: Convert to i2c's .probe_new()
        tpm: tpm_i2c_nuvoton: Convert to i2c's .probe_new()
        tpm: tpm_i2c_infineon: Convert to i2c's .probe_new()
        tpm: tpm_i2c_atmel: Convert to i2c's .probe_new()
        tpm: st33zp24: Convert to i2c's .probe_new()
        KEYS: asymmetric: Fix ECDSA use via keyctl uapi
        certs: don't try to update blacklist keys
        KEYS: Add new function key_create()
        certs: make blacklisted hash available in klog
        tpm_crb: Add support for CRB devices based on Pluton
        crypto: certs: fix FIPS selftest dependency
      219ac97a
    • Linus Torvalds's avatar
      Merge tag 'rust-6.3' of https://github.com/Rust-for-Linux/linux · 69adb0bc
      Linus Torvalds authored
      Pull Rust updates from Miguel Ojeda:
       "More core additions, getting closer to a point where the first Rust
        modules can be upstreamed. The major ones being:
      
         - Sync: new types 'Arc', 'ArcBorrow' and 'UniqueArc'.
      
         - Types: new trait 'ForeignOwnable' and new type 'ScopeGuard'.
      
        There is also a substantial removal in terms of lines:
      
         - 'alloc' crate: remove the 'borrow' module (type 'Cow' and trait
           'ToOwned')"
      
      * tag 'rust-6.3' of https://github.com/Rust-for-Linux/linux:
        rust: delete rust-project.json when running make clean
        rust: MAINTAINERS: Add the zulip link
        rust: types: implement `ForeignOwnable` for `Arc<T>`
        rust: types: implement `ForeignOwnable` for the unit type
        rust: types: implement `ForeignOwnable` for `Box<T>`
        rust: types: introduce `ForeignOwnable`
        rust: types: introduce `ScopeGuard`
        rust: prelude: prevent doc inline of external imports
        rust: sync: add support for dispatching on Arc and ArcBorrow.
        rust: sync: introduce `UniqueArc`
        rust: sync: allow type of `self` to be `ArcBorrow<T>`
        rust: sync: introduce `ArcBorrow`
        rust: sync: allow coercion from `Arc<T>` to `Arc<U>`
        rust: sync: allow type of `self` to be `Arc<T>` or variants
        rust: sync: add `Arc` for ref-counted allocations
        rust: compiler_builtins: make stubs non-global
        rust: alloc: remove the `borrow` module (`ToOwned`, `Cow`)
      69adb0bc
    • Linus Torvalds's avatar
      Merge tag 'remove-get_kernel_pages-for-6.3' of... · d644c670
      Linus Torvalds authored
      Merge tag 'remove-get_kernel_pages-for-6.3' of https://git.linaro.org/people/jens.wiklander/linux-tee
      
      Pull TEE update from Jens Wiklander:
       "Remove get_kernel_pages()
      
        Vmalloc page support is removed from shm_get_kernel_pages() and the
        get_kernel_pages() call is replaced by calls to get_page(). With no
        remaining callers of get_kernel_pages() the function is removed"
      
      [ This looks like it's just some random 'tee' cleanup, but the bigger
        picture impetus for this is really to to to remove historical
        confusion with mixed use of kernel virtual addresses and 'struct page'
        pointers.
      
        Kernel virtual pointers in the vmalloc space is then particularly
        confusing - both for looking up a page pointer (when trying to then
        unify a "virtual address or page" interface) and _particularly_ when
        mixed with HIGHMEM support and the kmap*() family of remapping.
      
        This is particularly true with HIGHMEM getting much less test coverage
        with 32-bit architectures being increasingly legacy targets.
      
        So we actively wanted to remove get_kernel_pages() to make sure nobody
        else used it too, and thus the 'tee' part is "finally remove last
        user".
      
        See also commit 6647e76a ("v4l2: don't fall back to follow_pfn()
        if pin_user_pages_fast() fails") for a totally different version of a
        conceptually similar "let's stop this confusion of different ways of
        referring to memory".   - Linus ]
      
      * tag 'remove-get_kernel_pages-for-6.3' of https://git.linaro.org/people/jens.wiklander/linux-tee:
        mm: Remove get_kernel_pages()
        tee: Remove call to get_kernel_pages()
        tee: Remove vmalloc page support
        highmem: Enhance is_kmap_addr() to check kmap_local_page() mappings
      d644c670
  3. 19 Feb, 2023 4 commits
  4. 18 Feb, 2023 4 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 5e725d11
      Linus Torvalds authored
      Pull kvm/x86 fixes from Paolo Bonzini:
      
       - zero all padding for KVM_GET_DEBUGREGS
      
       - fix rST warning
      
       - disable vPMU support on hybrid CPUs
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        kvm: initialize all of the kvm_debugregs structure before sending it to userspace
        perf/x86: Refuse to export capabilities for hybrid PMUs
        KVM: x86/pmu: Disable vPMU support on hybrid CPUs (host PMUs)
        Documentation/hw-vuln: Fix rST warning
      5e725d11
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 0c2822b1
      Linus Torvalds authored
      Pull arm64 regression fix from Will Deacon:
       "Apologies for the _extremely_ late pull request here, but we had a
        'perf' (i.e. CPU PMU) regression on the Apple M1 reported on Wednesday
        [1] which was introduced by bd275681 ("perf: Rewrite core context
        handling") during the merge window.
      
        Mark and I looked into this and noticed an additional problem caused
        by the same patch, where the 'CHAIN' event (used to combine two
        adjacent 32-bit counters into a single 64-bit counter) was not being
        filtered correctly. Mark posted a series on Thursday [2] which
        addresses both of these regressions and I queued it the same day.
      
        The changes are small, self-contained and have been confirmed to fix
        the original regression.
      
        Summary:
      
         - Fix 'perf' regression for non-standard CPU PMU hardware (i.e. Apple
           M1)"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: perf: reject CHAIN events at creation time
        arm_pmu: fix event CPU filtering
      0c2822b1
    • Linus Torvalds's avatar
      Merge tag 'block-6.2-2023-02-17' of git://git.kernel.dk/linux · 0e9fd589
      Linus Torvalds authored
      Pull block fix from Jens Axboe:
       "I guess this is what can happen when you prep things early for going
        away, something else comes in last minute. This one fixes another
        regression in 6.2 for NVMe, from this release, and hence we should
        probably get it submitted for 6.2.
      
        Still waiting for the original reporter (see bugzilla linked in the
        commit) to test this, but Keith managed to setup and recreate the
        issue and tested the patch that way"
      
      * tag 'block-6.2-2023-02-17' of git://git.kernel.dk/linux:
        nvme-pci: refresh visible attrs for cmb attributes
      0e9fd589
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2023-02-17-15-16-2' of... · 38f8ccde
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2023-02-17-15-16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "Six hotfixes. Five are cc:stable: four for MM, one for nilfs2.
      
        Also a MAINTAINERS update"
      
      * tag 'mm-hotfixes-stable-2023-02-17-15-16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        nilfs2: fix underflow in second superblock position calculations
        hugetlb: check for undefined shift on 32 bit architectures
        mm/migrate: fix wrongly apply write bit after mkdirty on sparc64
        MAINTAINERS: update FPU EMULATOR web page
        mm/MADV_COLLAPSE: set EAGAIN on unexpected page refcount
        mm/filemap: fix page end in filemap_get_read_batch
      38f8ccde