1. 29 Aug, 2023 12 commits
    • Liao Chang's avatar
      cpufreq: governor: Free dbs_data directly when gov->init() fails · 916f1388
      Liao Chang authored
      Due to the kobject embedded in the dbs_data doest not has a release()
      method yet, it needs to use kfree() to free dbs_data directly when
      governor fails to allocate the tunner field of dbs_data.
      Signed-off-by: default avatarLiao Chang <liaochang1@huawei.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      916f1388
    • Liao Chang's avatar
      cpufreq: Fix the race condition while updating the transition_task of policy · 61bfbf79
      Liao Chang authored
      The field 'transition_task' of policy structure is used to track the
      task which is performing the frequency transition. Using this field to
      print a warning once detect a case where the same task is calling
      _begin() again before completing the preivous frequency transition via
      the _end().
      
      However, there is a potential race condition in _end() and _begin() APIs
      while updating the field 'transition_task' of policy, the scenario is
      depicted below:
      
                   Task A                            Task B
      
              /* 1st freq transition */
              Invoke _begin() {
                      ...
                      ...
              }
                                              /* 2nd freq transition */
                                              Invoke _begin() {
                                                      ... //waiting for A to
                                                      ... //clear
                                                      ... //transition_ongoing
                                                      ... //in _end() for
                                                      ... //the 1st transition
                                                              |
              Change the frequency                            |
                                                              |
              Invoke _end() {                                 |
                      ...                                     |
                      ...                                     |
                      transition_ongoing = false;             V
                                                      transition_ongoing = true;
                                                      transition_task = current;
                      transition_task = NULL;
                      ... //A overwrites the task
                      ... //performing the transition
                      ... //result in error warning.
              }
      
      To fix this race condition, the transition_lock of policy structure is
      now acquired before updating policy structure in _end() API. Which ensure
      that only one task can update the 'transition_task' field at a time.
      
      Link: https://lore.kernel.org/all/b3c61d8a-d52d-3136-fbf0-d1de9f1ba411@huawei.com/
      Fixes: ca654dc3 ("cpufreq: Catch double invocations of cpufreq_freq_transition_begin/end")
      Signed-off-by: default avatarLiao Chang <liaochang1@huawei.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      61bfbf79
    • Liao Chang's avatar
      cpufreq: Avoid printing kernel addresses in cpufreq_resume() · 1f464cb4
      Liao Chang authored
      The pointer value of policy and driver structure are currently printed
      in the error messages of cpufreq_resume(), this is not recommended and
      helpful.
      
      In order to be consistent with the error message in cpufreq_suspend()
      and easier to understand, print the name of driver strcture and the
      manage CPU of policy structure individually in the error messages of
      cpufreq_resume().
      
      Link: https://lore.kernel.org/all/b7be717c-41d8-bbbf-3e97-3799948ab757@huawei.comSigned-off-by: default avatarLiao Chang <liaochang1@huawei.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      1f464cb4
    • Linus Torvalds's avatar
      Merge tag 'pm-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ccc5e981
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These rework cpuidle governors to call tick_nohz_get_sleep_length()
        less often and fix one of them, rework hibernation to avoid storing
        pages filled with zeros in hibernation images, switch over some
        cpufreq drivers to use void remove callbacks, fix and clean up
        multiple cpufreq drivers, fix the devfreq core, update the cpupower
        utility and make other assorted improvements.
      
        Specifics:
      
         - Rework the menu and teo cpuidle governors to avoid calling
           tick_nohz_get_sleep_length(), which is likely to become quite
           expensive going forward, too often and improve making decisions
           regarding whether or not to stop the scheduler tick in the teo
           governor (Rafael Wysocki)
      
         - Improve the performance of cpufreq_stats_create_table() in some
           cases (Liao Chang)
      
         - Fix two issues in the amd-pstate-ut cpufreq driver (Swapnil Sapkal)
      
         - Use clamp() helper macro to improve the code readability in
           cpufreq_verify_within_limits() (Liao Chang)
      
         - Set stale CPU frequency to minimum in intel_pstate (Doug Smythies)
      
         - Migrate cpufreq drivers for various platforms to use void remove
           callback (Yangtao Li)
      
         - Add online/offline/exit hooks for Tegra driver (Sumit Gupta)
      
         - Explicitly include correct DT includes in cpufreq (Rob Herring)
      
         - Frequency domain updates for qcom-hw driver (Neil Armstrong)
      
         - Modify AMD pstate driver return the highest_perf value (Meng Li)
      
         - Generic cleanups for cppc, mediatek and powernow driver (Liao
           Chang, Konrad Dybcio)
      
         - Add more platforms to cpufreq-arm driver's blocklist
           (AngeloGioacchino Del Regno and Konrad Dybcio)
      
         - brcmstb-avs-cpufreq: Fix -Warray-bounds bug (Gustavo A. R. Silva)
      
         - Add device PM helpers to allow a device to remain powered-on during
           system-wide transitions (Ulf Hansson)
      
         - Rework hibernation memory snapshotting to avoid storing pages
           filled with zeros in hibernation image files (Brian Geffon)
      
         - Add check to make sure that CPU latency QoS constraints do not use
           negative values (Clive Lin)
      
         - Optimize rp->domains memory allocation in the Intel RAPL power
           capping driver (xiongxin)
      
         - Remove recursion while parsing zones in the arm_scmi power capping
           driver (Cristian Marussi)
      
         - Fix memory leak in devfreq_dev_release() (Boris Brezillon)
      
         - Rewrite devfreq_monitor_start() kerneldoc comment (Manivannan
           Sadhasivam)
      
         - Explicitly include correct DT includes in devfreq (Rob Herring)
      
         - Remove unsued pm_runtime_update_max_time_suspended() extern
           declaration (YueHaibing)
      
         - Add turbo-boost support to cpupower (Wyes Karny)
      
         - Add support for amd_pstate mode change to cpupower (Wyes Karny)
      
         - Fix 'cpupower idle_set' command to accept only numeric values of
           arguments (Likhitha Korrapati)
      
         - Clean up OPP code and add new frequency related APIs to it (Viresh
           Kumar, Manivannan Sadhasivam)
      
         - Convert ti cpufreq/opp bindings to json schema (Nishanth Menon)"
      
      * tag 'pm-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (74 commits)
        cpufreq: tegra194: remove opp table in exit hook
        cpufreq: powernow-k8: Use related_cpus instead of cpus in driver.exit()
        cpufreq: tegra194: add online/offline hooks
        cpuidle: teo: Avoid unnecessary variable assignments
        cpufreq: qcom-cpufreq-hw: add support for 4 freq domains
        dt-bindings: cpufreq: qcom-hw: add a 4th frequency domain
        cpufreq: amd-pstate-ut: Fix kernel panic when loading the driver
        cpufreq: amd-pstate-ut: Remove module parameter access
        cpufreq: Use clamp() helper macro to improve the code readability
        PM: sleep: Add helpers to allow a device to remain powered-on
        PM: QoS: Add check to make sure CPU latency is non-negative
        PM: runtime: Remove unsued extern declaration of pm_runtime_update_max_time_suspended()
        cpufreq: intel_pstate: set stale CPU frequency to minimum
        cpufreq: stats: Improve the performance of cpufreq_stats_create_table()
        dt-bindings: cpufreq: Convert ti-cpufreq to json schema
        dt-bindings: opp: Convert ti-omap5-opp-supply to json schema
        OPP: Fix argument name in doc comment
        cpuidle: menu: Skip tick_nohz_get_sleep_length() call in some cases
        cpufreq: cppc: Set fie_disabled to FIE_DISABLED if fails to create kworker_fie
        cpufreq: cppc: cppc_cpufreq_get_rate() returns zero in all error cases.
        ...
      ccc5e981
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 330235e8
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These include new ACPICA material, a rework of the ACPI thermal
        driver, a switch-over of the ACPI processor driver to using _OSC
        instead of (long deprecated) _PDC for CPU initialization, a rework of
        firmware notifications handling in several drivers, fixes and cleanups
        for suspend-to-idle handling on AMD systems, ACPI backlight driver
        updates and more.
      
        Specifics:
      
         - Update the ACPICA code in the kernel to upstream revision 20230628
           including the following changes:
            - Suppress a GCC 12 dangling-pointer warning (Philip Prindeville)
            - Reformat the ACPI_STATE_COMMON macro and its users (George Guo)
            - Replace the ternary operator with ACPI_MIN() (Jiangshan Yi)
            - Add support for _DSC as per ACPI 6.5 (Saket Dumbre)
            - Remove a duplicate macro from zephyr header (Najumon B.A)
            - Add data structures for GED and _EVT tracking (Jose Marinho)
            - Fix misspelled CDAT DSMAS define (Dave Jiang)
            - Simplify an error message in acpi_ds_result_push() (Christophe
              Jaillet)
            - Add a struct size macro related to SRAT (Dave Jiang)
            - Add AML_NO_OPERAND_RESOLVE flag to Timer (Abhishek Mainkar)
            - Add support for RISC-V external interrupt controllers in MADT
              (Sunil V L)
            - Add RHCT flags, CMO and MMU nodes (Sunil V L)
            - Change ACPICA version to 20230628 (Bob Moore)
      
         - Introduce new wrappers for ACPICA notify handler install/remove and
           convert multiple drivers to using their own Notify() handlers
           instead of the ACPI bus type .notify() slated for removal (Michal
           Wilczynski)
      
         - Add backlight=native DMI quirk for Apple iMac12,1 and iMac12,2
           (Hans de Goede)
      
         - Put ACPI video and its child devices explicitly into D0 on boot to
           avoid platform firmware confusion (Kai-Heng Feng)
      
         - Add backlight=native DMI quirk for Lenovo Ideapad Z470 (Jiri Slaby)
      
         - Support obtaining physical CPU ID from MADT on LoongArch (Bibo Mao)
      
         - Convert ACPI CPU initialization to using _OSC instead of _PDC that
           has been depreceted since 2018 and dropped from the specification
           in ACPI 6.5 (Michal Wilczynski, Rafael Wysocki)
      
         - Drop non-functional nocrt parameter from ACPI thermal (Mario
           Limonciello)
      
         - Clean up the ACPI thermal driver, rework the handling of firmware
           notifications in it and make it provide a table of generic trip
           point structures to the core during initialization (Rafael Wysocki)
      
         - Defer enumeration of devices with _DEP pointing to IVSC (Wentong
           Wu)
      
         - Install SystemCMOS address space handler for ACPI000E (TAD) to meet
           platform firmware expectations on some platforms (Zhang Rui)
      
         - Fix finding the generic error data in the ACPi extlog driver for
           compatibility with old and new firmware interface versions
           (Xiaochun Lee)
      
         - Remove assorted unused declarations of functions (Yue Haibing)
      
         - Move AMBA bus scan handling into arm64 specific directory (Sudeep
           Holla)
      
         - Fix and clean up suspend-to-idle interface for AMD systems (Mario
           Limonciello, Andy Shevchenko)
      
         - Fix string truncation warning in pnpacpi_add_device() (Sunil V L)"
      
      * tag 'acpi-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (66 commits)
        ACPI: x86: s2idle: Add a function to get LPS0 constraint for a device
        ACPI: x86: s2idle: Add for_each_lpi_constraint() helper
        ACPI: x86: s2idle: Add more debugging for AMD constraints parsing
        ACPI: x86: s2idle: Fix a logic error parsing AMD constraints table
        ACPI: x86: s2idle: Catch multiple ACPI_TYPE_PACKAGE objects
        ACPI: x86: s2idle: Post-increment variables when getting constraints
        ACPI: Adjust #ifdef for *_lps0_dev use
        ACPI: TAD: Install SystemCMOS address space handler for ACPI000E
        ACPI: Remove assorted unused declarations of functions
        ACPI: extlog: Fix finding the generic error data for v3 structure
        PNP: ACPI: Fix string truncation warning
        ACPI: Remove unused extern declaration acpi_paddr_to_node()
        ACPI: video: Add backlight=native DMI quirk for Apple iMac12,1 and iMac12,2
        ACPI: video: Put ACPI video and its child devices into D0 on boot
        ACPI: processor: LoongArch: Get physical ID from MADT
        ACPI: scan: Defer enumeration of devices with a _DEP pointing to IVSC device
        ACPI: thermal: Eliminate code duplication from acpi_thermal_notify()
        ACPI: thermal: Drop unnecessary thermal zone callbacks
        ACPI: thermal: Rework thermal_get_trend()
        ACPI: thermal: Use trip point table to register thermal zones
        ...
      330235e8
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-firmware-for-v6.6' of... · 2927d226
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-firmware-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform firmware update from Tzung-Bi Shih:
      
       - Add MAINTAINERS entry for chrome platform firmware
      
      * tag 'tag-chrome-platform-firmware-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        MAINTAINERS: Add drivers/firmware/google/ entry
      2927d226
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v6.6' of... · 670f0897
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Tzung-Bi Shih:
       "Improvements:
      
        - Remove shutdown timeout on EC panic for offering the filesystem a
          chance to sync
      
        - Support official HID "GOOG0016" for ChromeOS ACPI
      
        Fixes:
      
        - Print hex string instead of using "%s" for ACPI_TYPE_BUFFER
      
        Misc:
      
        - Update MAINTAINERS"
      
      * tag 'tag-chrome-platform-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        platform/chrome: chromeos_acpi: print hex string for ACPI_TYPE_BUFFER
        platform/chrome: chromeos_acpi: support official HID GOOG0016
        platform/chrome: cros_ec_lpc: Remove EC panic shutdown timeout
        MAINTAINERS: update maintainers of chrome-platform
      670f0897
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 6383cb42
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - a bunch of minor cleanups
      
       - a patch adding irqfd support for virtio backends running as user
         daemon supporting Xen guests
      
      * tag 'for-linus-6.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: privcmd: Add support for irqfd
        xen/xenbus: Avoid a lockdep warning when adding a watch
        xen: Fix one kernel-doc comment
        xen: xenbus: Use helper function IS_ERR_OR_NULL()
        xen: Switch to use kmemdup() helper
        xen-pciback: Remove unused function declarations
        x86/xen: Make virt_to_pfn() a static inline
        xen: remove a confusing comment on auto-translated guest I/O
        xen/evtchn: Remove unused function declaration xen_set_affinity_evtchn()
      6383cb42
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 54203417
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       "I think we have a bit less than usual on the architecture side, but
        that's somewhat balanced out by a large crop of perf/PMU driver
        updates and extensions to our selftests.
      
        CPU features and system registers:
      
         - Advertise hinted conditional branch support (FEAT_HBC) to userspace
      
         - Avoid false positive "SANITY CHECK" warning when xCR registers
           differ outside of the length field
      
        Documentation:
      
         - Fix macro name typo in SME documentation
      
        Entry code:
      
         - Unmask exceptions earlier on the system call entry path
      
        Memory management:
      
         - Don't bother clearing PTE_RDONLY for dirty ptes in pte_wrprotect()
           and pte_modify()
      
        Perf and PMU drivers:
      
         - Initial support for Coresight TRBE devices on ACPI systems (the
           coresight driver changes will come later)
      
         - Fix hw_breakpoint single-stepping when called from bpf
      
         - Fixes for DDR PMU on i.MX8MP SoC
      
         - Add NUMA-awareness to Hisilicon PCIe PMU driver
      
         - Fix locking dependency issue in Arm DMC620 PMU driver
      
         - Workaround Hisilicon erratum 162001900 in the SMMUv3 PMU driver
      
         - Add support for Arm CMN-700 r3 parts to the CMN PMU driver
      
         - Add support for recent Arm Cortex CPU PMUs
      
         - Update Hisilicon PMU maintainers
      
        Selftests:
      
         - Add a bunch of new features to the hwcap test (JSCVT, PMULL, AES,
           SHA1, etc)
      
         - Fix SSVE test to leave streaming-mode after grabbing the signal
           context
      
         - Add new test for SVE vector-length changes with SME enabled
      
        Miscellaneous:
      
         - Allow compiler to warn on suspicious looking system register
           expressions
      
         - Work around SDEI firmware bug by aborting any running handlers on a
           kernel crash
      
         - Fix some harmless warnings when building with W=1
      
         - Remove some unused function declarations
      
         - Other minor fixes and cleanup"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (62 commits)
        drivers/perf: hisi: Update HiSilicon PMU maintainers
        arm_pmu: acpi: Add a representative platform device for TRBE
        arm_pmu: acpi: Refactor arm_spe_acpi_register_device()
        kselftest/arm64: Fix hwcaps selftest build
        hw_breakpoint: fix single-stepping when using bpf_overflow_handler
        arm64/sysreg: refactor deprecated strncpy
        kselftest/arm64: add jscvt feature to hwcap test
        kselftest/arm64: add pmull feature to hwcap test
        kselftest/arm64: add AES feature check to hwcap test
        kselftest/arm64: add SHA1 and related features to hwcap test
        arm64: sysreg: Generate C compiler warnings on {read,write}_sysreg_s arguments
        kselftest/arm64: build BTI tests in output directory
        perf/imx_ddr: don't enable counter0 if none of 4 counters are used
        perf/imx_ddr: speed up overflow frequency of cycle
        drivers/perf: hisi: Schedule perf session according to locality
        kselftest/arm64: fix a memleak in zt_regs_run()
        perf/arm-dmc620: Fix dmc620_pmu_irqs_lock/cpu_hotplug_lock circular lock dependency
        perf/smmuv3: Add MODULE_ALIAS for module auto loading
        perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
        kselftest/arm64: Size sycall-abi buffers for the actual maximum VL
        ...
      54203417
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.6-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · bb2d9e54
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Remove <asm/export.h>
      
       - Miscellaneous W=1 fixes
      
       - defconfig updates
      
      * tag 'm68k-for-v6.6-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        zorro: Include zorro.h in names.c
        m68k: Add memcmp() declaration
        m68k: Define __div64_32() to avoid a warning
        m68k: Remove <asm/export.h>
        m68k: Replace #include <asm/export.h> with #include <linux/export.h>
        m68k: defconfig: Update defconfigs for v6.5-rc1
      bb2d9e54
    • Linus Torvalds's avatar
      Merge tag 's390-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · e5b7ca09
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
      
       - Add vfio-ap support to pass-through crypto devices to secure
         execution guests
      
       - Add API ordinal 6 support to zcrypt_ep11misc device drive, which is
         required to handle key generate and key derive (e.g. secure key to
         protected key) correctly
      
       - Add missing secure/has_secure sysfs files for the case where it is
         not possible to figure where a system has been booted from. Existing
         user space relies on that these files are always present
      
       - Fix DCSS block device driver list corruption, caused by incorrect
         error handling
      
       - Convert virt_to_pfn() and pfn_to_virt() from defines to static inline
         functions to enforce type checking
      
       - Cleanups, improvements, and minor fixes to the kernel mapping setup
      
       - Fix various virtual vs physical address confusions
      
       - Move pfault code to separate file, since it has nothing to do with
         regular fault handling
      
       - Move s390 documentation to Documentation/arch/ like it has been done
         for other architectures already
      
       - Add HAVE_FUNCTION_GRAPH_RETVAL support
      
       - Factor out the s390_hypfs filesystem and add a new config option for
         it. The filesystem is deprecated and as soon as all users are gone it
         can be removed some time in the not so near future
      
       - Remove support for old CEX2 and CEX3 crypto cards from zcrypt device
         driver
      
       - Add support for user-defined certificates: receive user-defined
         certificates with a diagnose call and provide them via 'cert_store'
         keyring to user space
      
       - Couple of other small fixes and improvements all over the place
      
      * tag 's390-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (66 commits)
        s390/pci: use builtin_misc_device macro to simplify the code
        s390/vfio-ap: make sure nib is shared
        KVM: s390: export kvm_s390_pv*_is_protected functions
        s390/uv: export uv_pin_shared for direct usage
        s390/vfio-ap: check for TAPQ response codes 0x35 and 0x36
        s390/vfio-ap: handle queue state change in progress on reset
        s390/vfio-ap: use work struct to verify queue reset
        s390/vfio-ap: store entire AP queue status word with the queue object
        s390/vfio-ap: remove upper limit on wait for queue reset to complete
        s390/vfio-ap: allow deconfigured queue to be passed through to a guest
        s390/vfio-ap: wait for response code 05 to clear on queue reset
        s390/vfio-ap: clean up irq resources if possible
        s390/vfio-ap: no need to check the 'E' and 'I' bits in APQSW after TAPQ
        s390/ipl: refactor deprecated strncpy
        s390/ipl: fix virtual vs physical address confusion
        s390/zcrypt_ep11misc: support API ordinal 6 with empty pin-blob
        s390/paes: fix PKEY_TYPE_EP11_AES handling for secure keyblobs
        s390/pkey: fix PKEY_TYPE_EP11_AES handling for sysfs attributes
        s390/pkey: fix PKEY_TYPE_EP11_AES handling in PKEY_VERIFYKEY2 IOCTL
        s390/pkey: fix PKEY_TYPE_EP11_AES handling in PKEY_KBLOB2PROTK[23]
        ...
      e5b7ca09
    • Linus Torvalds's avatar
      Merge tag 'x86-cleanups-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 97efd283
      Linus Torvalds authored
      Pull misc x86 cleanups from Ingo Molnar:
       "The following commit deserves special mention:
      
         22dc02f8 Revert "sched/fair: Move unused stub functions to header"
      
        This is in x86/cleanups, because the revert is a re-application of a
        number of cleanups that got removed inadvertedly"
      
      [ This also effectively undoes the amd_check_microcode() microcode
        declaration change I had done in my microcode loader merge in commit
        42a7f6e3 ("Merge tag 'x86_microcode_for_v6.6_rc1' [...]").
      
        I picked the declaration change by Arnd from this branch instead,
        which put it in <asm/processor.h> instead of <asm/microcode.h> like I
        had done in my merge resolution   - Linus ]
      
      * tag 'x86-cleanups-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/uv: Refactor code using deprecated strncpy() interface to use strscpy()
        x86/hpet: Refactor code using deprecated strncpy() interface to use strscpy()
        x86/platform/uv: Refactor code using deprecated strcpy()/strncpy() interfaces to use strscpy()
        x86/qspinlock-paravirt: Fix missing-prototype warning
        x86/paravirt: Silence unused native_pv_lock_init() function warning
        x86/alternative: Add a __alt_reloc_selftest() prototype
        x86/purgatory: Include header for warn() declaration
        x86/asm: Avoid unneeded __div64_32 function definition
        Revert "sched/fair: Move unused stub functions to header"
        x86/apic: Hide unused safe_smp_processor_id() on 32-bit UP
        x86/cpu: Fix amd_check_microcode() declaration
      97efd283
  2. 28 Aug, 2023 28 commits
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3ca9a836
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - The biggest change is introduction of a new iteration of the
         SCHED_FAIR interactivity code: the EEVDF ("Earliest Eligible Virtual
         Deadline First") scheduler
      
         EEVDF too is a virtual-time scheduler, with two parameters (weight
         and relative deadline), compared to CFS that had weight only. It
         completely reworks the base scheduler: placement, preemption, picking
         -- everything
      
         LWN.net, as usual, has a terrific writeup about EEVDF:
      
            https://lwn.net/Articles/925371/
      
         Preemption (both tick and wakeup) is driven by testing against a
         fresh pick. Because the tree is now effectively an interval tree, and
         the selection is no longer the 'leftmost' task, over-scheduling is
         less of a problem. A lot of the CFS heuristics are removed or
         replaced by more natural latency-space parameters & constructs
      
         In terms of expected performance regressions: we will and can fix
         everything where a 'good' workload misbehaves with the new scheduler,
         but EEVDF inevitably changes workload scheduling in a binary fashion,
         hopefully for the better in the overwhelming majority of cases, but
         in some cases it won't, especially in adversarial loads that got
         lucky with the previous code, such as some variants of hackbench. We
         are trying hard to err on the side of fixing all performance
         regressions, but we expect some inevitable post-release iterations of
         that process
      
       - Improve load-balancing on hybrid x86 systems: enable cluster
         scheduling (again)
      
       - Improve & fix bandwidth-scheduling on nohz systems
      
       - Improve bandwidth-throttling
      
       - Use lock guards to simplify and de-goto-ify control flow
      
       - Misc improvements, cleanups and fixes
      
      * tag 'sched-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (43 commits)
        sched/eevdf/doc: Modify the documented knob to base_slice_ns as well
        sched/eevdf: Curb wakeup-preemption
        sched: Simplify sched_core_cpu_{starting,deactivate}()
        sched: Simplify try_steal_cookie()
        sched: Simplify sched_tick_remote()
        sched: Simplify sched_exec()
        sched: Simplify ttwu()
        sched: Simplify wake_up_if_idle()
        sched: Simplify: migrate_swap_stop()
        sched: Simplify sysctl_sched_uclamp_handler()
        sched: Simplify get_nohz_timer_target()
        sched/rt: sysctl_sched_rr_timeslice show default timeslice after reset
        sched/rt: Fix sysctl_sched_rr_timeslice intial value
        sched/fair: Block nohz tick_stop when cfs bandwidth in use
        sched, cgroup: Restore meaning to hierarchical_quota
        MAINTAINERS: Add Peter explicitly to the psi section
        sched/psi: Select KERNFS as needed
        sched/topology: Align group flags when removing degenerate domain
        sched/fair: remove util_est boosting
        sched/fair: Propagate enqueue flags into place_entity()
        ...
      3ca9a836
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a7c6115
      Linus Torvalds authored
      Pull perf event updates from Ingo Molnar:
      
       - AMD IBS improvements
      
       - Intel PMU driver updates
      
       - Extend core perf facilities & the ARM PMU driver to better handle ARM big.LITTLE events
      
       - Micro-optimize software events and the ring-buffer code
      
       - Misc cleanups & fixes
      
      * tag 'perf-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/uncore: Remove unnecessary ?: operator around pcibios_err_to_errno() call
        perf/x86/intel: Add Crestmont PMU
        x86/cpu: Update Hybrids
        x86/cpu: Fix Crestmont uarch
        x86/cpu: Fix Gracemont uarch
        perf: Remove unused extern declaration arch_perf_get_page_size()
        perf: Remove unused PERF_PMU_CAP_HETEROGENEOUS_CPUS capability
        arm_pmu: Remove unused PERF_PMU_CAP_HETEROGENEOUS_CPUS capability
        perf/x86: Remove unused PERF_PMU_CAP_HETEROGENEOUS_CPUS capability
        arm_pmu: Add PERF_PMU_CAP_EXTENDED_HW_TYPE capability
        perf/x86/ibs: Set mem_lvl_num, mem_remote and mem_hops for data_src
        perf/mem: Add PERF_MEM_LVLNUM_NA to PERF_MEM_NA
        perf/mem: Introduce PERF_MEM_LVLNUM_UNC
        perf/ring_buffer: Use local_try_cmpxchg in __perf_output_begin
        locking/arch: Avoid variable shadowing in local_try_cmpxchg()
        perf/core: Use local64_try_cmpxchg in perf_swevent_set_period
        perf/x86: Use local64_try_cmpxchg
        perf/amd: Prevent grouping of IBS events
      1a7c6115
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d637fce0
      Linus Torvalds authored
      Pull locking update from Ingo Molnar:
       "Simplify the locking self-tests via using the new <linux/cleanup.h>
        facilities for lock guards"
      
      * tag 'locking-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        lockdep/selftests: Use SBRM APIs for wait context tests
      d637fce0
    • Linus Torvalds's avatar
      Merge tag 'efi-next-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · d7dd9b44
      Linus Torvalds authored
      Pull EFI updates from Ard Biesheuvel:
       "This primarily covers some cleanup work on the EFI runtime wrappers,
        which are shared between all EFI architectures except Itanium, and
        which provide some level of isolation to prevent faults occurring in
        the firmware code (which runs at the same privilege level as the
        kernel) from bringing down the system.
      
        Beyond that, there is a fix that did not make it into v6.5, and some
        doc fixes and dead code cleanup.
      
         - one bugfix for x86 mixed mode that did not make it into v6.5
      
         - first pass of cleanup for the EFI runtime wrappers
      
         - some cosmetic touchups"
      
      * tag 'efi-next-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
        x86/efistub: Fix PCI ROM preservation in mixed mode
        efi/runtime-wrappers: Clean up white space and add __init annotation
        acpi/prmt: Use EFI runtime sandbox to invoke PRM handlers
        efi/runtime-wrappers: Don't duplicate setup/teardown code
        efi/runtime-wrappers: Remove duplicated macro for service returning void
        efi/runtime-wrapper: Move workqueue manipulation out of line
        efi/runtime-wrappers: Use type safe encapsulation of call arguments
        efi/riscv: Move EFI runtime call setup/teardown helpers out of line
        efi/arm64: Move EFI runtime call setup/teardown helpers out of line
        efi/riscv: libstub: Fix comment about absolute relocation
        efi: memmap: Remove kernel-doc warnings
        efi: Remove unused extern declaration efi_lookup_mapped_addr()
      d7dd9b44
    • Linus Torvalds's avatar
      Merge tag 'x86_microcode_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 42a7f6e3
      Linus Torvalds authored
      Pull x86 microcode loading updates from Borislav Petkov:
       "The first, cleanup part of the microcode loader reorg tglx has been
        working on. The other part wasn't fully ready in time so it will
        follow on later.
      
        This part makes the loader core code as it is practically enabled on
        pretty much every baremetal machine so there's no need to have the
        Kconfig items.
      
        In addition, there are cleanups which prepare for future feature
        enablement"
      
      * tag 'x86_microcode_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode: Remove remaining references to CONFIG_MICROCODE_AMD
        x86/microcode/intel: Remove pointless mutex
        x86/microcode/intel: Remove debug code
        x86/microcode: Move core specific defines to local header
        x86/microcode/intel: Rename get_datasize() since its used externally
        x86/microcode: Make reload_early_microcode() static
        x86/microcode: Include vendor headers into microcode.h
        x86/microcode/intel: Move microcode functions out of cpu/intel.c
        x86/microcode: Hide the config knob
        x86/mm: Remove unused microcode.h include
        x86/microcode: Remove microcode_mutex
        x86/microcode/AMD: Rip out static buffers
      42a7f6e3
    • Linus Torvalds's avatar
      Merge tag 'x86_sev_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f31f663f
      Linus Torvalds authored
      Pull x86 SEV updates from Borislav Petkov:
      
       - Handle the case where the beginning virtual address of the address
         range whose SEV encryption status needs to change, is not page
         aligned so that callers which round up the number of pages to be
         decrypted, would mark a trailing page as decrypted and thus cause
         corruption during live migration.
      
       - Return an error from the #VC handler on AMD SEV-* guests when the
         debug registers swapping is enabled as a DR7 access should not happen
         then - that register is guest/host switched.
      
      * tag 'x86_sev_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/sev: Make enc_dec_hypercall() accept a size instead of npages
        x86/sev: Do not handle #VC for DR7 read/write
      f31f663f
    • Linus Torvalds's avatar
      Merge tag 'ras_core_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 28c59d94
      Linus Torvalds authored
      Pull x86 RAS updates from Borislav Petkov:
      
       - Add a quirk for AMD Zen machines where Instruction Fetch unit poison
         consumption MCEs are not delivered synchronously but still within the
         same context, which can lead to erroneously increased error severity
         and unneeded kernel panics
      
       - Do not log errors caught by polling shared MCA banks as they
         materialize as duplicated error records otherwise
      
      * tag 'ras_core_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/MCE: Always save CS register on AMD Zen IF Poison errors
        x86/mce: Prevent duplicate error records
      28c59d94
    • Linus Torvalds's avatar
      Merge tag 'x86_misc_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7e5e832c
      Linus Torvalds authored
      Pull misc x86 updates from Borislav Petkov:
      
       - Add PCI device IDs for a new AMD family 0x1a CPUs and use them in the
         respective drivers
      
       - Update HPE Superdome Flex maintainers list
      
      * tag 'x86_misc_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/uv: Update HPE Superdome Flex Maintainers
        EDAC/amd64: Add support for AMD family 1Ah models 00h-1Fh and 40h-4Fh
        hwmon: (k10temp) Add thermal support for AMD Family 1Ah-based models
        x86/amd_nb: Add PCI IDs for AMD Family 1Ah-based models
      7e5e832c
    • Linus Torvalds's avatar
      Merge tag 'x86_boot_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bd9e99f7
      Linus Torvalds authored
      Pull x86 boot updates from Borislav Petkov:
       "Avoid the baremetal decompressor code when booting on an EFI machine.
      
        This is mandated by the current tightening of EFI executables
        requirements when used in a secure boot scenario. More specifically,
        an EFI executable cannot have a single section with RWX permissions,
        which conflicts with the in-place kernel decompression that is done
        today.
      
        Instead, the things required by the booting kernel image are done in
        the EFI stub now.
      
        Work by Ard Biesheuvel"
      
      * tag 'x86_boot_for_v6.6_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        x86/efistub: Avoid legacy decompressor when doing EFI boot
        x86/efistub: Perform SNP feature test while running in the firmware
        efi/libstub: Add limit argument to efi_random_alloc()
        x86/decompressor: Factor out kernel decompression and relocation
        x86/decompressor: Move global symbol references to C code
        decompress: Use 8 byte alignment
        x86/efistub: Prefer EFI memory attributes protocol over DXE services
        x86/efistub: Perform 4/5 level paging switch from the stub
        x86/decompressor: Merge trampoline cleanup with switching code
        x86/decompressor: Pass pgtable address to trampoline directly
        x86/decompressor: Only call the trampoline when changing paging levels
        x86/decompressor: Call trampoline directly from C code
        x86/decompressor: Avoid the need for a stack in the 32-bit trampoline
        x86/decompressor: Use standard calling convention for trampoline
        x86/decompressor: Call trampoline as a normal function
        x86/decompressor: Assign paging related global variables earlier
        x86/decompressor: Store boot_params pointer in callee save register
        x86/efistub: Clear BSS in EFI handover protocol entrypoint
        x86/decompressor: Avoid magic offsets for EFI handover entrypoint
        x86/efistub: Simplify and clean up handover entry code
        ...
      bd9e99f7
    • Linus Torvalds's avatar
      Merge tag 'smp-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6f49693a
      Linus Torvalds authored
      Pull CPU hotplug updates from Thomas Gleixner:
       "Updates for the CPU hotplug core:
      
         - Support partial SMT enablement.
      
           So far the sysfs SMT control only allows to toggle between SMT on
           and off. That's sufficient for x86 which usually has at max two
           threads except for the Xeon PHI platform which has four threads per
           core
      
           Though PowerPC has up to 16 threads per core and so far it's only
           possible to control the number of enabled threads per core via a
           command line option. There is some way to control this at runtime,
           but that lacks enforcement and the usability is awkward
      
           This update expands the sysfs interface and the core infrastructure
           to accept numerical values so PowerPC can build SMT runtime control
           for partial SMT enablement on top
      
           The core support has also been provided to the PowerPC maintainers
           who added the PowerPC related changes on top
      
         - Minor cleanups and documentation updates"
      
      * tag 'smp-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Documentation: core-api/cpuhotplug: Fix state names
        cpu/hotplug: Remove unused function declaration cpu_set_state_online()
        cpu/SMT: Fix cpu_smt_possible() comment
        cpu/SMT: Allow enabling partial SMT states via sysfs
        cpu/SMT: Create topology_smt_thread_allowed()
        cpu/SMT: Remove topology_smt_supported()
        cpu/SMT: Store the current/max number of threads
        cpu/SMT: Move smt/control simple exit cases earlier
        cpu/SMT: Move SMT prototypes into cpu_smt.h
        cpu/hotplug: Remove dependancy against cpu_primary_thread_mask
      6f49693a
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dd3f0fe5
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "Boring updates for the interrupt subsystem:
      
        Core:
      
         - Prevent a deadlock of nested interrupt threads vs.
           synchronize_hard()
      
         - Removal of a stale extern declaration
      
        Drivers:
      
         - The first new driver since v6.2 for Amlogic-C3 SoCs
      
         - The usual small fixes, cleanups and improvements all over the
           place"
      
      * tag 'irq-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip: Add support for Amlogic-C3 SoCs
        dt-bindings: interrupt-controller: Add support for Amlogic-C3 SoCs
        irqchip/irq-mvebu-sei: Use devm_platform_get_and_ioremap_resource()
        irqchip/ls-scfg-msi: Use devm_platform_get_and_ioremap_resource()
        irqchip: Explicitly include correct DT includes
        irqchip/orion: Use of_address_count() helper
        irqchip/irq-pruss-intc: Do not check for 0 return after calling platform_get_irq()
        irqchip/imx-mu-msi: Do not check for 0 return after calling platform_get_irq()
        irqchipr/i8259: Mark i8259_of_init() static
        irqchip/mips-gic: Mark gic_irq_domain_free() static
        irqchip/xtensa-pic: Include header for xtensa_pic_init_legacy()
        irqchip/loongson-eiointc: Fix return value checking of eiointc_index
        genirq: Remove unused extern declaration
        genirq: Prevent nested thread vs synchronize_hardirq() deadlock
      dd3f0fe5
    • Linus Torvalds's avatar
      Merge tag 'core-entry-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6bfce775
      Linus Torvalds authored
      Pull core entry code update from Thomas Gleixner:
       "A single update to the core entry code, which removes the empty user
        address limit check which is a leftover of the removed TIF_FSCHECK"
      
      * tag 'core-entry-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        entry: Remove empty addr_limit_user_check()
      6bfce775
    • Linus Torvalds's avatar
      Merge tag 'clocksource.2023.08.15a' of... · b98af53c
      Linus Torvalds authored
      Merge tag 'clocksource.2023.08.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu
      
      Pull clocksource watchdog updates from Paul McKenney:
      
       - Handle negative skews in "skew is too large" messages
      
       - Extend watchdog check exemption to 4-Socket platforms
      
      * tag 'clocksource.2023.08.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        x86/tsc: Extend watchdog check exemption to 4-Sockets platform
        clocksource: Handle negative skews in "skew is too large" messages
      b98af53c
    • Linus Torvalds's avatar
      Merge tag 'csd-lock.2023.07.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · b324696d
      Linus Torvalds authored
      Pull CSD lock updates from Paul McKenney:
       "This series reduces the number of stack traces dumped during CSD-lock
        debugging. This helps to avoid console overrun on systems with large
        numbers of CPUs"
      
      * tag 'csd-lock.2023.07.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        smp: Reduce NMI traffic from CSD waiters to CSD destination
        smp: Reduce logging due to dump_stack of CSD waiters
      b324696d
    • Linus Torvalds's avatar
      Merge tag 'scftorture.2023.08.15a' of... · 6ae0c157
      Linus Torvalds authored
      Merge tag 'scftorture.2023.08.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu
      
      Pull smp_call_function torture-test updates from Paul McKenney:
       "This prevents some memory-exhaustion false-postitive failures in
        scftorture testing"
      
      * tag 'scftorture.2023.08.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        scftorture: Add CONFIG_PREEMPT_DYNAMIC=n to NOPREEMPT scenario
        scftorture: Pause testing after memory-allocation failure
        scftorture: Forgive memory-allocation failure if KASAN
        torture: Scale scftorture memory based on number of CPUs
      6ae0c157
    • Linus Torvalds's avatar
      Merge tag 'rcu.2023.08.21a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 68cadad1
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Documentation updates
      
       - Miscellaneous fixes, perhaps most notably simplifying
         SRCU_NOTIFIER_INIT() as suggested
      
       - RCU Tasks updates, most notably treating Tasks RCU callbacks as lazy
         while still treating synchronous grace periods as urgent. Also fixes
         one bug that restores the ability to apply debug-objects to RCU Tasks
         and another that fixes a race condition that could result in
         false-positive failures of the boot-time self-test code
      
       - RCU-scalability performance-test updates, most notably adding the
         ability to measure the RCU-Tasks's grace-period kthread's CPU
         consumption. This proved quite useful for the RCU Tasks work
      
       - Reference-acquisition/release performance-test updates, including a
         fix for an uninitialized wait_queue_head_t
      
       - Miscellaneous torture-test updates
      
       - Torture-test scripting updates, including removal of the
         non-longer-functional formal-verification scripts, test builds of
         individual RCU Tasks flavors, better diagnostics for loss of
         connectivity for distributed rcutorture tests, disabling of reboot
         loops in qemu/KVM-based rcutorture testing, and passing of init
         parameters to rcutorture's init program
      
      * tag 'rcu.2023.08.21a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (64 commits)
        rcu: Use WRITE_ONCE() for assignments to ->next for rculist_nulls
        rcu: Make the rcu_nocb_poll boot parameter usable via boot config
        rcu: Mark __rcu_irq_enter_check_tick() ->rcu_urgent_qs load
        srcu,notifier: Remove #ifdefs in favor of SRCU Tiny srcu_usage
        rcutorture: Stop right-shifting torture_random() return values
        torture: Stop right-shifting torture_random() return values
        torture: Move stutter_wait() timeouts to hrtimers
        torture: Move torture_shuffle() timeouts to hrtimers
        torture: Move torture_onoff() timeouts to hrtimers
        torture: Make torture_hrtimeout_*() use TASK_IDLE
        torture: Add lock_torture writer_fifo module parameter
        torture: Add a kthread-creation callback to _torture_create_kthread()
        rcu-tasks: Fix boot-time RCU tasks debug-only deadlock
        rcu-tasks: Permit use of debug-objects with RCU Tasks flavors
        checkpatch: Complain about unexpected uses of RCU Tasks Trace
        torture: Cause mkinitrd.sh to indicate failure on compile errors
        torture: Make init program dump command-line arguments
        torture: Switch qemu from -nographic to -display none
        torture: Add init-program support for loongarch
        torture: Avoid torture-test reboot loops
        ...
      68cadad1
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 727dbda1
      Linus Torvalds authored
      Pull hardening updates from Kees Cook:
       "As has become normal, changes are scattered around the tree (either
        explicitly maintainer Acked or for trivial stuff that went ignored):
      
         - Carve out the new CONFIG_LIST_HARDENED as a more focused subset of
           CONFIG_DEBUG_LIST (Marco Elver)
      
         - Fix kallsyms lookup failure under Clang LTO (Yonghong Song)
      
         - Clarify documentation for CONFIG_UBSAN_TRAP (Jann Horn)
      
         - Flexible array member conversion not carried in other tree (Gustavo
           A. R. Silva)
      
         - Various strlcpy() and strncpy() removals not carried in other trees
           (Azeem Shaikh, Justin Stitt)
      
         - Convert nsproxy.count to refcount_t (Elena Reshetova)
      
         - Add handful of __counted_by annotations not carried in other trees,
           as well as an LKDTM test
      
         - Fix build failure with gcc-plugins on GCC 14+
      
         - Fix selftests to respect SKIP for signal-delivery tests
      
         - Fix CFI warning for paravirt callback prototype
      
         - Clarify documentation for seq_show_option_n() usage"
      
      * tag 'hardening-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (23 commits)
        LoadPin: Annotate struct dm_verity_loadpin_trusted_root_digest with __counted_by
        kallsyms: Change func signature for cleanup_symbol_name()
        kallsyms: Fix kallsyms_selftest failure
        nsproxy: Convert nsproxy.count to refcount_t
        integrity: Annotate struct ima_rule_opt_list with __counted_by
        lkdtm: Add FAM_BOUNDS test for __counted_by
        Compiler Attributes: counted_by: Adjust name and identifier expansion
        um: refactor deprecated strncpy to memcpy
        um: vector: refactor deprecated strncpy
        alpha: Replace one-element array with flexible-array member
        hardening: Move BUG_ON_DATA_CORRUPTION to hardening options
        list: Introduce CONFIG_LIST_HARDENED
        list_debug: Introduce inline wrappers for debug checks
        compiler_types: Introduce the Clang __preserve_most function attribute
        gcc-plugins: Rename last_stmt() for GCC 14+
        selftests/harness: Actually report SKIP for signal tests
        x86/paravirt: Fix tlb_remove_table function callback prototype warning
        EISA: Replace all non-returning strlcpy with strscpy
        perf: Replace strlcpy with strscpy
        um: Remove strlcpy declaration
        ...
      727dbda1
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · b03a4342
      Linus Torvalds authored
      Pull seccomp updates from Kees Cook:
      
       - Provide USER_NOTIFY flag for synchronous mode (Andrei Vagin, Peter
         Oskolkov). This touches the scheduler and perf but has been Acked by
         Peter Zijlstra.
      
       - Fix regression in syscall skipping and restart tracing on arm32. This
         touches arch/arm/ but has been Acked by Arnd Bergmann.
      
      * tag 'seccomp-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        seccomp: Add missing kerndoc notations
        ARM: ptrace: Restore syscall skipping for tracers
        ARM: ptrace: Restore syscall restart tracing
        selftests/seccomp: Handle arm32 corner cases better
        perf/benchmark: add a new benchmark for seccom_unotify
        selftest/seccomp: add a new test for the sync mode of seccomp_user_notify
        seccomp: add the synchronous mode for seccomp_unotify
        sched: add a few helpers to wake up tasks on the current cpu
        sched: add WF_CURRENT_CPU and externise ttwu
        seccomp: don't use semaphore and wait_queue together
      b03a4342
    • Linus Torvalds's avatar
      Merge tag 'pstore-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 5b07aaca
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
      
       - Greatly simplify compression support (Ard Biesheuvel)
      
       - Avoid crashes for corrupted offsets when prz size is 0 (Enlin Mu)
      
       - Expand range of usable record sizes (Yuxiao Zhang)
      
       - Fix kernel-doc warning (Matthew Wilcox)
      
      * tag 'pstore-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore: Fix kernel-doc warning
        pstore: Support record sizes larger than kmalloc() limit
        pstore/ram: Check start of empty przs during init
        pstore: Replace crypto API compression with zlib_deflate library calls
        pstore: Remove worst-case compression size logic
      5b07aaca
    • Linus Torvalds's avatar
      Merge tag 'for-6.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 547635c6
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "No new features, the bulk of the changes are fixes, refactoring and
        cleanups. The notable fix is the scrub performance restoration after
        rewrite in 6.4, though still only partial.
      
        Fixes:
      
         - scrub performance drop due to rewrite in 6.4 partially restored:
            - do IO grouping by blg_plug/blk_unplug again
            - avoid unnecessary tree searches when processing stripes, in
              extent and checksum trees
            - the drop is noticeable on fast PCIe devices, -66% and restored
              to -33% of the original
            - backports to 6.4 planned
      
         - handle more corner cases of transaction commit during orphan
           cleanup or delayed ref processing
      
         - use correct fsid/metadata_uuid when validating super block
      
         - copy directory permissions and time when creating a stub subvolume
      
        Core:
      
         - debugging feature integrity checker deprecated, to be removed in
           6.7
      
         - in zoned mode, zones are activated just before the write, making
           error handling easier, now the overcommit mechanism can be enabled
           again which improves performance by avoiding more frequent flushing
      
         - v0 extent handling completely removed, deprecated long time ago
      
         - error handling improvements
      
         - tests:
            - extent buffer bitmap tests
            - pinned extent splitting tests
      
         - cleanups and refactoring:
            - compression writeback
            - extent buffer bitmap
            - space flushing, ENOSPC handling"
      
      * tag 'for-6.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (110 commits)
        btrfs: zoned: skip splitting and logical rewriting on pre-alloc write
        btrfs: tests: test invalid splitting when skipping pinned drop extent_map
        btrfs: tests: add a test for btrfs_add_extent_mapping
        btrfs: tests: add extent_map tests for dropping with odd layouts
        btrfs: scrub: move write back of repaired sectors to scrub_stripe_read_repair_worker()
        btrfs: scrub: don't go ordered workqueue for dev-replace
        btrfs: scrub: fix grouping of read IO
        btrfs: scrub: avoid unnecessary csum tree search preparing stripes
        btrfs: scrub: avoid unnecessary extent tree search preparing stripes
        btrfs: copy dir permission and time when creating a stub subvolume
        btrfs: remove pointless empty list check when reading delayed dir indexes
        btrfs: drop redundant check to use fs_devices::metadata_uuid
        btrfs: compare the correct fsid/metadata_uuid in btrfs_validate_super
        btrfs: use the correct superblock to compare fsid in btrfs_validate_super
        btrfs: simplify memcpy either of metadata_uuid or fsid
        btrfs: add a helper to read the superblock metadata_uuid
        btrfs: remove v0 extent handling
        btrfs: output extra debug info if we failed to find an inline backref
        btrfs: move the !zoned assert into run_delalloc_cow
        btrfs: consolidate the error handling in run_delalloc_nocow
        ...
      547635c6
    • Linus Torvalds's avatar
      Merge tag 'affs-for-6.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · f678c890
      Linus Torvalds authored
      Pull affs updates from David Sterba:
       "Two minor updates for AFFS:
      
         - reimplement writepage() address space callback on top of
           migrate_folio()
      
         - fix a build warning, local parameters 'toupper' collide with the
           standard ctype.h name"
      
      * tag 'affs-for-6.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        affs: rename local toupper() to fn() to avoid confusion
        affs: remove writepage implementation
      f678c890
    • Linus Torvalds's avatar
      Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux · 3bb156a5
      Linus Torvalds authored
      Pull fsverity updates from Eric Biggers:
       "Several cleanups for fs/verity/, including two commits that make the
        builtin signature support more cleanly separated from the base
        feature"
      
      * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux:
        fsverity: skip PKCS#7 parser when keyring is empty
        fsverity: move sysctl registration out of signature.c
        fsverity: simplify handling of errors during initcall
        fsverity: explicitly check that there is no algorithm 0
      3bb156a5
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux · cc0a38d0
      Linus Torvalds authored
      Pull fscrypt update from Eric Biggers:
       "Just a small documentation improvement"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux:
        fscrypt: improve the "Encryption modes and usage" section
      cc0a38d0
    • Linus Torvalds's avatar
      Merge tag 'iomap-6.6-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 6016fc91
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "We've got some big changes for this release -- I'm very happy to be
        landing willy's work to enable large folios for the page cache for
        general read and write IOs when the fs can make contiguous space
        allocations, and Ritesh's work to track sub-folio dirty state to
        eliminate the write amplification problems inherent in using large
        folios.
      
        As a bonus, io_uring can now process write completions in the caller's
        context instead of bouncing through a workqueue, which should reduce
        io latency dramatically. IOWs, XFS should see a nice performance bump
        for both IO paths.
      
        Summary:
      
         - Make large writes to the page cache fill sparse parts of the cache
           with large folios, then use large memcpy calls for the large folio.
      
         - Track the per-block dirty state of each large folio so that a
           buffered write to a single byte on a large folio does not result in
           a (potentially) multi-megabyte writeback IO.
      
         - Allow some directio completions to be performed in the initiating
           task's context instead of punting through a workqueue. This will
           reduce latency for some io_uring requests"
      
      * tag 'iomap-6.6-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (26 commits)
        iomap: support IOCB_DIO_CALLER_COMP
        io_uring/rw: add write support for IOCB_DIO_CALLER_COMP
        fs: add IOCB flags related to passing back dio completions
        iomap: add IOMAP_DIO_INLINE_COMP
        iomap: only set iocb->private for polled bio
        iomap: treat a write through cache the same as FUA
        iomap: use an unsigned type for IOMAP_DIO_* defines
        iomap: cleanup up iomap_dio_bio_end_io()
        iomap: Add per-block dirty state tracking to improve performance
        iomap: Allocate ifs in ->write_begin() early
        iomap: Refactor iomap_write_delalloc_punch() function out
        iomap: Use iomap_punch_t typedef
        iomap: Fix possible overflow condition in iomap_write_delalloc_scan
        iomap: Add some uptodate state handling helpers for ifs state bitmap
        iomap: Drop ifs argument from iomap_set_range_uptodate()
        iomap: Rename iomap_page to iomap_folio_state and others
        iomap: Copy larger chunks from userspace
        iomap: Create large folios in the buffered write path
        filemap: Allow __filemap_get_folio to allocate large folios
        filemap: Add fgf_t typedef
        ...
      6016fc91
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · dd2c0198
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "In this cycle, a xattr bloom filter feature is introduced to speed up
        negative xattr lookups, which was originally suggested by Alexander
        for Composefs use cases.
      
        Additionally, the DEFLATE algorithm is now supported, which can be
        used together with hardware accelerators for our cloud workloads. Each
        supported compression algorithm can be selected on a per-file basis
        for specific access patterns too.
      
        There are also some random fixes and cleanups as usual:
      
         - Support xattr bloom filter to optimize negative xattr lookups
      
         - Support DEFLATE compression algorithm as an alternative
      
         - Fix a regression that ztailpacking pclusters don't release properly
      
         - Avoid warning dedupe and fragments features anymore
      
         - Some folio conversions and cleanups"
      
      * tag 'erofs-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: release ztailpacking pclusters properly
        erofs: don't warn dedupe and fragments features anymore
        erofs: adapt folios for z_erofs_read_folio()
        erofs: adapt folios for z_erofs_readahead()
        erofs: get rid of fe->backmost for cache decompression
        erofs: drop z_erofs_page_mark_eio()
        erofs: tidy up z_erofs_do_read_page()
        erofs: move preparation logic into z_erofs_pcluster_begin()
        erofs: avoid obsolete {collector,collection} terms
        erofs: simplify z_erofs_read_fragment()
        erofs: remove redundant erofs_fs_type declaration in super.c
        erofs: add necessary kmem_cache_create flags for erofs inode cache
        erofs: clean up redundant comment and adjust code alignment
        erofs: refine warning messages for zdata I/Os
        erofs: boost negative xattr lookup with bloom filter
        erofs: update on-disk format for xattr name filter
        erofs: DEFLATE compression support
      dd2c0198
    • Linus Torvalds's avatar
      Merge tag 'filelock-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · f20ae9cf
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
      
       - new functionality for F_OFD_GETLK: requesting a type of F_UNLCK will
         find info about whatever lock happens to be first in the given range,
         regardless of type.
      
       - an OFD lock selftest
      
       - bugfix involving a UAF in a tracepoint
      
       - comment typo fix
      
      * tag 'filelock-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        locks: fix KASAN: use-after-free in trace_event_raw_event_filelock_lock
        fs/locks: Fix typo
        selftests: add OFD lock tests
        fs/locks: F_UNLCK extension for F_OFD_GETLK
      f20ae9cf
    • Linus Torvalds's avatar
      Merge tag 'v6.6-fs.proc.uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · b4a04f92
      Linus Torvalds authored
      Pull procfs fixes from Christian Brauner:
       "Mode changes to files under /proc/<pid>/ aren't supported ever since
        commit 6d76fa58 ("Don't allow chmod() on the /proc/<pid>/ files").
      
        Due to an oversight in commit 1b3044e3 ("procfs: fix pthread
        cross-thread naming if !PR_DUMPABLE") in switching from REG to NOD,
        mode changes on /proc/thread-self/comm were accidently allowed.
      
        Similar, mode changes for all files beneath /proc/<pid>/net/ are
        blocked but mode changes on /proc/<pid>/net itself were accidently
        allowed.
      
        Both issues come down to not using the generic proc_setattr() helper
        which blocks all mode changes. This is rectified with this pull
        request.
      
        This also removes a strange nolibc test that abused /proc/<pid>/net
        for testing mode changes. Using procfs for this test never made a lot
        of sense given procfs has special semantics for almost everything
        anway.
      
        Both changes are minor user-visible changes. It is however very
        unlikely that mode changes on proc/<pid>/net and
        /proc/thread-self/comm are something that userspace relies on"
      
      * tag 'v6.6-fs.proc.uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        procfs: block chmod on /proc/thread-self/comm
        proc: use generic setattr() for /proc/$PID/net
        selftests/nolibc: drop test chmod_net
      b4a04f92
    • Linus Torvalds's avatar
      Merge tag 'v6.6-vfs.autofs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 2e0afa7e
      Linus Torvalds authored
      Pull autofs fixes from Christian Brauner:
       "This fixes a memory leak in autofs reported by syzkaller and a missing
        conversion from uninterruptible to interruptible wake up when autofs
        is in catatonic mode"
      
      * tag 'v6.6-vfs.autofs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        autofs: use wake_up() instead of wake_up_interruptible(()
        autofs: fix memory leak of waitqueues in autofs_catatonic_mode
      2e0afa7e