Latest Linux kernel releases

  18.02 6.12.15
  17.02 6.13.3, 6.6.78
  01.02 6.1.128, 5.15.178, 5.10.234, 5.4.290

Significant pull requests for mainline kernel

 
20 Feb 2025: bpf for v6.14-rc4 [+ + +]
BPF fixes:

- Fix a soft-lockup in BPF arena_map_free on 64k page size
  kernels (Alan Maguire)

- Fix a missing allocation failure check in BPF verifier's
  acquire_lock_state (Kumar Kartikeya Dwivedi)

- Fix a NULL-pointer dereference in trace_kfree_skb by adding
  kfree_skb to the raw_tp_null_args set (Kuniyuki Iwashima)

- Fix a deadlock when freeing BPF cgroup storage (Abel Wu)

- Fix a syzbot-reported deadlock when holding BPF map's
  freeze_mutex (Andrii Nakryiko)

- Fix a use-after-free issue in bpf_test_init when
  eth_skb_pkt_type is accessing skb data not containing an
  Ethernet header (Shigeru Yoshida)

- Fix skipping non-existing keys in generic_map_lookup_batch
  (Yan Zhai)

- Several BPF sockmap fixes to address incorrect TCP copied_seq
  calculations, which prevented correct data reads from recv(2)
  in user space (Jiayuan Chen)

- Two fixes for BPF map lookup nullness elision (Daniel Xu)

- Fix a NULL-pointer dereference from vmlinux BTF lookup in
  bpf_sk_storage_tracing_allowed (Jared Kangas)

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

20 Feb 2025: Networking for v6.14-rc4 [+ + +]
Smaller than usual with no fixes from any subtree.

Current release - regressions:

  - core: fix race of rtnl_net_lock(dev_net(dev)).

Previous releases - regressions:

  - core: remove the single page frag cache for good

  - flow_dissector: fix handling of mixed port and port-range keys

  - sched: cls_api: fix error handling causing NULL dereference

  - tcp:
    - adjust rcvq_space after updating scaling ratio
    - drop secpath at the same time as we currently drop dst

  - eth: gtp: suppress list corruption splat in gtp_net_exit_batch_rtnl().

Previous releases - always broken:

  - vsock:
    - fix variables initialization during resuming
    - for connectible sockets allow only connected

  - eth: geneve: fix use-after-free in geneve_find_dev().

  - eth: ibmvnic: don't reference skb after sending to VIOS

Signed-off-by: Paolo Abeni <pabeni@redhat.com>

 
16 Feb 2025: Driver core addition for 6.14-rc3 [+ + +]
Driver core api addition for 6.14-rc3

Here is a driver core new api for 6.14-rc3 that is being added to allow
platform devices from stop being abused.  It adds a new "faux_device"
structure and bus and api to allow almost a straight or simpler
conversion from platform devices that were not really a platform device.
It also comes with a binding for rust, with an example driver in rust
showing how it's used.

I'm adding this now so that the patches that convert the different
drivers and subsystems can all start flowing into linux-next now through
their different development trees, in time for 6.15-rc1.  We have a
number that are already reviewed and tested, but adding those
conversions now doesn't seem right.  For now, no one is using this, and
it passes all build tests from 0-day and linux-next, so all should be
good.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
15 Feb 2025: s390 updates for 6.14-rc3 [+ + +]
please pull s390 fixes for 6.14-rc3.

Thank you,
Vasily

s390 updates for 6.14-rc3

- Fix isolated VFs handling by verifying that a VF’s parent PF is
  locally owned before registering it in an existing PCI domain

- Disable arch_test_bit() optimization for PROFILE_ALL_BRANCHES to
  workaround gcc failure in handling __builtin_constant_p() in this case

- Fix CHPID "configure" attribute caching in CIO by not updating the
  cache when SCLP returns no data, ensuring consistent sysfs output

- Remove CONFIG_LSM from default configs and rely on defaults, which
  enables BPF LSM hook

 
14 Feb 2025: xen: branch for v6.14-rc3 [+ + +]
Please git pull the following tag:


xen: branch for v6.14-rc3

It contains 3 patches related to the xen-swiotlb driver:

- 2 fixes for issues coming up due to another fix in 6.12
- 1 addition of an __init annotation


Thanks.

Juergen

 
13 Feb 2025: Networking for v6.14-rc3 [+ + +]
Including fixes from netfilter, wireless and bluetooth.

Kalle Valo steps down after serving as the WiFi driver maintainer
for over a decade.

Current release - fix to a fix:

 - vsock: orphan socket after transport release, avoid null-deref

 - Bluetooth: L2CAP: fix corrupted list in hci_chan_del

Current release - regressions:

 - eth: stmmac: correct Rx buffer layout when SPH is enabled

 - rxrpc: fix alteration of headers whilst zerocopy pending

 - eth: iavf: fix a locking bug in an error path

 - s390/qeth: move netif_napi_add_tx() and napi_enable() from under BH

 - Revert "netfilter: flowtable: teardown flow if cached mtu is stale"

Current release - new code bugs:

 - rxrpc: fix ipv6 path MTU discovery, only ipv4 worked

 - pse-pd: fix deadlock in current limit functions

Previous releases - regressions:

 - rtnetlink: fix netns refleak with rtnl_setlink()

 - wifi: brcmfmac: use random seed flag for BCM4355 and BCM4364 firmware

Previous releases - always broken:

 - add missing RCU protection of struct net throughout the stack

 - can: rockchip: bail out if skb cannot be allocated

 - eth: ti: am65-cpsw: base XDP support fixes

Misc:

 - ethtool: tsconfig: update the format of hwtstamp flags,
   changes the uAPI but this uAPI was not in any release yet

Signed-off-by: Jakub Kicinski <kuba@kernel.org>

13 Feb 2025: USB-serial device ids for 6.14-rc3 [+ + +]
USB-serial device ids for 6.14-rc3

Here are some new modem device ids and a couple of related cleanups of
the device id table.

All have been in linux-next with no reported issues.

13 Feb 2025: platform-drivers-x86 for v6.14-3 [+ + +]
Here is a platform-drivers-x86 fixes PR for v6.14.

Fixes and new HW support:

 - thinkpad_acpi:

     - Fix registration of tpacpi platform driver

     - Support fan speed in ticks per revolution (Thinkpad X120e)

     - Support V9 DYTC profiles (new Thinkpad AMD platforms)

 - int3472: Handle GPIO "enable" vs "reset" variation (ov7251)

Regards, i.


platform-drivers-x86 for v6.14-3

Fixes and new HW support:

 - thinkpad_acpi:

     - Fix registration of tpacpi platform driver

     - Support fan speed in ticks per revolution (Thinkpad X120e)

     - Support V9 DYTC profiles (new Thinkpad AMD platforms)

 - int3472: Handle GPIO "enable" vs "reset" variation (ov7251)

The following is an automated shortlog grouped by driver:

int3472:
 -  Call "reset" GPIO "enable" for INT347E
 -  Use correct type for "polarity", call it gpio_flags

thinkpad_acpi:
 -  Fix invalid fan speed on ThinkPad X120e
 -  Fix registration of tpacpi platform driver
 -  Support for V9 DYTC platform profiles

 
11 Feb 2025: tomoyo update for v6.14-rc3 [+ + +]
Redo of pathname patternization and fix spelling errors.

 
9 Feb 2025: KVM changes for Linux 6.14-rc2 [+ + +]
ARM:

* Correctly clean the BSS to the PoC before allowing EL2 to access it
  on nVHE/hVHE/protected configurations

* Propagate ownership of debug registers in protected mode after
  the rework that landed in 6.14-rc1

* Stop pretending that we can run the protected mode without a GICv3
  being present on the host

* Fix a use-after-free situation that can occur if a vcpu fails to
  initialise the NV shadow S2 MMU contexts

* Always evaluate the need to arm a background timer for fully emulated
  guest timers

* Fix the emulation of EL1 timers in the absence of FEAT_ECV

* Correctly handle the EL2 virtual timer, specially when HCR_EL2.E2H==0

s390:

* move some of the guest page table (gmap) logic into KVM itself,
  inching towards the final goal of completely removing gmap from the
  non-kvm memory management code. As an initial set of cleanups, move
  some code from mm/gmap into kvm and start using __kvm_faultin_pfn()
  to fault-in pages as needed; but especially stop abusing page->index
  and page->lru to aid in the pgdesc conversion.

x86:

* Add missing check in the fix to defer starting the huge page recovery
  vhost_task

* SRSO_USER_KERNEL_NO does not need SYNTHESIZED_F

 
7 Feb 2025: (ibft) changes for v6.14-rc1 [+ + +]
Hi Linus,

Please git pull the following tag:


which has two tiny fixes to IBFT code. One for Kconfig and another for
IPv6.

Thank you.

 
6 Feb 2025: xen: branch for v6.14-rc2 [+ + +]
Please git pull the following tag:


xen: branch for v6.14-rc2

It contains 3 fixes of a single function, which was introduced in the
6.13 cycle.

Thanks.

Juergen

6 Feb 2025: Networking for v6.14-rc2 [+ + +]
Interestingly the recent kmemleak improvements allowed our CI to
catch a couple of percpu leaks addressed here.
We (mostly Jakub, to be accurate) are working to increase review
coverage over the net code-base tweaking the MAINTAINER entries.

Current release - regressions:

  - core: harmonize tstats and dstats

  - ipv6: fix dst refleaks in rpl, seg6 and ioam6 lwtunnels

  - eth: tun: revert fix group permission check

  - eth: stmmac: revert "specify hardware capability value when FIFO size isn't specified"

Previous releases - regressions:

  - udp: gso: do not drop small packets when PMTU reduces

  - rxrpc: fix race in call state changing vs recvmsg()

  - eth: ice: fix Rx data path for heavy 9k MTU traffic

  - eth: vmxnet3: fix tx queue race condition with XDP

Previous releases - always broken:

  - sched: pfifo_tail_enqueue: drop new packet when sch->limit == 0

  - ethtool: ntuple: fix rss + ring_cookie check

  - rxrpc: fix the rxrpc_connection attend queue handling

Misc:

  - recognize Kuniyuki Iwashima as a maintainer

Signed-off-by: Paolo Abeni <pabeni@redhat.com>

 
4 Feb 2025: livepatching for 6.14-rc2 [+ + +]
please pull a simple fixup of livepatching selftests from



- Fix livepatching selftests for util-linux-2.40.x.

 
04 Feb 2025: platform-drivers-x86 for v6.14-2 [+ + +]
Here is a platform-drivers-x86 fixes PR for v6.14.

Fixes:

 - ideapad-laptop: Pass a correct pointer to the driver data

 - intel/ifs: Provide a link to the IFS test images

 - intel/pmc: Use large enough type when decoding LTR value

Regards, i.


platform-drivers-x86 for v6.14-2

Fixes:

 - ideapad-laptop: Pass a correct pointer to the driver data

 - intel/ifs: Provide a link to the IFS test images

 - intel/pmc: Use large enough type when decoding LTR value

The following is an automated shortlog grouped by driver:

ideapad-laptop:
 -  pass a correct pointer to the driver data

intel/ifs:
 -  Update documentation with image download path

intel: pmc:
 -  fix ltr decode in pmc_core_ltr_show()

 
2 Feb 2025: turbostat-2025.02.02 for Linux-6.14 [+ + +]

thanks!
Len Brown, Intel Open Source Technology Center

Turbostat 2025.02.02 updates since 2024.11.30

Fix regression in 2023.11.07 that affinitized forked child
in one-shot mode.

Harden one-shot mode against hotplug online/offline

Enable RAPL SysWatt column by default.

Add initial PTL, CWF platform support.

Harden initial PMT code in response to early use.

Enable first built-in PMT counter: CWF c1e residency

Refuse to run on unsupported platforms without --force,
to encourage updating to a version that supports the system,
and to avoid no-so-useful measurement results.

 
1 Feb 2025: media updates [+ + +]


For a regression fix at the uvcvideo driver.

Regards,
Mauro

---

[GIT PULL for v6.14] media updates

 
31 Jan 2025: hexagon changes for v6.14-rc1 [+ + +]
change to my email address.  The public key containing this new uid 
should be available on keys.openpgp.com and keyserver.ubuntu.com -- 
hopefully one of those is satisfactory.

Thanks,

-Brian

====

hexagon updates for 6.14-rc1

* Move kernel prototypes to internal header
* Fix to address an unbalanced spinlock
* Miscellaneous patches to fix static checks
* Update bcain@quicinc.com->brian.cain@oss.qualcomm.com

31 Jan 2025: hardening updates for v6.14-rc1 (fix1) [+ + +]
to be released GCC 15 which has regressed its initialization of unions
when performing explicit initialization (i.e. a general problem, not
specifically a hardening problem; we're just carrying the fix). Details
in the final patch, Acked by Masahiro, with updated selftests to validate
the fix.

Thanks!

-Kees

hardening updates for v6.14-rc1-fix1

- Fix regression in GCC 15's initialization of union members

31 Jan 2025: AT_EXECVE_CHECK update for v6.14-rc1 (fix1) [+ + +]
AT_EXECVE_CHECK selftests which didn't run on old versions of glibc.

Thanks!

-Kees

AT_EXECVE_CHECK update for v6.14-rc1 (fix1)

- selftests: Handle old glibc without execveat(2) (Mickaël Salaün)

31 Jan 2025: PCI changes for v6.14 [+ + +]
- Save the original INTX_DISABLE bit at the first pcim_intx() call and
  restore that at devres cleanup instead of restoring the opposite of the
  most recent enable/disable pcim_intx() argument, which was wrong when a
  driver called pcim_intx() multiple times or with the already enabled
  state (Takashi Iwai)

31 Jan 2025: RISC-V Patches for the 6.14 Merge Window, Part 1 [+ + +]
RISC-V Patches for the 6.14 Merge Window, Part 1

* The PH1520 pinctrl and dwmac drivers are enabeled in defconfig.
* A redundant AQRL barrier has been removed from the futex cmpxchg
  implementation.
* Support for the T-Head vector extensions, which includes exposing
  these extensions to userspace on systems that implement them.
* Some more page table information is now printed on die() and systems
  that cause PA overflows.

 
1 Feb 2025: Kbuild updates for v6.14-rc1 [+ + +]
Thank you


Kbuild updates for v6.14

 - Support multiple hook locations for maint scripts of Debian package

 - Remove 'cpio' from the build tool requirement

 - Introduce gendwarfksyms tool, which computes CRCs for export symbols
   based on the DWARF information

 - Support CONFIG_MODVERSIONS for Rust

 - Resolve all conflicts in the genksyms parser

 - Fix several syntax errors in genksyms

 
31 Jan 2025: x86/mm changes for v6.14 [+ + +]



x86/mm changes for v6.14:

 - The biggest changes are the TLB flushing scalability optimizations,
   to update the mm_cpumask lazily and related changes. This feature
   has both a track record and a continued risk of performance regressions,
   so it was already delayed by a cycle - but it's all 100% perfect nowâ„¢.
   (Rik van Riel)

 - Also miscellaneous fixes and cleanups. (Gautam Somani,
   Kirill A. Shutemov, Sebastian Andrzej Siewior)

 Thanks,

Ingo

 
30 Jan 2025: RTC for 6.14 [+ + +]
Here is the RTC subsystem pull request for 6.14. Not much this cycle,
there are multiple small fixes. I took the last patch a bit late but
this has been tested independently by two other developers.

RTC for 6.13

Subsystem:
 - use boolean values with device_init_wakeup()

Drivers:
 - pcf2127: add BSM support
 - pcf85063: fix possible out of bound write

30 Jan 2025: UBI and UBIFS changes for v6.14 [+ + +]
This pull request contains updates for UBI and UBIFS:

UBI:
- New interface to dump detailed erase counters
- Fixes around wear-leveling

UBIFS:
- Minor cleanups
- Fix for TNC dumping code

30 Jan 2025: UML changes for v6.14 [+ + +]
This pull request contains the following changes for UML:

- hostfs: Convert to writepages
- Many cleanups: Removal of dead macros, missing __init

30 Jan 2025: More power management updates for v6.14-rc1 [+ + +]

 pm-6.14-rc1-2


 Merge branch 'pm-sleep'


 Merge tag 'pm-6.14-rc1' of

to receive more power management updates for 6.14-rc1.

These are mostly fixes on top of the previously merged power management
material with the addition of some teo cpuidle governor updates, some
of which may also be regarded as fixes:

 - Add missing error handling for syscore_suspend() to the hibernation
   core code (Wentao Liang).

 - Revert a commit that added unused macros (Andy Shevchenko).

 - Synchronize the runtime PM status of devices that were runtime-
   suspended before a system-wide suspend and need to be resumed during
   the subsequent system-wide resume transition (Rafael Wysocki).

 - Clean up the teo cpuidle governor and make the handling of short idle
   intervals in it consistent regardless of the properties of idle
   states supplied by the cpuidle driver (Rafael Wysocki).

 - Fix some boost-related issues in cpufreq (Lifeng Zheng).

 - Fix build issues in the s3c64xx and airoha cpufreq drivers (Viresh
   Kumar).

 - Remove unconditional binding of schedutil governor kthreads to the
   affected CPUs if the cpufreq driver indicates that updates can happen
   from any CPU (Christian Loehle).

Thanks!



30 Jan 2025: Networking for v6.14-rc1 [+ + +]
First batch of fixes for 6.14. Nothing really stands out,
but as usual there's a slight concentration of fixes for issues
added in the last two weeks before the MW, and driver bugs
from 6.13 which tend to get discovered upon wider distribution.

Including fixes from IPSec, netfilter and Bluetooth.

Current release - regressions:

 - net: revert RTNL changes in unregister_netdevice_many_notify()

 - Bluetooth: fix possible infinite recursion of btusb_reset

 - eth: adjust locking in some old drivers which protect their state
with spinlocks to avoid sleeping in atomic; core protects
netdev state with a mutex now

Previous releases - regressions:

 - eth: mlx5e: make sure we pass node ID, not CPU ID to kvzalloc_node()

 - eth: bgmac: reduce max frame size to support just 1500 bytes;
the jumbo frame support would previously cause OOB writes,
but now fails outright

 - mptcp: blackhole only if 1st SYN retrans w/o MPC is accepted,
avoid false detection of MPTCP blackholing

Previous releases - always broken:

 - mptcp: handle fastopen disconnect correctly

 - xfrm: make sure skb->sk is a full sock before accessing its fields

 - xfrm: fix taking a lock with preempt disabled for RT kernels

 - usb: ipheth: improve safety of packet metadata parsing; prevent
potential OOB accesses

 - eth: renesas: fix missing rtnl lock in suspend/resume path

Signed-off-by: Jakub Kicinski <kuba@kernel.org>

30 Jan 2025: more s390 updates for 6.14 merge window [+ + +]
please pull more s390 updates for the 6.14 merge window.

There is a trivial conflict that was resolved in linux-next [1] in:

  arch/s390/Kconfig

between commit:

  008071917dfc ("s390/crc32: expose CRC32 functions through lib")

from your tree and commit:

  3bcc8a1af581 ("s390/sclp: Initialize sclp subsystem via arch_cpu_finalize=
_init()")

from the s390 tree:

more s390 updates for 6.14 merge window

- The rework that uncoupled physical and virtual address spaces
  inadvertently prevented KASAN shadow mappings from using large
  pages. Restore large page mappings for KASAN shadows

- Add decompressor routine physmem_alloc() that may fail,
  unlike physmem_alloc_or_die(). This allows callers to
  implement fallback paths

- Allow falling back from large pages to smaller pages (1MB or
  4KB) if the allocation of 2GB pages in the decompressor can
  not be fulfilled

- Add to the decompressor boot print support of "%%" format
  string, width and padding hadnling, length modifiers and
  decimal conversion specifiers

- Add to the decompressor message severity levels similar to
  kernel ones. Support command-line options that control
  console output verbosity

- Replaces boot_printk() calls with appropriate loglevel-
  specific helpers such as boot_emerg(), boot_warn(), and
  boot_debug().

- Collect all boot messages into a ring buffer independent
  of the current log level. This is particularly useful for
  early crash analysis

- If 'earlyprintk' command line parameter is not specified, store
  decompressor boot messages in a ring buffer to be printed later
  by the kernel, once the console driver is registered

- Add 'bootdebug' command line parameter to enable printing of
  decompressor debug messages when needed. That parameters allows
  message supressing and filtering

- Dump boot messages on a decompressor crash, but only if
  'bootdebug' command line parameter is enabled

- When CONFIG_PRINTK_TIME is enabled, add timestamps to boot
  messages in the same format as regular printk()

- Dump physical memory tracking information on boot:
  online ranges, reserved areas and vmem allocations

- Dump virtual memory layout and randomization details

- Improve decompression error reporting and dump the message
  ring buffer in case the boot failed and system halted

- Add an exception handler which handles exceptions when FPU
  control register is attempted to be set to an invalid value.
  Remove '.fixup' section as result of this change

- Use 'A', 'O', and 'R' inline assembly format flags, which
  allows recent Clang compilers to generate better FPU code

- Rework uaccess code so it reads better and generates more
  efficient code

- Cleanup futex inline assembly code

- Disable KMSAN instrumention for futex inline assemblies, which
  contain dereferenced user pointers. Otherwise, shadows for the
  user pointers would be accessed

- PFs which are not initially configured but in standby create
  only a single-function PCI domain. If they are configured later
  on, sibling PFs and their child VFs will not be added to their
  PCI domain breaking SR-IOV expectations. Fix that by allowing
  initially configured but in standby PFs create multi-function
  PCI domains

- Add '-std=gnu11' to decompressor and purgatory CFLAGS to avoid
  compile errors caused by kernel's own definitions of 'bool',
  'false', and 'true' conflicting with the C23 reserved keywords

- Fix sclp subsystem failure when a sclp console is not present

- Fix misuse of non-NULL terminated strings in vmlogrdr driver

- Various other small improvements, cleanups and fixes

30 Jan 2025: : Generic phy updates for v6.14 [+ + +]

Hello Linus,

Qualcomm and Rockchip device support.

phy-for-6.14

- New Support
  - Qualcomm SAR2130P qmp usb, SAR2130P qmp pcie, QCS615 qusb2 and PCIe,
    IPQ5424 qmp pcie, IPQ5424 QUSB2 and USB3 PHY
  - Rockchip rk3576 combo phy support

- Updates
  - Drop Shengyang for JH7110 maintainer
  - Freescale hdmi register calculation optimization
  - Rockchip pcie phy mutex and regmap updates

 
29 Jan 2025: xen: branch for v6.14-rc1 [+ + +]
Please git pull the following tag:


xen: branch for v6.14-rc1

It contains 3 minor fixes.


Thanks.

Juergen

 
30 Jan 2025: : dmaengine updates for v6.14 [+ + +]

Hey Linus,

of new device support and updates to few drivers, biggest of them amd
ones. This is based on dmaengine fixes tag dmaengine-fix-6.13 already
pulled by you.

dmaengine updates for v6.14

 New support:
  - TI J722S CSI BCDMA controller support
  - Intel idxd Panther Lake family platforms
  - Allwinner F1C100s suniv DMA
  - Qualcomm QCS615, QCS8300, SM8750, SA8775P GPI dma controller support
  - AMD ae4dma controller support and reorganisation of amd driver

 Updates:
  - Channel page support for Nvidia Tegra210 adma driver
  - Freescale support for S32G based platforms
  - Yamilfy atmel dma bindings

 
29 Jan 2025: Compute Express Link (CXL) changes for 6.14 [+ + +]
  

...to receive a small set of changes for CXL for v6.14.  The changes includes
a tweak to the HMAT output that was acked by Rafael, a prep patch for CXL type2
devices support that's coming soon, refactoring of the CXL regblock
enumeration code, and a series of patches to update the event records to CXL
spec r3.1.

These all have appeared in -next for a few days with no reported issues.

---

cxl changes for v6.14

- Move HMAT printouts to pr_debug()
- Add CXL type2 support to cxl_dvsec_rr_decode() in preparation for
  type2 support
- A series that updates CXL event records to spec r3.1 and related
  changes
- Refactoring of cxl_find_regblock_instance() to count regblocks

29 Jan 2025: fuse update for 6.14 [+ + +]

tags/fuse-update-6.14

Add support for io-uring communication between kernel and userspace
using IORING_OP_URING_CMD (Bernd Schubert).  Following features enable
gains in performance compared to the regular interface:

- Allow processing multiple requests with less syscall overhead

- Combine commit of old and fetch of new fuse request

- CPU/NUMA affinity of queues

Patches were reviewed by several people, including Pavel Begunkov,
io-uring co-maintainer.

Thanks,
Miklos
---

29 Jan 2025: sysctl constification changes for v6.14-rc1 [+ + +]
This is a continuation of the ctl_table constification work started in
commit 78eb4ea25cd5 ("sysctl: treewide: constify the ctl_table argument
of proc_handlers"). That commit allows the const qualifying of the
ctl_tables; with a few exceptions listed in the commit.

As with previous large tree-wide PRs [1], I'm sending it at the end of
the merge window to try to avoid unnecessary conflicts. I have rebased
it on top of what I see as your latest master (6d61a53dd6f5), but I can
rebase it again later if you prefer.

Testing was done in 0-day to avoid generating unnecessary merge
conflicts in linux-next. I do not expect any error/regression given that
all changes contained in this PR are non-functional.

Finally, if you need to regenerate it do:
  1. Run the spatch [2] with the coccichekck command [3].
  2. Run the sed command [4]

Best

[1] https://lore.kernel.org/all/20240724210014.mc6nima6cekgiukx@joelS2.panther.com/
[2] Spatch:
      virtual patch

      @
      depends on !(file in "net")
      disable optional_qualifier
      @

      identifier table_name != {
        watchdog_hardlockup_sysctl,
        iwcm_ctl_table,
        ucma_ctl_table,
        memory_allocation_profiling_sysctls,
        loadpin_sysctl_table
      };
      @@

      + const
      struct ctl_table table_name [] = { ... };

[3] Spatch command:
      make coccicheck MODE=patch \
        SPFLAGS="--in-place --include-headers --smpl-spacing --jobs=16" \
        COCCI=PATCH_FILE

[4] sed:
      sed --in-place \
        -e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \
        kernel/utsname_sysctl.c

Summary:

  All ctl_table declared outside of functions and that remain unmodified after
  initialization are const qualified. This prevents unintended modifications to
  proc_handler function pointers by placing them in the .rodata section. This is
  a continuation of the tree-wide effort started a few releases ago with the
  constification of the ctl_table struct arguments in the sysctl API done in
  78eb4ea25cd5 ("sysctl: treewide: constify the ctl_table argument of
  proc_handlers")

Testing:

  Testing was done on 0-day and sysctl selftests in x86_64. The linux-next
  branch was not used for such a big change in order to avoid unnecessary merge
  conflicts

 
28 Jan 2025: VFIO updates for v6.14-rc1 [+ + +]
VFIO updates for v6.14-rc1

 - Extend vfio-pci 8-byte read/write support to include archs defining
   CONFIG_GENERIC_IOMAP, such as x86, and remove now extraneous #ifdefs
   around 64-bit accessors. (Ramesh Thomas)

 - Update vfio-pci shadow ROM handling and allow cached ROM from setup
   data to be exposed as a functional ROM BAR region when available.
   (Yunxiang Li)

 - Update nvgrace-gpu vfio-pci variant driver for new Grace Blackwell
   hardware, conditionalizing the uncached BAR workaround for previous
   generation hardware based on the presence of a flag in a new DVSEC
   capability, and include a delay during probe for link training to
   complete, a new requirement for GB devices. (Ankit Agrawal)

28 Jan 2025: Driver core / debugfs updates for 6.14-rc1 [+ + +]
Driver core and debugfs updates

Here is the big set of driver core and debugfs updates for 6.14-rc1.
It's coming late in the merge cycle as there are a number of merge
conflicts with your tree now, and I wanted to make sure they were
working properly.  To resolve them, look in linux-next, and I will send
the "fixup" patch as a response to the pull request.

Included in here is a bunch of driver core, PCI, OF, and platform rust
bindings (all acked by the different subsystem maintainers), hence the
merge conflict with the rust tree, and some driver core api updates to
mark things as const, which will also require some fixups due to new
stuff coming in through other trees in this merge window.

There are also a bunch of debugfs updates from Al, and there is at least
one user that does have a regression with these, but Al is working on
tracking down the fix for it.  In my use (and everyone else's linux-next
use), it does not seem like a big issue at the moment.

Here's a short list of the things in here:
  - driver core bindings for PCI, platform, OF, and some i/o functions.
    We are almost at the "write a real driver in rust" stage now,
    depending on what you want to do.
  - misc device rust bindings and a sample driver to show how to use
    them
  - debugfs cleanups in the fs as well as the users of the fs api for
    places where drivers got it wrong or were unnecessarily doing things
    in complex ways.
  - driver core const work, making more of the api take const * for
    different parameters to make the rust bindings easier overall.
  - other small fixes and updates

All of these have been in linux-next with all of the aforementioned
merge conflicts, and the one debugfs issue, which looks to be resolved
"soon".

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

28 Jan 2025: Stop-machine change for v6.14 [+ + +]


This has been subjected to -next testing for more than a month and was
posted to LKML here:

https://lore.kernel.org/all/1712649736-27058-1-git-send-email-quic_mojha@quicinc.com/

stop_machine pull request for v6.14

Move a misplaced call to rcu_momentary_eqs() from multi_cpu_stop()
to ensure that interrupts are disabled as required.

28 Jan 2025: CSD-lock changes for v6.14 [+ + +]
When the v6.14 merge window opens, please pull this CSD-lock update from:


These have been exposed to -next testing for more than a month and were
posted to LKML here:

https://lore.kernel.org/all/20241209124411.5b588faa@fangorn/

CSD-lock pull request for v6.14

Allow runtime modification of the csd_lock_timeout and panic_on_ipistall
module parameters.

28 Jan 2025: LoongArch changes for v6.14 [+ + +]
LoongArch changes for v6.14

1, Migrate to the generic rule for built-in DTB;
2, Disable FIX_EARLYCON_MEM when ARCH_IOREMAP is enabled;
3, Derive timer max_delta from PRCFG1's timer_bits;
4, Correct the cacheinfo sharing information;
5, Add pgprot_nx() implementation;
6, Add debugfs entries to switch SFB/TSO state;
7, Change the maximum number of watchpoints;
8, Some bug fixes and other small changes.

28 Jan 2025: TTY / Serial driver updates for 6.14-rc1 [+ + +]
TTY / Serial driver updates for 6.14-rc1

Here is the tty/serial driver set of changes for 6.14-rc1.  Nothing
major in here, it was delayed a bit due to a regression found in
linux-next which has now been reverted and verified that it is fixed.
Other than the reverts, highlights include:
  - 8250 work to get the nbcon mode working (partially reverted)
  - altera_jtaguart minor fixes
  - fsl_lpuart minor updates
  - sh-sci driver minor updatesa
  - other tiny driver updates and cleanups

All of these have been in linux-next for a while, and now with no
reports of problems (thanks to the reverts.)

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

28 Jan 2025: KVM/arm64 updates for 6.14 [+ + +]
We've had a slight hiccup with the KVM/arm64 tree targetting 6.14 in
that Paolo mistakenly forgot to include it in his KVM pull request [1].
I understood Paolo was planning to send a follow-up pull request to you
yesterday but, as that didn't materialise, I thought I'd better send it
via arm64 given where we are in the merge window.

Paolo -- if you'd prefer this to go via your tree, then please feel free
to send a separate pull request to replace this one! I'm just making
sure that we don't miss the boat for 6.14 as there's a reasonable amount
of code here and we're already into the second week of the merge window.

Despite the rocky journey, the patches have all been in -next. All I've
done is sign the top commit of Marc's branch with a new tag using his
summary. On the dependency front, the branch merges for-next/cpufeature
from arm64 and kvmarm-fixes-6.13-3, both of which you have already
merged separately.

Marc's original pull request is available at [2] if you'd prefer to take
that directly (but please note that the diff stat is slightly different
from what I have here due to me using the "histogram" algorithm and Marc
using whatever is the default).

Cheers,

Will

[1] https://lore.kernel.org/all/87plkbt185.wl-maz@kernel.org/
[2] https://lore.kernel.org/all/20250117115208.1616503-1-maz@kernel.org/

--->8

KVM/arm64 updates for 6.14

* New features:

  - Support for non-protected guest in protected mode, achieving near
    feature parity with the non-protected mode

  - Support for the EL2 timers as part of the ongoing NV support

  - Allow control of hardware tracing for nVHE/hVHE

* Improvements, fixes and cleanups:

  - Massive cleanup of the debug infrastructure, making it a bit less
    awkward and definitely easier to maintain. This should pave the
    way for further optimisations

  - Complete rewrite of pKVM's fixed-feature infrastructure, aligning
    it with the rest of KVM and making the code easier to follow

  - Large simplification of pKVM's memory protection infrastructure

  - Better handling of RES0/RES1 fields for memory-backed system
    registers

  - Add a workaround for Qualcomm's Snapdragon X CPUs, which suffer
    from a pretty nasty timer bug

  - Small collection of cleanups and low-impact fixes

28 Jan 2025: sparc updates for v6.14 [+ + +]
This includes the following changes related to sparc for v6.14:

- Improve performance for reading /proc/interrupts

- Simplify irq code for sun4v

- Replace zero-length array with flexible array in struct for pci for sparc64

28 Jan 2025: f2fs update for 6.14-rc1 [+ + +]
Could you please consider this pull request?

Thanks,

f2fs-for-6.14-rc1

In this series, there are several major improvements such as 1) folio conversion
made by Matthew, 2) speed-up of block truncation, 3) caching more dentry pages.
In addition, we implemented a linear dentry search to address recent unicode
regression, and figured out some false alarms that we could get rid of.

Enhancement:
 - foilio conversion in various IO paths
 - optimize f2fs_truncate_data_blocks_range()
 - cache more dentry pages
 - remove unnecessary blk_finish_plug
 - procfs: show mtime in segment_bits

Bug fix:
 - introduce linear search for dentries
 - don't call block truncation for aliased file
 - fix using wrong 'submitted' value in f2fs_write_cache_pages
 - fix to do sanity check correctly on i_inline_xattr_size
 - avoid trying to get invalid block address
 - fix inconsistent dirty state of atomic file

 
27 Jan 2025: USB / Thunderbolt driver updates for 6.14-rc1 [+ + +]
USB / Thunderbolt driver updates for 6.14-rc1

Here is the USB and Thunderbolt driver updates for 6.14-rc1.  Nothing
huge in here, just lots of new hardware support and updates for existing
drivers.  Changes here are:
  - big gadget f_tcm driver update
  - other gadget driver updates and fixes
  - thunderbolt driver updates for new hardware and capabilities and
    lots more debugging functionality to handle it when things aren't
    working well.
  - xhci driver updates
  - new USB-serial device updates
  - typec driver updates, including a chrome platform driver (acked by
    the subsystem maintainers)
  - other small driver updates

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

27 Jan 2025: Staging driver updates for 6.14-rc1 [+ + +]
Staging driver updates for 6.14-rc1

Here's the pretty small staging driver tree update for 6.14-rc1.  Not
much happened this development cycle:
  - deleted some unused ioctl code from the rtl8723bs driver
  - gpib driver cleanups and fixes
  - other tiny minor coding style fixes.

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

27 Jan 2025: power-supply changes for 6.14 [+ + +]
Subject: [GIT PULL] power-supply changes for 6.14
MIME-Version: 1.0

Hi Linus,

Here are the power-supply changes for the v6.14 cycle. There is one
change to the dell-laptop x86 platform driver, which goes to my tree
due to dependencies. Otherwise business as usual with quite some
core changes thanks to Thomas Wei=DFschuh, which will hopefully help
cleaning up the x86 charge threshold platform drivers in the next
releases. No merge issues have been noticed in linux-next.

Greetings,

-- Sebastian

power supply and reset changes for the 6.14 series

 * power-supply core
  - introduce power supply extensions, which allows adding properties to
    a power supply device from a separate driver. This will be used
    initially to extend the generic ACPI charger/battery driver with
    vendor extensions for charge thresholds.
  - convert all drivers from power_supply_for_each_device to new
    power_supply_for_each_psy(), which avoids lots of casting being
    done in the drivers.
  - avoid LED trigger like values in uevent for POWER_SUPPLY_PROP_CHARGE_BE=
HAVIOUR
  - introduce POWER_SUPPLY_PROP_CHARGE_TYPES, which is similar to the
    POWER_SUPPLY_PROP_CHARGE_TYPE property, but also lists the available
    options on the specific platform

 * power-supply drivers
  - dell-laptop: use new power_supply_charge_types_show/_parse helpers
  - stc3117: new driver for equally named fuel gauge chip
  - bq24190: add support for new POWER_SUPPLY_PROP_CHARGE_TYPES
  - bq24190: add BQ24297 support
  - bq27xxx: add voltage min design for bq27000/bq27200
  - cros_charge-control: convert to new power supply extension API
  - multiple drivers: constify 'struct bin_attribute'
  - ds2782: convert to device managed resources
  - max1720x: add charge full property
  - max1720x: support extra thermistor temperatures
  - max17042: add max77705 support
  - ip5xxx-power: add support for IP5306
  - ltc4162-l-charger: add ltc4162-f/s and ltc4015 support
  - gpio-charger: support for default charge current limit
  - misc. small cleanups and fixes

 * reset drivers
  - at91-poweroff: add sam9x7 support

27 Jan 2025: MIPS changes for v6.14 [+ + +]
Cleanups and fixes

27 Jan 2025: NFSD changes for v6.14 [+ + +]
NFSD 6.14 Release Notes

Jeff Layton contributed an implementation of NFSv4.2+ attribute
delegation, as described here:

https://www.ietf.org/archive/id/draft-ietf-nfsv4-delstid-08.html

This interoperates with similar functionality introduced into the
Linux NFS client in v6.11. An attribute delegation permits an NFS
client to manage a file's mtime, rather than flushing dirty data to
the NFS server so that the file's mtime reflects the last write,
which is considerably slower.

Neil Brown contributed dynamic NFSv4.1 session slot table resizing.
This facility enables NFSD to increase or decrease the number of
slots per NFS session depending on server memory availability. More
session slots means greater parallelism.

Chuck Lever fixed a long-standing latent bug where NFSv4 COMPOUND
encoding screws up when crossing a page boundary in the encoding
buffer. This is a zero-day bug, but hitting it is rare and depends
on the NFS client implementation. The Linux NFS client does not
happen to trigger this issue.

A variety of bug fixes and other incremental improvements fill out
the list of commits in this release. Great thanks to all
contributors, reviewers, testers, and bug reporters who participated
during this development cycle.

27 Jan 2025: m68knommu changes for v6.14 [+ + +]

Just a single fix to correct the clock rate defined for the internal timer
hardware blocks of the ColdFire 5441x family of SoC devices.

Regards
Greg





m68knommu: updates and fixes for v6.14

Fixes include:
. use proper clock rate for ColdFire 5441x platforms

 
26 Jan 2025: MM udpates for 6.14-rc1, take 2 [+ + +]
thanks.

Conflicts which I am seeing at this time, along with their linux-next
resolutions are:

include/linux/seqlock.h: trivial kerneldoc fixup

kernel/rcu/tree.c, vs slab tree:
https://lkml.kernel.org/r/20241216152721.15c5864d@canb.auug.org.au


Forthcoming build issues and their linux-next resolutions are:

io_uring/memmap.c, vs block tree:
https://lkml.kernel.org/r/20250110124406.17190e3a@canb.auug.org.au


Forthcoming conflicts are:

kernel/rcu/tree.c, vs rcu tree:
https://lkml.kernel.org/r/20241220133738.1beae531@canb.auug.org.au

arch/arm64/mm/pageattr.c vs arm64 tree:
https://lkml.kernel.org/r/20241024103709.082a6950@canb.auug.org.au

include/linux/mm.h vs arm64 tree:
https://lkml.kernel.org/r/20241028111058.4419a9ed@canb.auug.org.au

arch/s390/include/asm/set_memory.h, arch/s390/mm/pageattr.c vs s390 tree:
https://lkml.kernel.org/r/20241028111606.5c009055@canb.auug.org.au

arch/s390/mm/pageattr.c, vs s390 tree:
https://lkml.kernel.org/r/20241114101639.282d82a8@canb.auug.org.au

lib/Makefile, vs asm-generic tree:
https://lkml.kernel.org/r/20241029095525.0fba9d23@canb.auug.org.au

drivers/block/zram/zram_drv.c, vs block tree:
https://lkml.kernel.org/r/20241111135241.1640f547@canb.auug.org.au

include/linux/mm.h
include/linux/mm_types.h
kernel/fork.c
tools/testing/vma/vma_internal.h, vs tip tree:
https://lkml.kernel.org/r/20241209132446.77fcb14b@canb.auug.org.au

(hopefully not an issue - both trees were carrying the same patches)

scripts/checkpatch.pl, vs jc_docs tree:
https://lkml.kernel.org/r/20250106095826.140c01cb@canb.auug.org.au

drivers/gpu/drm/i915/display/intel_display_driver.c, vs drm-intel tree:
https://lkml.kernel.org/r/20250106130348.73a5fae6@canb.auug.org.au

arch/powerpc/Kconfig, vs powerpc tree:
https://lkml.kernel.org/r/20250109104611.2491cc3b@canb.auug.org.au



The various patchsets are summarized below.  Plus of course many
indivudual patches which are described in their changelogs.

- "Allocate and free frozen pages" from Matthew Wilcox reorganizes the
  page allocator so we end up with the ability to allocate and free
  zero-refcount pages.  So that callers (ie, slab) can avoid a refcount
  inc & dec.

- "Support large folios for tmpfs" from Baolin Wang teaches tmpfs to use
  large folios other than PMD-sized ones.

- "Fix mm/rodata_test" from Petr Tesarik performs some maintenance and
  fixes for this small built-in kernel selftest.

- "mas_anode_descend() related cleanup" from Wei Yang tidies up part of
  the mapletree code.

- "mm: fix format issues and param types" from Keren Sun implements a
  few minor code cleanups.

- "simplify split calculation" from Wei Yang provides a few fixes and a
  test for the mapletree code.

- "mm/vma: make more mmap logic userland testable" from Lorenzo Stoakes
  continues the work of moving vma-related code into the (relatively) new
  mm/vma.c.

- "mm/page_alloc: gfp flags cleanups for alloc_contig_*()" from David
  Hildenbrand cleans up and rationalizes handling of gfp flags in the page
  allocator.

- "readahead: Reintroduce fix for improper RA window sizing" from Jan
  Kara is a second attempt at fixing a readahead window sizing issue.  It
  should reduce the amount of unnecessary reading.

- "synchronously scan and reclaim empty user PTE pages" from Qi Zheng
  addresses an issue where "huge" amounts of pte pagetables are
  accumulated
  (https://lore.kernel.org/lkml/cover.1718267194.git.zhengqi.arch@bytedance=
.com/).
  Qi's series addresses this windup by synchronously freeing PTE memory
  within the context of madvise(MADV_DONTNEED).

- "selftest/mm: Remove warnings found by adding compiler flags" from
  Muhammad Usama Anjum fixes some build warnings in the selftests code
  when optional compiler warnings are enabled.

- "mm: don't use __GFP_HARDWALL when migrating remote pages" from David
  Hildenbrand tightens the allocator's observance of __GFP_HARDWALL.

- "pkeys kselftests improvements" from Kevin Brodsky implements various
  fixes and cleanups in the MM selftests code, mainly pertaining to the
  pkeys tests.

- "mm/damon: add sample modules" from SeongJae Park enhances DAMON to
  estimate application working set size.

- "memcg/hugetlb: Rework memcg hugetlb charging" from Joshua Hahn
  provides some cleanups to memcg's hugetlb charging logic.

- "mm/swap_cgroup: remove global swap cgroup lock" from Kairui Song
  removes the global swap cgroup lock.  A speedup of 10% for a tmpfs-based
  kernel build was demonstrated.

- "zram: split page type read/write handling" from Sergey Senozhatsky
  has several fixes and cleaups for zram in the area of zram_write_page().
  A watchdog softlockup warning was eliminated.

- "move pagetable_*_dtor() to __tlb_remove_table()" from Kevin Brodsky
  cleans up the pagetable destructor implementations.  A rare
  use-after-free race is fixed.

- "mm/debug: introduce and use VM_WARN_ON_VMG()" from Lorenzo Stoakes
  simplifies and cleans up the debugging code in the VMA merging logic.

- "Account page tables at all levels" from Kevin Brodsky cleans up and
  regularizes the pagetable ctor/dtor handling.  This results in
  improvements in accounting accuracy.

- "mm/damon: replace most damon_callback usages in sysfs with new core
  functions" from SeongJae Park cleans up and generalizes DAMON's sysfs
  file interface logic.

- "mm/damon: enable page level properties based monitoring" from
  SeongJae Park increases the amount of information which is presented in
  response to DAMOS actions.

- "mm/damon: remove DAMON debugfs interface" from SeongJae Park removes
  DAMON's long-deprecated debugfs interfaces.  Thus the migration to sysfs
  is completed.

- "mm/hugetlb: Refactor hugetlb allocation resv accounting" from Peter
  Xu cleans up and generalizes the hugetlb reservation accounting.

- "mm: alloc_pages_bulk: small API refactor" from Luiz Capitulino
  removes a never-used feature of the alloc_pages_bulk() interface.

- "mm/damon: extend DAMOS filters for inclusion" from SeongJae Park
  extends DAMOS filters to support not only exclusion (rejecting), but
  also inclusion (allowing) behavior.

- "Add zpdesc memory descriptor for zswap.zpool" from Alex Shi
  "introduces a new memory descriptor for zswap.zpool that currently
  overlaps with struct page for now.  This is part of the effort to reduce
  the size of struct page and to enable dynamic allocation of memory
  descriptors."

- "mm, swap: rework of swap allocator locks" from Kairui Song redoes and
  simplifies the swap allocator locking.  A speedup of 400% was
  demonstrated for one workload.  As was a 35% reduction for kernel build
  time with swap-on-zram.

- "mm: update mips to use do_mmap(), make mmap_region() internal" from
  Lorenzo Stoakes reworks MIPS's use of mmap_region() so that
  mmap_region() can be made MM-internal.

- "mm/mglru: performance optimizations" from Yu Zhao fixes a few MGLRU
  regressions and otherwise improves MGLRU performance.

- "Docs/mm/damon: add tuning guide and misc updates" from SeongJae Park
  updates DAMON documentation.

- "Cleanup for memfd_create()" from Isaac Manjarres does that thing.

- "mm: hugetlb+THP folio and migration cleanups" from David Hildenbrand
  provides various cleanups in the areas of hugetlb folios, THP folios and
  migration.

- "Uncached buffered IO" from Jens Axboe implements the new
  RWF_DONTCACHE flag which provides synchronous dropbehind for pagecache
  reading and writing.  To permite userspace to address issues with
  massive buildup of useless pagecache when reading/writing fast devices.

- "selftests/mm: virtual_address_range: Reduce memory" from Thomas
  Wei=DFschuh fixes and optimizes some of the MM selftests.

26 Jan 2025: Modules changes for v6.14-rc1 [+ + +]
Modules changes for 6.14-rc1

Several fixes and small improvements are present:

- Sign modules with sha512 instead of sha1 by default

- Don't fail module loading when setting ro_after_init section RO failed

- Constify 'struct module_attribute'

- Cleanups and preparation for const struct bin_attribute

- Put known GPL offenders in an array

- Extend the preempt disabled section in dereference_symbol_descriptor()

This has been all on linux-next for at least 2 weeks with no issues.

A small merge conflict between the changes here and a pull from the
driver-core tree might appear in kernel/module/sysfs.c, function
add_notes_attrs(). The code has been cleaned up here and the driver-core
additionally changes nattr->read to nattr->read_new.

Related to the modules, an important new tool gendwarfksyms to calculate
symbols CRCs from DWARF data and thereby enable the modversion support for
Rust should come through the kbuild tree.

26 Jan 2025: firewire updates for v6.14 [+ + +]
Please merge the firewire updates for the 6.14 kernel.


firewire updates for v6.14

Two changes for the 6.14 kernel.

The first change concerns the PCI driver for 1394 OHCI hardware.
Previously, it used legacy PCI suspend/resume callbacks, which have now
been replaced with callbacks defined in the Linux generic power management
framework. This original patch was posted in 2020 and has been adapted with
some modifications for the latest kernel. Note that the driver still
includes platform-specific operations for PowerPC, and these operations
have not been tested in the new implementation yet. It would be helpful to
share the results of suspending/resuming on the platform.

The rest is a minor fix for the memory allocation in some KUnit tests.

 
25 Jan 2025: kgdb changes for v6.14 [+ + +]
kgdb patches for 6.14

A very small set of changes this kernel cycle. It consists of two cleanups,
one switches to kmap_local_page() (from kmap_atomic() ) and the other
removes a bit of dead code.

Signed-off-by: Daniel Thompson (RISCstar) <danielt@kernel.org>

25 Jan 2025: remoteproc updates for v6.14 [+ + +]
remoteproc updates for v6.14

Correct error path in rproc_alloc(), with regards to put_device() and
freeing of the rproc index ida. The Mediatek SCP remoteproc driver is
returned to only creating child devices from specific DeviceTree nodes.
OMAP remoteproc driver is updated to match the cleanups in the OMAP
iommu driver.

In addition to this, a number of conversions to devres and other small,
mostly stylistic, code cleanups.

25 Jan 2025: rv: tools/rtla: Updates for 6.14 [+ + +]

rv: tools/rtla: Updates for 6.14

- Add a test suite to test the tool

  Add a small test suite that can be used to test rtla's basic features to
  at least have something to test when applying changes.

- Automate manual steps in monitor creation

  While creating a new monitor in RV, besides generating code from dot2k,
  there are a few manual steps which can be tedious and error prone, like
  adding the tracepoints, makefile lines and kconfig, or selecting events
  that start the monitor in the initial state.

  Updates were made to try and automate as much as possible among those steps to
  make creating a new RV monitor much quicker. It is still requires to
  select proper tracepoints, this step is harder to automate in a general
  way and, in several cases, would still need user intervention.

- Have rtla timerlat hist and top set OSNOISE_WORKLOAD flag

  Have both rtla-timerlat-hist and rtla-timerlat-top set OSNOISE_WORKLOAD to
  the proper value ("on" when running with -k, "off" when running with -u)
  every time the option is available instead of setting it only when running
  with -u.

  This prevents rtla timerlat -k from giving no results when
  NO_OSNOISE_WORKLOAD is set, either manually or by an abnormally exited earlier
  run of rtla timerlat -u.

-  Stop rtla timerlat on signal properly when overloaded

  There is an issue where if rtla is run on machines with a high number of
  CPUs (100+), timerlat can generate more samples than rtla is able to process
  via tracefs_iterate_raw_events. This is especially common when the interval
  is set to 100us (rteval and cyclictest default) as opposed to the rtla
  default of 1000us, but also happens with the rtla default.

  Currently, this leads to rtla hanging and having to be terminated with
  SIGTERM. SIGINT setting stop_tracing is not enough, since more and more
  events are coming and tracefs_iterate_raw_events never exits.

  To fix this: Stop the timerlat tracer on SIGINT/SIGALRM to ensure no more
  events are generated when rtla is supposed to exit.

  Also on receiving SIGINT/SIGALRM twice, abort iteration immediately with
  tracefs_iterate_stop, making rtla exit right away instead of waiting for all
  events to be processed.

- Account for missed events

  Due to tracefs buffer overflow, it can happen that rtla misses events,
  making the tracing results inaccurate.

  Count both the number of missed events and the total number of processed
  events, and display missed events as well as their percentage. The numbers
  are displayed for both osnoise and timerlat, even though for the earlier,
  missed events are generally not expected.

  For hist, the number is displayed at the end of the run; for top, it is
  displayed on each printing of the top table.

- Changes to make osnoise more robust

  There was a dependency in the code that the first field of the
  osnoise_tool structure was the trace field. If that that ever changed,
  then the code work break. Change the code to encapsulate this dependency
  where the code that uses the structure does not have this dependency.




trace-tools-v6.14

25 Jan 2025: erofs updates for 6.14-rc1 [+ + +]
Could you consider this pull request for 6.14-rc1?

Still no outstanding feature for this cycle, as some ongoing
improvements remain premature for now.

It includes a micro-optimization for the superblock checksum, along
with minor bugfixes and code cleanups, as usual.

All commits have been in -next for a while and no potential merge
conflict is observed.

Thanks,
Gao Xiang

Changes since last update:

 - Micro-optimize superblock checksum;

 - Avoid overly large bvecs[] for file-backed mounts;

 - Some leftover folio conversion in z_erofs_bind_cache();

 - Minor bugfixes and cleanups.

 
24 Jan 2025: non-MM updates for 6.14-rc1 [+ + +]


Conflicts which I am seeing, along with their linux-next resolutions
are:

drivers/gpu/drm/i915/display/intel_display_driver.c, vs drm-intel tree:
https://lkml.kernel.org/r/20250106130348.73a5fae6@canb.auug.org.au

scripts/checkpatch.pl, vs jc_docs tree:
https://lkml.kernel.org/r/20250106095826.140c01cb@canb.auug.org.au


Forthcoming conflicts include:

kernel/auditsc.c vs security tree:
https://lkml.kernel.org/r/20241014144648.1923104a@canb.auug.org.au

security/lsm_audit.c vs security tree:
https://lkml.kernel.org/r/20241023123139.127ad800@canb.auug.org.au



Mainly individually changelogged singleton patches.  The patch series in
this pull are:

- "lib min_heap: Improve min_heap safety, testing, and documentation"
  from Kuan-Wei Chiu provides various tightenings to the min_heap library
  code.

- "xarray: extract __xa_cmpxchg_raw" from Tamir Duberstein preforms some
  cleanup and Rust preparation in the xarray library code.

- "Update reference to include/asm-<arch>" from Geert Uytterhoeven fixes
  pathnames in some code comments.

- "Converge on using secs_to_jiffies()" from Easwar Hariharan uses the
  new secs_to_jiffies() in various places where that is appropriate.

- "ocfs2, dlmfs: convert to the new mount API" from Eric Sandeen
  switches two filesystems to the new mount API.

- "Convert ocfs2 to use folios" from Matthew Wilcox does that.

- "Remove get_task_comm() and print task comm directly" from Yafang Shao
  removes now-unneeded calls to get_task_comm() in various places.

- "squashfs: reduce memory usage and update docs" from Phillip Lougher
  implements some memory savings in squashfs and performs some
  maintainability work.

- "lib: clarify comparison function requirements" from Kuan-Wei Chiu
  tightens the sort code's behaviour and adds some maintenance work.

- "nilfs2: protect busy buffer heads from being force-cleared" from
  Ryusuke Konishi fixes an issues in nlifs when the fs is presented with a
  corrupted image.

- "nilfs2: fix kernel-doc comments for function return values" from
  Ryusuke Konishi fixes some nilfs kerneldoc.

- "nilfs2: fix issues with rename operations" from Ryusuke Konishi
  addresses some nilfs BUG_ONs which syzbot was able to trigger.

- "minmax.h: Cleanups and minor optimisations" from David Laight
  does some maintenance work on the min/max library code.

- "Fixes and cleanups to xarray" from Kemeng Shi does maintenance work
  on the xarray library code.

 
25 Jan 2025: OpenRISC updates for 6.14 [+ + +]

OpenRISC updates for 6.14

A few updates from me and the community:

 * Added support for restartable sequences
 * Migration to Generic built-in DTB from Masahiro Yamada

 
24 Jan 2025: bitmap patches for v6.14 [+ + +]
Hi Linus,


This includes const_true() series from Vincent Mailhol, another
__always_inline rework from Nathan Chancellor for RISCV, and a
couple random fixes from Dr. David Alan Gilbert and I Hsin Cheng.

Thanks,
Yury

24 Jan 2025: MM updates for 6.14-rc1 [+ + +]
thanks.

Conflicts which I am seeing at this time, along with their linux-next
resolutions are:

include/linux/seqlock.h: trivial kerneldoc fixup

kernel/rcu/tree.c, vs slab tree:
https://lkml.kernel.org/r/20241216152721.15c5864d@canb.auug.org.au



Forthcoming build issues and their linux-next resolutions are:

io_uring/memmap.c, vs block tree:
https://lkml.kernel.org/r/20250110124406.17190e3a@canb.auug.org.au



Forthcoming conflicts are:

kernel/rcu/tree.c, vs rcu tree:
https://lkml.kernel.org/r/20241220133738.1beae531@canb.auug.org.au

arch/arm64/mm/pageattr.c vs arm64 tree:
https://lkml.kernel.org/r/20241024103709.082a6950@canb.auug.org.au

include/linux/mm.h vs arm64 tree:
https://lkml.kernel.org/r/20241028111058.4419a9ed@canb.auug.org.au

arch/s390/include/asm/set_memory.h, arch/s390/mm/pageattr.c vs s390 tree:
https://lkml.kernel.org/r/20241028111606.5c009055@canb.auug.org.au

arch/s390/mm/pageattr.c, vs s390 tree:
https://lkml.kernel.org/r/20241114101639.282d82a8@canb.auug.org.au

lib/Makefile, vs asm-generic tree:
https://lkml.kernel.org/r/20241029095525.0fba9d23@canb.auug.org.au

drivers/block/zram/zram_drv.c, vs block tree:
https://lkml.kernel.org/r/20241111135241.1640f547@canb.auug.org.au

include/linux/mm.h
include/linux/mm_types.h
kernel/fork.c
tools/testing/vma/vma_internal.h, vs tip tree:
https://lkml.kernel.org/r/20241209132446.77fcb14b@canb.auug.org.au

(hopefully not an issue - both trees were carrying the same patches)

scripts/checkpatch.pl, vs jc_docs tree:
https://lkml.kernel.org/r/20250106095826.140c01cb@canb.auug.org.au

drivers/gpu/drm/i915/display/intel_display_driver.c, vs drm-intel tree:
https://lkml.kernel.org/r/20250106130348.73a5fae6@canb.auug.org.au

arch/powerpc/Kconfig, vs powerpc tree:
https://lkml.kernel.org/r/20250109104611.2491cc3b@canb.auug.org.au



The various patchsets are summarized below.  Plus of course many
indivudual patches which are described in their changelogs.

- "Allocate and free frozen pages" from Matthew Wilcox reorganizes the
  page allocator so we end up with the ability to allocate and free
  zero-refcount pages.  So that callers (ie, slab) can avoid a refcount
  inc & dec.

- "Support large folios for tmpfs" from Baolin Wang teaches tmpfs to use
  large folios other than PMD-sized ones.

- "Fix mm/rodata_test" from Petr Tesarik performs some maintenance and
  fixes for this small built-in kernel selftest.

- "mas_anode_descend() related cleanup" from Wei Yang tidies up part of
  the mapletree code.

- "mm: fix format issues and param types" from Keren Sun implements a
  few minor code cleanups.

- "simplify split calculation" from Wei Yang provides a few fixes and a
  test for the mapletree code.

- "mm/vma: make more mmap logic userland testable" from Lorenzo Stoakes
  continues the work of moving vma-related code into the (relatively) new
  mm/vma.c.

- "mm/page_alloc: gfp flags cleanups for alloc_contig_*()" from David
  Hildenbrand cleans up and rationalizes handling of gfp flags in the page
  allocator.

- "readahead: Reintroduce fix for improper RA window sizing" from Jan
  Kara is a second attempt at fixing a readahead window sizing issue.  It
  should reduce the amount of unnecessary reading.

- "synchronously scan and reclaim empty user PTE pages" from Qi Zheng
  addresses an issue where "huge" amounts of pte pagetables are
  accumulated
  (https://lore.kernel.org/lkml/cover.1718267194.git.zhengqi.arch@bytedance=
.com/).
  Qi's series addresses this windup by synchronously freeing PTE memory
  within the context of madvise(MADV_DONTNEED).

- "selftest/mm: Remove warnings found by adding compiler flags" from
  Muhammad Usama Anjum fixes some build warnings in the selftests code
  when optional compiler warnings are enabled.

- "mm: don't use __GFP_HARDWALL when migrating remote pages" from David
  Hildenbrand tightens the allocator's observance of __GFP_HARDWALL.

- "pkeys kselftests improvements" from Kevin Brodsky implements various
  fixes and cleanups in the MM selftests code, mainly pertaining to the
  pkeys tests.

- "mm/damon: add sample modules" from SeongJae Park enhances DAMON to
  estimate application working set size.

- "memcg/hugetlb: Rework memcg hugetlb charging" from Joshua Hahn
  provides some cleanups to memcg's hugetlb charging logic.

- "mm/swap_cgroup: remove global swap cgroup lock" from Kairui Song
  removes the global swap cgroup lock.  A speedup of 10% for a tmpfs-based
  kernel build was demonstrated.

- "zram: split page type read/write handling" from Sergey Senozhatsky
  has several fixes and cleaups for zram in the area of zram_write_page().
  A watchdog softlockup warning was eliminated.

- "move pagetable_*_dtor() to __tlb_remove_table()" from Kevin Brodsky
  cleans up the pagetable destructor implementations.  A rare
  use-after-free race is fixed.

- "mm/debug: introduce and use VM_WARN_ON_VMG()" from Lorenzo Stoakes
  simplifies and cleans up the debugging code in the VMA merging logic.

- "Account page tables at all levels" from Kevin Brodsky cleans up and
  regularizes the pagetable ctor/dtor handling.  This results in
  improvements in accounting accuracy.

- "mm/damon: replace most damon_callback usages in sysfs with new core
  functions" from SeongJae Park cleans up and generalizes DAMON's sysfs
  file interface logic.

- "mm/damon: enable page level properties based monitoring" from
  SeongJae Park increases the amount of information which is presented in
  response to DAMOS actions.

- "mm/damon: remove DAMON debugfs interface" from SeongJae Park removes
  DAMON's long-deprecated debugfs interfaces.  Thus the migration to sysfs
  is completed.

- "mm/hugetlb: Refactor hugetlb allocation resv accounting" from Peter
  Xu cleans up and generalizes the hugetlb reservation accounting.

- "mm: alloc_pages_bulk: small API refactor" from Luiz Capitulino
  removes a never-used feature of the alloc_pages_bulk() interface.

- "mm/damon: extend DAMOS filters for inclusion" from SeongJae Park
  extends DAMOS filters to support not only exclusion (rejecting), but
  also inclusion (allowing) behavior.

- "Add zpdesc memory descriptor for zswap.zpool" from Alex Shi
  "introduces a new memory descriptor for zswap.zpool that currently
  overlaps with struct page for now.  This is part of the effort to reduce
  the size of struct page and to enable dynamic allocation of memory
  descriptors."

- "mm, swap: rework of swap allocator locks" from Kairui Song redoes and
  simplifies the swap allocator locking.  A speedup of 400% was
  demonstrated for one workload.  As was a 35% reduction for kernel build
  time with swap-on-zram.

- "mm: update mips to use do_mmap(), make mmap_region() internal" from
  Lorenzo Stoakes reworks MIPS's use of mmap_region() so that
  mmap_region() can be made MM-internal.

- "mm/mglru: performance optimizations" from Yu Zhao fixes a few MGLRU
  regressions and otherwise improves MGLRU performance.

- "Docs/mm/damon: add tuning guide and misc updates" from SeongJae Park
  updates DAMON documentation.

- "Cleanup for memfd_create()" from Isaac Manjarres does that thing.

- "mm: hugetlb+THP folio and migration cleanups" from David Hildenbrand
  provides various cleanups in the areas of hugetlb folios, THP folios and
  migration.

- "Uncached buffered IO" from Jens Axboe implements the new
  RWF_DONTCACHE flag which provides synchronous dropbehind for pagecache
  reading and writing.  To permite userspace to address issues with
  massive buildup of useless pagecache when reading/writing fast devices.

- "selftests/mm: virtual_address_range: Reduce memory" from Thomas
  Wei=DFschuh fixes and optimizes some of the MM selftests.

24 Jan 2025: Devicetree updates for v6.14 [+ + +]

Rob


Devicetree updates for v6.14:

DT Bindings:
- Add Bindings for QCom QCS615 UFS, QCom IPQ5424 DWC3 USB, NXP imx7d
  MIPI DSI, QCom SM8750 PDC, QCom MSM8976 SRAM, QCom ipq6018 temp
  sensor, QCom QCS8300 Power Domain Controller, QCom QCS615 Power Domain
  Controller, QCom QCS615 APSS, QCom QCS615 qfprom, QCom QCS8300
  remoteproc, Mediatek MT6328 PMIC, Allwinner A100 OPP, and NXP iMX35
  GPT

- Convert Altera socfpga-system, raspberrypi,bcm2835-power to DT
  schema

- Add Siflower vendor prefix

- Cleanup display, interrupt-controller, and UFS binding examples'
  indentation

- Document preferred line wrapping (the same as the rest of the kernel)

DT Core:
- Add warning when of_property_read_bool() is used on non-boolean
  properties

- Restore keeping bootloader DTB when booting with ACPI. Turns out some
  x86 platforms relied on that. Shrug.

- Fix of_find_node_opts_by_path() handling of alias+path+options

- Fix resource bounds checking for empty resources

- A bunch of small fixes/cleanups all over from Zijun Hu

- Cleanups in bin_attribute handling

24 Jan 2025: PCI changes for v6.14 [+ + +]
Enumeration:

  - Batch sizing of multiple BARs while memory decoding is disabled instead
    of disabling/enabling decoding for each BAR individually; this
    optimizes virtualized environments where toggling decoding enable is
    expensive (Alex Williamson)

  - Add host bridge .enable_device() and .disable_device() hooks for
    bridges that need to configure things like Requester ID to StreamID
    mapping when enabling devices (Frank Li)

  - Extend struct pci_ecam_ops with .enable_device() and .disable_device()
    hooks so drivers that use pci_host_common_probe() instead of their own
    .probe() have a way to set the .enable_device() callbacks (Marc
    Zyngier)

  - Drop 'No bus range found' message so we don't complain when DTs don't
    specify the default 'bus-range = <0x00 0xff>' (Bjorn Helgaas)

  - Rename the drivers/pci/of_property.c struct of_pci_range to
    of_pci_range_entry to avoid confusion with the global of_pci_range in
    include/linux/of_address.h (Bjorn Helgaas)

Driver binding:

  - Update resource request API documentation to encourage callers to
    supply a driver name when requesting resources (Philipp Stanner)

  - Export pci_intx_unmanaged() and pcim_intx() (always managed) so callers
    of pci_intx() (which is sometimes managed) can explicitly choose the
    one they need (Philipp Stanner)

  - Convert drivers from pci_intx() to always-managed pcim_intx() or
    never-managed pci_intx_unmanaged(): amd_sfh, ata (ahci, ata_piix,
    pata_rdc, sata_sil24, sata_sis, sata_uli, sata_vsc), bnx2x, bna, ntb,
    qtnfmac, rtsx, tifm_7xx1, vfio, xen-pciback (Philipp Stanner)

  - Remove pci_intx_unmanaged() since pci_intx() is now always unmanaged
    and pcim_intx() is always managed (Philipp Stanner)

Error handling:

  - Unexport pcie_read_tlp_log() to encourage drivers to use PCI core
    logging rather than building their own (Ilpo Järvinen)

  - Move TLP Log handling to its own file (Ilpo Järvinen)

  - Store number of supported End-End TLP Prefixes always so we can read
    the correct number of DWORDs from the TLP Prefix Log (Ilpo Järvinen)

  - Read TLP Prefixes in addition to the Header Log in pcie_read_tlp_log()
    (Ilpo Järvinen)

  - Add pcie_print_tlp_log() to consolidate printing of TLP Header and
    Prefix Log (Ilpo Järvinen)

  - Quirk the Intel Raptor Lake-P PIO log size to accommodate vendor BIOSes
    that don't configure it correctly (Takashi Iwai)

ASPM:

  - Save parent L1 PM Substates config so when we restore it along with an
    endpoint's config, the parent info isn't junk (Jian-Hong Pan)

Power management:

  - Avoid D3 for Root Ports on TUXEDO Sirius Gen1 with old BIOS because the
    system can't wake up from suspend (Werner Sembach)

Endpoint framework:

  - Destroy the EPC device in devm_pci_epc_destroy(), which previously
    didn't call devres_release() (Zijun Hu)

  - Finish virtual EP removal in pci_epf_remove_vepf(), which previously
    caused a subsequent pci_epf_add_vepf() to fail with -EBUSY (Zijun Hu)

  - Write BAR_MASK before iATU registers in pci_epc_set_bar() so we don't
    depend on the BAR_MASK reset value being larger than the requested BAR
    size (Niklas Cassel)

  - Prevent changing BAR size/flags in pci_epc_set_bar() to prevent reads
    from bypassing the iATU if we reduced the BAR size (Niklas Cassel)

  - Verify address alignment when programming iATU so we don't attempt to
    write bits that are read-only because of the BAR size, which could lead
    to directing accesses to the wrong address (Niklas Cassel)

  - Implement artpec6 pci_epc_features so we can rely on all drivers
    supporting it so we can use it in EPC core code (Niklas Cassel)

  - Check for BARs of fixed size to prevent endpoint drivers from trying to
    change their size (Niklas Cassel)

  - Verify that requested BAR size is a power of two when endpoint driver
    sets the BAR (Niklas Cassel)

Endpoint framework tests:

  - Clear pci-epf-test dma_chan_rx, not dma_chan_tx, after freeing
    dma_chan_rx (Mohamed Khalfella)

  - Correct the DMA MEMCPY test so it doesn't fail if the Endpoint supports
    both DMA_PRIVATE and DMA_MEMCPY (Manivannan Sadhasivam)

  - Add pci-epf-test and pci_endpoint_test support for capabilities (Niklas
    Cassel)

  - Add Endpoint test for consecutive BARs (Niklas Cassel)

  - Remove redundant comparison from Endpoint BAR test because a > 1MB BAR
    can always be exactly covered by iterating with a 1MB buffer (Hans
    Zhang)

  - Move and convert PCI Endpoint tests from tools/pci to Kselftests
    (Manivannan Sadhasivam)

Apple PCIe controller driver:

  - Convert StreamID mapping configuration from a bus notifier to the
    .enable_device() and .disable_device() callbacks (Marc Zyngier)

Freescale i.MX6 PCIe controller driver:

  - Add Requester ID to StreamID mapping configuration when enabling
    devices (Frank Li)

  - Use DWC core suspend/resume functions for imx6 (Frank Li)

  - Add suspend/resume support for i.MX8MQ, i.MX8Q, and i.MX95 (Richard
    Zhu)

  - Add DT compatible string 'fsl,imx8q-pcie-ep' and driver support for
    i.MX8Q series (i.MX8QM, i.MX8QXP, and i.MX8DXL) Endpoints (Frank Li)

  - Add DT binding for optional i.MX95 Refclk and driver support to enable
    it if the platform hasn't enabled it (Richard Zhu)

  - Configure PHY based on controller being in Root Complex or Endpoint
    mode (Frank Li)

  - Rely on dbi2 and iATU base addresses from DT via
    dw_pcie_get_resources() instead of hardcoding them (Richard Zhu)

  - Deassert apps_reset in imx_pcie_deassert_core_reset() since it is
    asserted in imx_pcie_assert_core_reset() (Richard Zhu)

  - Add missing reference clock enable or disable logic for IMX6SX, IMX7D,
    IMX8MM (Richard Zhu)

  - Remove redundant imx7d_pcie_init_phy() since
    imx7d_pcie_enable_ref_clk() does the same thing (Richard Zhu)

Freescale Layerscape PCIe controller driver:

  - Simplify by using syscon_regmap_lookup_by_phandle_args() instead of
    syscon_regmap_lookup_by_phandle() followed by
    of_property_read_u32_array() (Krzysztof Kozlowski)

Marvell MVEBU PCIe controller driver:

  - Add MODULE_DEVICE_TABLE() to enable module autoloading (Liao Chen)

MediaTek PCIe Gen3 controller driver:

  - Use clk_bulk_prepare_enable() instead of separate clk_bulk_prepare()
    and clk_bulk_enable() (Lorenzo Bianconi)

  - Rearrange reset assert/deassert so they're both done in the
    *_power_up() callbacks (Lorenzo Bianconi)

  - Document that Airoha EN7581 requires PHY init and power-on before PHY
    reset deassert, unlike other MediaTek Gen3 controllers (Lorenzo
    Bianconi)

  - Move Airoha EN7581 post-reset delay from the en7581 clock .enable()
    method to mtk_pcie_en7581_power_up() (Lorenzo Bianconi)

  - Sleep instead of delay during Airoha EN7581 power-up, since this is a
    non-atomic context (Lorenzo Bianconi)

  - Skip PERST# assertion on Airoha EN7581 during probe and suspend/resume
    to avoid a hardware defect (Lorenzo Bianconi)

  - Enable async probe to reduce system startup time (Douglas Anderson)

Microchip PolarFlare PCIe controller driver:

  - Set up the inbound address translation based on whether the platform
    allows coherent or non-coherent DMA (Daire McNamara)

  - Update DT binding such that platforms are DMA-coherent by default and
    must specify 'dma-noncoherent' if needed (Conor Dooley) 

Mobiveil PCIe controller driver:

  - Convert mobiveil-pcie.txt to YAML and update 'interrupt-names' and
    'reg-names' (Frank Li)

Qualcomm PCIe controller driver:

  - Add DT SM8550 and SM8650 optional 'global' interrupt for link events
    (Neil Armstrong)

  - Add DT 'compatible' strings for IPQ5424 PCIe controller (Manikanta
    Mylavarapu)

  - If 'global' IRQ is supported for detection of Link Up events, tell DWC
    core not to wait for link up (Krishna chaitanya chundru)

Renesas R-Car PCIe controller driver:

  - Avoid passing stack buffer as resource name (King Dix)

Rockchip PCIe controller driver:

  - Simplify clock and reset handling by using bulk interfaces (Anand Moon)

  - Pass typed rockchip_pcie (not void) pointer to
    rockchip_pcie_disable_clocks() (Anand Moon)

  - Return -ENOMEM, not success, when pci_epc_mem_alloc_addr() fails (Dan
    Carpenter)

Rockchip DesignWare PCIe controller driver:

  - Use dll_link_up IRQ to detect Link Up and enumerate devices so users
    don't have to manually rescan (Niklas Cassel)

  - Tell DWC core not to wait for link up since the 'sys' interrupt is
    required and detects Link Up events (Niklas Cassel)

Synopsys DesignWare PCIe controller driver:

  - Don't wait for link up in DWC core if driver can detect Link Up event
    (Krishna chaitanya chundru)

  - Update ICC and OPP votes after Link Up events (Krishna chaitanya
    chundru)

  - Always stop link in dw_pcie_suspend_noirq(), which is required at least
    for i.MX8QM to re-establish link on resume (Richard Zhu)

  - Drop racy and unnecessary LTSSM state check before sending PME_TURN_OFF
    message in dw_pcie_suspend_noirq() (Richard Zhu)

  - Add struct of_pci_range.parent_bus_addr for devices that need their
    immediate parent bus address, not the CPU address, e.g., to program an
    internal Address Translation Unit (iATU) (Frank Li)

TI DRA7xx PCIe controller driver:

  - Simplify by using syscon_regmap_lookup_by_phandle_args() instead of
    syscon_regmap_lookup_by_phandle() followed by
    of_parse_phandle_with_fixed_args() or of_property_read_u32_index()
    (Krzysztof Kozlowski)

Xilinx Versal CPM PCIe controller driver:

  - Add DT binding and driver support for Xilinx Versal CPM5 (Thippeswamy
    Havalige)

MicroSemi Switchtec management driver:

  - Add Microchip PCI100X device IDs (Rakesh Babu Saladi)

Miscellaneous:

  - Move reset related sysfs code from pci.c to pci-sysfs.c where other
    similar code lives (Ilpo Järvinen)

  - Simplify reset_method_store() memory management by using __free()
    instead of explicit kfree() cleanup (Ilpo Järvinen)

  - Constify struct bin_attribute for sysfs, VPD, P2PDMA, and the IBM ACPI
    hotplug driver (Thomas Weißschuh)

  - Remove redundant PCI_VSEC_HDR and PCI_VSEC_HDR_LEN_SHIFT (Dongdong
    Zhang)

  - Correct documentation of the 'config_acs=' kernel parameter (Akihiko
    Odaki)

24 Jan 2025: KVM changes for Linux 6.14 [+ + +]
24 Jan 2025: SoC changes for 6.14 [+ + +]
This is my set of branches for 6.14, a bit delayed.

There are 743 non-merge changeset overall, so it's one of the
smaller cycles for us. The Qualcomm updates make up about
half of the patches and the source lines, after they had
a few quieter releases.

Two new SoC platforms are added, the Blaize BLZP1600 and
the SpacemiT K1, so there is a branch for just those two.

There are also 11 other new SoCs in existing platform,
which are all part of the devicetree updates.

In the dirstat, the aspeed platfrom also sticks out, but
that is just a single devicetree file for a particular
complex machine.

   0.5% Documentation/devicetree/bindings/arm/
   0.6% Documentation/devicetree/bindings/clock/
   0.2% Documentation/devicetree/bindings/interconnect/
   0.3% Documentation/devicetree/bindings/
  13.0% arch/arm/boot/dts/aspeed/
   0.4% arch/arm/boot/dts/broadcom/
   3.0% arch/arm/boot/dts/microchip/
   0.2% arch/arm/boot/dts/nxp/imx/
   0.9% arch/arm/boot/dts/st/
   0.2% arch/arm/boot/dts/
   0.6% arch/arm/
   0.4% arch/arm64/boot/dts/blaize/
   0.2% arch/arm64/boot/dts/broadcom/bcmbca/
   0.4% arch/arm64/boot/dts/broadcom/
   2.1% arch/arm64/boot/dts/exynos/
   3.1% arch/arm64/boot/dts/freescale/
   5.6% arch/arm64/boot/dts/mediatek/
  47.4% arch/arm64/boot/dts/qcom/
   2.7% arch/arm64/boot/dts/renesas/
   9.4% arch/arm64/boot/dts/rockchip/
   0.5% arch/arm64/boot/dts/st/
   1.2% arch/arm64/boot/dts/ti/
   0.2% arch/arm64/boot/dts/
   0.9% arch/riscv/boot/dts/spacemit/
   0.5% drivers/firmware/qcom/
   0.4% drivers/memory/
   0.2% drivers/soc/imx/
   0.2% drivers/soc/qcom/
   0.5% drivers/
   2.0% include/dt-bindings/clock/
   0.2% include/dt-bindings/interconnect/
   0.4% include/

214 people contributed patches, the most active ones by
number of changesets are:

     40 Krzysztof Kozlowski
     29 Frank Wunderlich
     27 Dmitry Baryshkov
     23 Ricky CX Wu
     15 Stephan Gerhold
     15 Konrad Dybcio
     15 Chen-Yu Tsai
     15 Biju Das
     14 Krishna Kurapati
     13 Neil Armstrong
     13 Geert Uytterhoeven
     11 Prashanth K
     10 Claudiu Beznea

      ARnd
24 Jan 2025: media updates [+ + +]

a/v6.14-1

For:

- Sensor driver fixes;
- remove dead TI wl128x FM radio driver;
- Add support for the imx462 sensor at the IMX290 binding
- V4L2 pixel data transmitter and receiver documentation improvements;
- Add support for MIPI Discovery and Configuration for C-PHY line orders;
- imx8-isi fixes and improvements;
- stm32: dcmipp: add core support for the stm32mp25;
- qcom: camss: Add sc7280 support;
- Various fixes and enhancements.
   =20
Regards,
Mauro

---

[GIT PULL for v6.14] media updates

24 Jan 2025: Hyper-V patches for 6.14 [+ + +]
hyperv-next for v6.14
 - Introduce a new set of Hyper-V headers in include/hyperv and replace the
   old hyperv-tlfs.h with the new headers (Nuno Das Neves)
 - Fixes for the Hyper-V VTL mode (Roman Kisel)
 - Fixes for cpu mask usage in Hyper-V code (Michael Kelley)
 - Document the guest VM hibernation behaviour (Michael Kelley)
 - Miscellaneous fixes and cleanups (Jacob Pan, John Starks, Naman Jain)
 
23 Jan 2025: Mailbox changes for v6.14 [+ + +]
samsung: add gs101-mbox driver
microchip: add sbi-ipc driver
zynqmp: fix invalid __percpu annotation
qcom: add IPQ5424 APCS compatible
mpfs fix copy and paste bug
th1520: Fix NULL vs IS_ERR() and a memory corruption bug
tegra-hsp: clear mailbox before using message

23 Jan 2025: I3C changes for 6.14 [+ + +]
Here is the i3c subsystem pull request for 6.14. The main change is the
addition of PCI bus support for mipi-i3c-hci. I'm also carrying an hwmon
patch as it makes use of the bitops addition that is then mainly used by
i3c drivers.

I3C for 6.14

Core:
 - Improve initialization of numbered I2C adapters

Drivers:
 - use parity8 helper
 - dw: fix possible use-after-free
 - mipi-i3c-hci: add support for PCI bus host
 - svc: many fixes for IBI and hotjoin

23 Jan 2025: auxdisplay for 6.14-1 [+ + +]
A quite tiny PR for auxdisplay subsystem, contents were in Linux Next for many
weeks without reported issues. Please, pull for v6.14-rc1.

Thanks,

With Best Regards,
Andy Shevchenko

auxdisplay for v6.14-1

* A couple of cleanups to img-ascii-lcd driver

The following is an automated git shortlog grouped by driver:

img-ascii-lcd:
 -  Constify struct img_ascii_lcd_config
 -  Remove an unused field in struct img_ascii_lcd_ctx

23 Jan 2025: pmdomain/cpuidle-psci updates for v6.14 [+ + +]
Here's the pull-request with the pmdomain and cpuidle-psci updates for v6.14.
Details about the highlights are as usual found in the signed tag.


Kind regards
Ulf Hansson


pmdomain core:
 - Add support for naming idlestates through DT

pmdomain providers:
 - arm: Explicitly request the current state at init for the SCMI PM domain
 - mediatek: Add Airoha CPU PM Domain support for CPU frequency scaling
 - ti: Add per-device latency constraint management to the ti_sci PM domain

cpuidle-psci:
 - Enable system-wakeup through GENPD_FLAG_ACTIVE_WAKEUP

23 Jan 2025: platform-drivers-x86 for v6.14-1 [+ + +]
Here is the main PDx86 PR for v6.14. Instead of basing on -rc1 I usually do,
I merged the few symbol import NS and .remove_new changes in early to avoid
running afoul with them during the cycle (I hopefully managed to exclude
their visibility from this PR).

There are a few cross-subsystem changes, many for ACPI/platform_profile due
major refactoring, a few input and HID changes that support pdx86 driver
changes, and move of SMO88xx quirk code from i2c to pdx86.

The SMO88xx i2c->pdx86 move change

  cc0809b752c7 ("platform/x86: dell-smo8800: Move instantiation of
                lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d")

is expected to trigger a conflict with the simple ID addition in the
commit

  fd4e93083129 ("i2c: i801: Add lis3lv02d for Dell Precision M6800").


Highlights:

 - acer-wmi:

- Add support for PH14-51, PH16-72, and Nitro AN515-58

- Add proper hwmon support

- Improve error handling when reading "gaming system info"

- Replace direct EC reads for the current platform profile
  with WMI calls to handle EC address variations

- Replace custom platform_profile cycling with the generic one

 - ACPI: platform_profile: Major refactoring and improvements

- Support registering multiple platform_profile handlers
  concurrently to avoid the need to quirk which handler takes
  precedence

- Support reporting "custom" profile for cases where the current
  profile is ambiguous or when settings tweaks are done outside
  the pre-defined profile

- Abstract and layer platform_profile API better using the
  class_dev and drvdata

- Various minor improvements

- Add Documentation and kerneldoc

 - amd/hsmp: Add support for HSMP protocol v7

 - amd/pmc:

- Support AMD 1Ah family 70h

- Support STB with Ryzen desktop SoCs

 - amd/pmf:

- Support Custom BIOS inputs for PMF TA

- Support passing SRA sensor data from AMD SFH (HID) to PMF TA

 - dell-smo8800:

- Move SMO88xx quirk away from the generic i2c-i801 driver

- Add accelerometer support for Dell Latitude E6330/E6430 and
  XPS 9550

- Support probing accelerometer for models yet to be listed in
  the DMI mapping table because ACPI lacks i2c-address for the
  accelerometer (behind a module parameter because probing might
  be dangerous)

 - HID: amd_sfh: Add support for exporting SRA sensor data

 - hp-wmi: Add fan and thermal support for Victus 16-s1000

 - input: Add key for phone linking

 - input: i8042: Add context for the i8042 filter to enable cleaning up
   the filter related global variables from pdx86 drivers

 - lenovo-wmi-camera: Use SW_CAMERA_LENS_COVER instead of
   KEY_CAMERA_ACCESS

 - mellanox: mlxbf-pmc:

- Add support for monitoring cycle count

- Add Documentation

 - thinkpad_acpi: Add support for phone link key

 - tools/power/x86/intel-speed-select: Fix Turbo Ratio Limit restore

 - x86-android-tables: Add support for Vexia EDU ATLA 10 Bluetooth and
   EC battery driver

 - Miscellaneous cleanups / refactoring / improvements


Regards, i.



platform-drivers-x86 for v6.14-1

Highlights:

 - acer-wmi:

- Add support for PH14-51, PH16-72, and Nitro AN515-58

- Add proper hwmon support

- Improve error handling when reading "gaming system info"

- Replace direct EC reads for the current platform profile
  with WMI calls to handle EC address variations

- Replace custom platform_profile cycling with the generic one

 - ACPI: platform_profile: Major refactoring and improvements

- Support registering multiple platform_profile handlers
  concurrently to avoid the need to quirk which handler takes
  precedence

- Support reporting "custom" profile for cases where the current
  profile is ambiguous or when settings tweaks are done outside
  the pre-defined profile

- Abstract and layer platform_profile API better using the
  class_dev and drvdata

- Various minor improvements

- Add Documentation and kerneldoc

 - amd/hsmp: Add support for HSMP protocol v7

 - amd/pmc:

- Support AMD 1Ah family 70h

- Support STB with Ryzen desktop SoCs

 - amd/pmf:

- Support Custom BIOS inputs for PMF TA

- Support passing SRA sensor data from AMD SFH (HID) to PMF TA

 - dell-smo8800:

- Move SMO88xx quirk away from the generic i2c-i801 driver

- Add accelerometer support for Dell Latitude E6330/E6430 and
  XPS 9550

- Support probing accelerometer for models yet to be listed in
  the DMI mapping table because ACPI lacks i2c-address for the
  accelerometer (behind a module parameter because probing might
  be dangerous)

 - HID: amd_sfh: Add support for exporting SRA sensor data

 - hp-wmi: Add fan and thermal support for Victus 16-s1000

 - input: Add key for phone linking

 - input: i8042: Add context for the i8042 filter to enable cleaning up
   the filter related global variables from pdx86 drivers

 - lenovo-wmi-camera: Use SW_CAMERA_LENS_COVER instead of
   KEY_CAMERA_ACCESS

 - mellanox: mlxbf-pmc:

- Add support for monitoring cycle count

- Add Documentation

 - thinkpad_acpi: Add support for phone link key

 - tools/power/x86/intel-speed-select: Fix Turbo Ratio Limit restore

 - x86-android-tables: Add support for Vexia EDU ATLA 10 Bluetooth and
   EC battery driver

 - Miscellaneous cleanups / refactoring / improvements

The following is an automated shortlog grouped by driver:

acer-wmi:
 -  add support for Acer Nitro AN515-58
 -  Add support for Acer PH14-51
 -  Add support for Acer Predator PH16-72
 -  Fix initialization of last_non_turbo_profile
 -  Ignore AC events
 -  Implement proper hwmon support
 -  Improve error handling when reading gaming system information
 -  Rename ACER_CAP_FAN_SPEED_READ
 -  simplify platform profile cycling
 -  use an ACPI bitmap to set the platform profile choices
 -  Use devm_platform_profile_register()
 -  use new helper function for setting overclocks
 -  use WMI calls for platform profile handling

ACPI: platform-profile:
 -  Add a name member to handlers

ACPI: platform_profile:
 -  Add a prefix to log messages
 -  Add choices attribute for class interface
 -  Add concept of a "custom" profile
 -  Add device pointer into platform profile handler
 -  Add devm_platform_profile_register()
 -  Add documentation
 -  Add name attribute to class interface
 -  Add `ops` member to handlers
 -  Add platform handler argument to platform_profile_remove()
 -  Add `probe` to platform_profile_ops
 -  Add profile attribute for class interface
 -  Allow multiple handlers
 -  Check all profile handler to calculate next
 -  Clean platform_profile_handler
 -  Create class for ACPI platform profile
 -  Let drivers set drvdata to the class device
 -  Make sure all profile handlers agree on profile
 -  Move matching string for new profile out of mutex
 -  Move platform_profile_handler
 -  Move sanity check out of the mutex
 -  Notify change events on register and unregister
 -  Notify class device from platform_profile_notify()
 -  Only show profiles common for all handlers
 -  Pass the profile handler into platform_profile_notify()
 -  Remove platform_profile_handler from callbacks
 -  Remove platform_profile_handler from exported symbols
 -  Replace *class_dev member with class_dev
 -  Use guard(mutex) for register/unregister
 -  Use `scoped_cond_guard`

alienware_wmi:
 -  General cleanup of WMAX methods

alienware-wmi:
 -  Improve hdmi_mux, amplifier and deepslp group creation
 -  Improve rgb-zones group creation
 -  Modify parse_rgb() signature
 -  Move Lighting Control State
 -  Remove unnecessary check at module exit
 -  Use devm_platform_profile_register()

amd/hsmp:
 -  Add support for HSMP protocol version 7 messages
 -  Constify 'struct bin_attribute'

amd/pmc:
 -  Add STB support for AMD Desktop variants
 -  Define enum for S2D/PMC msg_port and add helper function
 -  Isolate STB code changes to a new file
 -  Move STB block into amd_pmc_s2d_init()
 -  Move STB functionality to a new file for better code organization
 -  Update function names to align with new STB file
 -  Update IP information structure for newer SoCs
 -  Update S2D message id for 1Ah Family 70h model
 -  Use ARRAY_SIZE() to fill num_ips information

amd: pmc:
 -  Use guard(mutex)

amd: pmf:
 -  Drop all quirks

amd/pmf:
 -  Enable Custom BIOS Inputs for PMF-TA
 -  Get SRA sensor data from AMD SFH driver

amd: pmf: sps:
 -  Use devm_platform_profile_register()

amd: pmf:
 -  Switch to guard(mutex)

asus-wmi:
 -  Use devm_platform_profile_register()

dell: dcdbas:
 -  Constify 'struct bin_attribute'

dell: dell-pc:
 -  Create platform device

dell-pc:
 -  Use devm_platform_profile_register()

dell_rbu:
 -  Constify 'struct bin_attribute'

dell-smo8800:
 -  Add a couple more models to lis3lv02d_devices[]
 -  Add support for probing for the accelerometer i2c address
 -  Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d
 -  Move SMO88xx acpi_device_ids to dell-smo8800-ids.h

dell-sysman:
 -  Directly use firmware_attributes_class

dell-uart-backlight:
 -  Use blacklight power constant

docs: platform/x86: wmi:
 -  mention tool for invoking WMI methods

Documentation/ABI:
 -  Add document for Mellanox PMC driver
 -  Add new sysfs field to sysfs-platform-mellanox-pmc

Documentation:
 -  Add documentation about class interface for platform profiles

firmware_attributes_class:
 -  Drop lifecycle functions
 -  Move include linux/device/class.h
 -  Simplify API

fujitsu-laptop:
 -  replace strcpy -> strscpy

HID: amd_sfh:
 -  Add support to export device operating states

hp-bioscfg:
 -  Directly use firmware_attributes_class

hp-wmi:
 -  Add fan and thermal profile support for Victus 16-s1000
 -  Use devm_platform_profile_register()

ideapad-laptop:
 -  Use devm_platform_profile_register()

Input:
 -  allocate keycode for phone linking
 -  i8042 - Add support for platform filter contexts

inspur_platform_profile:
 -  Use devm_platform_profile_register()

int3472:
 -  Check for adev == NULL
 -  Debug log the sensor name
 -  Fix skl_int3472_handle_gpio_resources() return value
 -  Make "pin number mismatch" message a debug message

intel: bytcrc_pwrsrc:
 -  fix power_supply dependency
 -  Optionally register a power_supply dev

intel: int0002_vgpio:
 -  Make the irqchip immutable

intel/pmt:
 -  Constify 'struct bin_attribute'

intel: punit_ipc:
 -  Remove unused function

intel/sdsi:
 -  Constify 'struct bin_attribute'

intel/tpmi/plr:
 -  Make char[] longer to silence warning

lenovo-wmi-camera:
 -  Use SW_CAMERA_LENS_COVER instead of KEY_CAMERA_ACESS

MAINTAINERS:
 -  Change AMD PMC driver status to "Supported"

mlxbf-bootctl:
 -  Constify 'struct bin_attribute'
 -  use sysfs_emit() instead of sprintf()

mlxbf-pmc:
 -  Add support for clock_measure performance block
 -  Add support for monitoring cycle count
 -  incorrect type in assignment

mlxreg-hotplug:
 -  use sysfs_emit() instead of sprintf()

mlxreg-io:
 -  use sysfs_emit() instead of sprintf()

quickstart:
 -  don't include 'pm_wakeup.h' directly

serdev_helpers:
 -  Add get_serdev_controller_from_parent() helper
 -  Check for serial_ctrl_uid == NULL

surface: surface_platform_profile:
 -  Use devm_platform_profile_register()

think-lmi:
 -  Directly use firmware_attributes_class

thinkpad_acpi:
 -  Add support for new phone link hotkey

thinkpad-acpi:
 -  replace strcpy with strscpy

thinkpad_acpi:
 -  Use devm_platform_profile_register()

tools/power/x86/intel-speed-select:
 -  Fix TRL restore after SST-TF disable
 -  v1.21 release

wmi-bmof:
 -  Make use of .bin_size() callback

x86-android-tablets:
 -  Add Bluetooth support for Vexia EDU ATLA 10
 -  Add missing __init to get_i2c_adap_by_*()
 -  Add support for getting serdev-controller by PCI parent
 -  Add Vexia EDU ATLA 10 EC battery driver
 -  Change x86_instantiate_serdev() prototype
 -  make platform data be static
 -  Make variables only used locally static
 -  Store serdev-controller ACPI HID + UID in a union

Merges:
 -  Merge branch 'fixes' into 'for-next'
 -  Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into review-ilpo-next
 -  Merge branch 'platform-drivers-x86-platform-profile' into for-next
 -  Merge branch 'platform-drivers-x86-platform-profile' into for-next

23 Jan 2025: sound updates for 6.14-rc1 [+ + +]
please pull sound updates for v6.14-rc1 from:


The topmost commit is 6aa96f780204bfdac225eb4c8f51f86c38cc1a26


sound updates for 6.14-rc1

This was a relatively calm cycle, and most of changes are rather small
device-specific fixes.  Here are highlights:

* Core:
- Further enhancements of ALSA rawmidi and sequencer APIs for MIDI 2.0
- compress-offload API extensions for ASRC support

* ASoC:
- Allow clocking on each DAI in an audio graph card to be configured
  separately
- Improved power management for Renesas RZ-SSI
- KUnit testing for the Cirrus DSP framework
- Memory to meory operation support for Freescale/NXP platforms
- Support for pause operations in SOF
- Support for Allwinner suinv F1C100s, Awinc AW88083, Realtek
  ALC5682I-VE

* HD- and USB-audio:
- Add support for Focusrite Scarlett 4th Gen 16i16, 18i16, and 18i20
  interfaces via new FCP driver
- TAS2781 SPI HD-audio sub-codec support
- Various device-specific quirks as usual


23 Jan 2025: pin control changes for v6.14 [+ + +]
here is the bulk of pin control changes for the v6.14 kernel cycle.

There is nothing special this time at all. Just new drivers, gradual
improvements. Some fixes.

Details in the signed tag.


Yours,
Linus Walleij

Pin control changes for the v6.14 kernel cycle:

No core changes this time

New drivers:

- New subdriver for the Qualcomm MSM8917 SoC TLMM

- New subdriver for the Mediatek MT7988 SoC

- New subdriver for the Rockchip RK3562 SoC

- New subdriver for the Renesas RZ/G3E SoC

Improvements:

- Fix some missing pins in the Qualcomm IPQ5424 TLMM

- Fix some missing LVDS pins in the Sunxi A100/A133

- Support Sunxi V853 (simple compatible string)

- Cleanups in the Samsung driver

- Fix some AMD suspend behaviour

- Cleanups

23 Jan 2025: tomoyo update for v6.14 [+ + +]
Small changes for improving usability.

 
22 Jan 2025: Landlock updates for v6.14 [+ + +]
This PR mostly factors out some Landlock code and prepares for upcoming audit
support.  Because weird files might be visible after filesystem corruption,
Landlock now properly handles weird files too.  A few sample and test issues
are also fixed.

your master branch.  The kernel code has been tested in the latest linux-next
releases for a few weeks and rebased to update commit messages.

Test coverage for security/landlock is 93.4% of 1124 lines according to
gcc/gcov-14, and it was 92.7% of 1118 lines before this PR.

Regards,
 Mickaël

--
Landlock updates for v6.14-rc1

22 Jan 2025: tracing: Updates for v6.14 [+ + +]

tracing updates for v6.14:

- Cleanup with guard() and free() helpers

  There were several places in the code that had a lot of "goto out" in the
  error paths to either unlock a lock or free some memory that was
  allocated. But this is error prone. Convert the code over to use the
  guard() and free() helpers that let the compiler unlock locks or free
  memory when the function exits.

- Update the Rust tracepoint code to use the C code too

  There was some duplication of the tracepoint code for Rust that did the
  same logic as the C code. Add a helper that makes it possible for both
  algorithms to use the same logic in one place.

- Add poll to trace event hist files

  It is useful to know when an event is triggered, or even with some
  filtering. Since hist files of events get updated when active and the
  event is triggered, allow applications to poll the hist file and wake up
  when an event is triggered. This will let the application know that the
  event it is waiting for happened.

- Add :mod: command to enable events for current or future modules

  The function tracer already has a way to enable functions to be traced in
  modules by writing ":mod:<module>" into set_ftrace_filter. That will
  enable either all the functions for the module if it is loaded, or if it
  is not, it will cache that command, and when the module is loaded that
  matches <module>, its functions will be enabled. This also allows init
  functions to be traced. But currently events do not have that feature.

  Add the command where if ':mod:<module>' is written into set_event, then
  either all the modules events are enabled if it is loaded, or cache it so
  that the module's events are enabled when it is loaded. This also works
  from the kernel command line, where "trace_event=:mod:<module>", when the
  module is loaded at boot up, its events will be enabled then.

Changes since v2: https://lore.kernel.org/all/20250121101551.2ad87b73@gandalf.local.home/

- Fixed allocation of iter using sizeof(iter) instead of sizeof(*iter).

- Fixed output of one of the :mod: lines that was missing a newline

Changes since v1: https://lore.kernel.org/all/20250119192902.576eda90@gandalf.local.home/

- Fixed the "#if CONFIG_MODULES" to be "#ifdef CONFIG_MODULES"

- Renamed static function update_cache() to update_mod_cache() as riscv had
  a header with the update_cache() function in it, and it would conflict
  with the prototypes.




trace-v6.14-3

22 Jan 2025: IOMMU Updates for Linux v6.14 [+ + +]

Hi Linus,

IOMMU Updates for Linux v6.14

Including:

- Core changes:
  - PASID support for the blocked_domain.

- ARM-SMMU Updates:
  - SMMUv2:
    * Implement per-client prefetcher configuration on Qualcomm SoCs.
    * Support for the Adreno SMMU on Qualcomm's SDM670 SOC.
  - SMMUv3:
    * Pretty-printing of event records.
    * Drop the ->domain_alloc_paging implementation in favour of
      ->domain_alloc_paging_flags(flags=3D=3D0).
  - IO-PGTable:
    * Generalisation of the page-table walker to enable external walkers
      (e.g. for debugging unexpected page-faults from the GPU).
    * Minor fix for handling concatenated PGDs at stage-2 with 16KiB pages.
  - Misc:
    * Clean-up device probing and replace the crufty probe-deferral hack
      with a more robust implementation of arm_smmu_get_by_fwnode().
    * Device-tree binding updates for a bunch of Qualcomm platforms.

- Intel VT-d Updates:
  - Remove domain_alloc_paging().
  - Remove capability audit code.
  - Draining PRQ in sva unbind path when FPD bit set.
  - Link cache tags of same iommu unit together.

- AMD-Vi Updates:
  - Use CMPXCHG128 to update DTE.
  - Cleanups of the domain_alloc_paging() path.

- RiscV IOMMU:
  - Platform MSI support.
  - Shutdown support.

- Rockchip IOMMU:
  - Add DT bindings for Rockchip RK3576.

- More smaller fixes and cleanups.

 
21 Jan 2025: x86/tdx for 6.14-rc1 [+ + +]

The existing TDX code needs a _bit_ of metadata from the TDX module.
But KVM is going to need a bunch more very shortly. Rework the
interface with the TDX module to be more consistent and handle the
new higher volume.

The TDX module has added a few new features. The first is a promise
not to clobber RBP under any circumstances. Basically the kernel now
will refuse to use any modules that don't have this promise. Second,
enable the new "REDUCE_VE" feature. This ensures that the TDX module
will not send some silly virtualization exceptions that the guest had
no good way to handle anyway.

--

 * Centralize global metadata infrastructure
 * Use new TDX module features for exception suppression and RBP
   clobbering

21 Jan 2025: ktest.pl: Updates for 6.14 [+ + +]

ktest updates for v6.14:

- Fix use of KERNEL_VERSION in newly created output directory

  If a new output directory is created (O=/dir), and one of the options uses
  KERNEL_VERSION which will run a "make kernelversion" in the output
  directory, it will fail because there is no config file yet. In this case,
  have it do a "make allnoconfig" which is the minimal needed to run the
  "make kernelversion".

- Remove unused variables

- Fix some typos




ktest-6.14

21 Jan 2025: perf-tools for v6.14 [+ + +]
Please consider pulling the following changes in perf tools for v6.14.

Thanks,
Namhyung


perf-tools changes for v6.14

There are a lot of changes in the perf tools in this cycle.

build
-----
* Use generic syscall table to generate syscall numbers on supported archs.
* This also enables to get rid of libaudit which was used for syscall numbers.
* Remove python2 support as it's deprecated for years.
* Fix issues on static build with libzstd.

perf record
21 Jan 2025: Smack patches for 6.14 [+ + +]
Here is the Smack pull request for v6.14.

There is one patch. It removes a small code duplication.

One minor code improvement for v6.14

21 Jan 2025: nolibc next update for Linux 6.14-rc1 [+ + +]
Hi Linus,


- adds support for waitid()
- uses waitid() over waitpid()
- uses a pipe to in vfprintf tests
- skips tests for unimplemented syscalls
- renames riscv to riscv64
- adds configurations for riscv32
- adds detecting missing toolchain to run-tests.sh

diff is attached.

thanks,
-- Shuah

linux_kselftest-nolibc-6.14-rc1

- adds support for waitid()
- uses waitid() over waitpid()
- uses a pipe to in vfprintf tests
- skips tests for unimplemented syscalls
- renames riscv to riscv64
- adds configurations for riscv32
- adds detecting missing toolchain to run-tests.sh

21 Jan 2025: Input updates for v6.14-rc0 [+ + +]


to receive updates for the input subsystem. You will get:

- more conversions to the guard notation in the input core

- a fix for NXP BBNSM power key driver to clean up wake IRQ after
  unbinding

- several new vendor/device ID pairs added to xpad game controller
  driver

- several drivers switched to using str_enable_disable and similar
  helpers instead of open-coding

- add mapping for F23 to atkbd driver so that MS "Copilot" key shortcut
  works out of the box (if userspace is ready to handle it)

- evbug input handler has been removed (debugging through evdev is
  strongly preferred to dumping all events into the kernel log).

Changelog:
---------

21 Jan 2025: scripts/sorttable: Updates for 6.14 [+ + +]


Updates to scripts/sorttable for 6.14:

The sorttable.c was a copy from recordmcount.c which is very hard to
maintain. That's because it uses macro helpers and places the code in a
header file sorttable.h to handle both the 64 bit and 32 bit version of
the Elf structures. It also uses _r()/r()/r2() wrappers around accessing
the data which will read the 64 bit or 32 bit version of the data as well
as handle endianess. If the wrong wrapper is used, an invalid value will
result, and this has been a cause for bugs in the past. In fact the new
ORC code doesn't even use it. That's fine because ORC is only for 64 bit
x86 which is the default parsing.

Instead of having a bunch of macros defined and then include the code
twice from a header, the Elf structures are each wrapped in a union.  The
union holds the 64 bit and 32 bit version of the needed structure. Then
a structure of function pointers is used, along with helper macros
to access the ELF types appropriately for their byte size and endianess.
How to reference the data fields is moved from the code that implements
the sorting to the helper functions where all accesses to a field will
use he same helper function. As long as the helper functions access
the fields correctly, the code will also access the fields. This is
an improvement over having to code implementing the sorting having to
make sure it always uses the right accessor function when reading an
ELF field.

This is a clean up only, the functionality of the scripts/sorttable.c
does not change.




trace-sorttable-v6.14

21 Jan 2025: kunit next update for Linux 6.14-rc1 [+ + +]
Hi Linus,


- fixes struct completion warning
- introduces autorun option
- adds fallback for os.sched_getaffinity
- enables hardware acceleration when available

Note:

Stephen reported duplicate patch in kunit and driver-core:

The following commit is also in the driver-core tree as a different commit
(but the same patch):

   875aec2357cd ("kunit: platform: Resolve 'struct completion' warning")

This is commit

   7687c66c18c6 ("kunit: platform: Resolve 'struct completion' warning")

in the driver-core tree.

diff is attached.

thanks,
-- Shuah

linux_kselftest-kunit-6.14-rc1

- fixes struct completion warning
- introduces autorun option
- adds fallback for os.sched_getaffinity
- enables hardware acceleration when available

21 Jan 2025: kselftest next update for Linux 6.14-rc1 [+ + +]
Hi Linus,


- fixes, reporting improvements, and cleanup changes to several tests
- adds support for DT_GNU_HASH to selftests/vDSO

Note:

Stephen reported conflict between the following two commits and the fix is
in the linux-next:

   912d6f669725 ("selftests/net: packetdrill: report benign debug flakes as xfail")

from the net-next tree and commit:

   279e9403c5bd ("selftests: Warn about skipped tests in result summary")

from the kselftest tree.

diff is attached.

thanks,
-- Shuah

linux_kselftest-next-6.14-rc1

- fixes, reporting improvements, and cleanup changes to several tests
- adds support for DT_GNU_HASH to selftests/vDSO

21 Jan 2025: sched_ext: Changes for v6.14 [+ + +]
sched_ext: Changes for v6.14

- scx_bpf_now() added so that BPF scheduler can access the cached timestamp
  in struct rq to avoid reading TSC multiple times within a locked
  scheduling operation.

- Minor updates to the built-in idle CPU selection logic.

- tool/sched_ext updates and other misc changes.

Pulling sched_ext/for-6.14 into master causes a merge conflict between the
following two commits (first commit in master, second in for-6.14):

  a2a3374c47c4 sched_ext: idle: Refresh idle masks during idle-to-idle transitions
  9cf9aceed21e sched_ext: idle: use assign_cpu() to update the idle cpumask

  static void update_builtin_idle(int cpu, bool idle)
  {
  <<<<<<< HEAD
          if (idle)
                  cpumask_set_cpu(cpu, idle_masks.cpu);
          else
                  cpumask_clear_cpu(cpu, idle_masks.cpu);
  =======
          int cpu = cpu_of(rq);

          if (SCX_HAS_OP(update_idle) && !scx_rq_bypassing(rq)) {
                  SCX_CALL_OP(SCX_KF_REST, update_idle, cpu_of(rq), idle);
                  if (!static_branch_unlikely(&scx_builtin_idle_enabled))
                          return;
          }

          assign_cpu(cpu, idle_masks.cpu, idle);
  >>>>>>> 987ce79b5242c048acae3a0c1feaae0a353d5cde

The first commit factored out update_builtin_idle() and the second replaced
cpumask_set/clear_cpu() calls with assign_cpu(). The conflict can be
resolved by taking the code from the first and then replacing the
cpumask_set/clear_cpu() calls with assign_cpu():

  static void update_builtin_idle(int cpu, bool idle)
  {
          assign_cpu(cpu, idle_masks.cpu, idle);

21 Jan 2025: x86/misc for v6.14-rc1 [+ + +]
please pull the x86/misc lineup for v6.14-rc1.

Thx.

You might encounter a trivial merge conflict in arch/x86/include/asm/amd_nb.h.

The final result should be this:

------------------------ arch/x86/include/asm/amd_nb.h ------------------------
index d0caac26533f..b48dc6975da2 100644
@@ -4,7 +4,7 @@
 
 #include <linux/ioport.h>
 #include <linux/pci.h>
-#include <linux/refcount.h>
+#include <asm/amd_node.h>
 
 struct amd_nb_bus_dev_range {
 u8 bus;

---

---

- The first part of a restructuring of AMD's representation of a northbridge
  which is legacy now, and the creation of the new AMD node concept which
  represents the Zen architecture of having a collection of I/O devices within
  an SoC. Those nodes comprise the so-called data fabric on Zen. This has
  at least one practical advantage of not having to add a PCI ID each time
  a new data fabric PCI device releases. Eventually, the lot more uniform
  provider of data fabric functionality amd_node.c will be used by all the
  drivers which need it

- Smaller cleanups

21 Jan 2025: tracing: Updates for v6.14 [+ + +]

tracing updates for v6.14:

- Cleanup with guard() and free() helpers

  There were several places in the code that had a lot of "goto out" in the
  error paths to either unlock a lock or free some memory that was
  allocated. But this is error prone. Convert the code over to use the
  guard() and free() helpers that let the compiler unlock locks or free
  memory when the function exits.

- Update the Rust tracepoint code to use the C code too

  There was some duplication of the tracepoint code for Rust that did the
  same logic as the C code. Add a helper that makes it possible for both
  algorithms to use the same logic in one place.

- Add poll to trace event hist files

  It is useful to know when an event is triggered, or even with some
  filtering. Since hist files of events get updated when active and the
  event is triggered, allow applications to poll the hist file and wake up
  when an event is triggered. This will let the application know that the
  event it is waiting for happened.

- Add :mod: command to enable events for current or future modules

  The function tracer already has a way to enable functions to be traced in
  modules by writing ":mod:<module>" into set_ftrace_filter. That will
  enable either all the functions for the module if it is loaded, or if it
  is not, it will cache that command, and when the module is loaded that
  matches <module>, its functions will be enabled. This also allows init
  functions to be traced. But currently events do not have that feature.

  Add the command where if ':mod:<module>' is written into set_event, then
  either all the modules events are enabled if it is loaded, or cache it so
  that the module's events are enabled when it is loaded. This also works
  from the kernel command line, where "trace_event=:mod:<module>", when the
  module is loaded at boot up, its events will be enabled then.

Changes since v1: https://lore.kernel.org/all/20250119192902.576eda90@gandalf.local.home/

- Fixed the "#if CONFIG_MODULES" to be "#ifdef CONFIG_MODULES"

- Renamed static function update_cache() to update_mod_cache() as riscv had
  a header with the update_cache() function in it, and it would conflict
  with the prototypes.



trace-v6.14-2

 
22 Jan 2025: probes: Updates for v6.14 [+ + +]
Probes updates for v6.14:

- kprobes: Cleanups using guard() and __free(): Use cleanup.h macros
  to cleanup code and remove all gotos from kprobes code. This work
  includes below changes.
  . kprobes: Adopt guard() and scoped_guard()
  . jump_label: Define guard() for jump_label_lock
  . kprobes: Use guard() for external locks
  . kprobes: Use guard for rcu_read_lock
  . kprobes: Remove unneeded goto
  . kprobes: Remove remaining gotos

- tracing/probes: Also cleanups tracing/*probe events code with guard()
  and __free(). These patches are just to simplify the parser codes.
  This work includes below changes.
  . tracing/kprobe: Adopt guard() and scoped_guard()
  . tracing/uprobe: Adopt guard() and scoped_guard()
  . tracing/eprobe: Adopt guard() and scoped_guard()
  . tracing: Use __free() in trace_probe for cleanup
  . tracing: Use __free() for kprobe events to cleanup
  . tracing/kprobes: Simplify __trace_kprobe_create() by removing gotos

- kprobes: Reduce preempt disable scope in check_kprobe_access_safe()
  This reduces preempt disable time only when getting the module
  refcount in check_kprobe_access_safe(). Previously it disabled
  preempt needlessly for other checks including
  jump_label_text_reserved(), but it took long time because of
  the linear search.




probes-v6.14

 
21 Jan 2025: Networking for v6.14 [+ + +]
This is slightly smaller than usual, with the most interesting work
being still around RTNL scope reduction.

Stephen reported a trivial conflict vs the kselftest tree:
https://lore.kernel.org/linux-next/20250108144003.67532649@canb.auug.org.au/

Networking changes for 6.14.

Core
----

 - More core refactoring to reduce the RTNL lock contention,
   including preparatory work for the per-network namespace RTNL lock,
   replacing RTNL lock with a per device-one to protect NAPI-related
   net device data and moving synchronize_net() calls outside such
   lock.

 - Extend drop reasons usage, adding net scheduler, AF_UNIX, bridge and
   more specific TCP coverage.

 - Reduce network namespace tear-down time by removing per-subsystems
   synchronize_net() in tipc and sched.

 - Add flow label selector support for fib rules, allowing traffic
   redirection based on such header field.

Netfilter
---------

 - Do not remove netdev basechain when last device is gone, allowing
   netdev basechains without devices.

 - Revisit the flowtable teardown strategy, dealing better with fin,
   reset and re-open events.

 - Scale-up IP-vs connection dumping by avoiding linear search on
   each restart.

Protocols
---------

 - A significant XDP socket refactor, consolidating and optimizing
   several helpers into the core

 - Better scaling of ICMP rate-limiting, by removing false-sharing in
   inet peers handling.

 - Introduces netlink notifications for multicast IPv4 and IPv6
   address changes.

 - Add ipsec support for IP-TFS/AggFrag encapsulation, allowing
   aggregation and fragmentation of the inner IP.

 - Add sysctl to configure TIME-WAIT reuse delay for TCP sockets,
   to avoid local port exhaustion issues when the average connection
   lifetime is very short.

 - Support updating keys (re-keying) for connections using kernel
   TLS (for TLS 1.3 only).

 - Support ipv4-mapped ipv6 address clients in smc-r v2.

 - Add support for jumbo data packet transmission in RxRPC sockets,
   gluing multiple data packets in a single UDP packet.

 - Support RxRPC RACK-TLP to manage packet loss and retransmission in
   conjunction with the congestion control algorithm.

Driver API
21 Jan 2025: irq/core for 6.14-rc1 [+ + +]
please pull the latest irq/core branch from:

-21

_set()


Updates for the interrupt subsystem:

  - Consolidation of the machine_kexec_mask_interrupts() by providing a
    generic implementation and replacing the copy & pasta orgy in the
    relevant architectures.

  - Prevent unconditional operations on interrupt chips during kexec
    shutdown, which can trigger warnings in certain cases when the
    underlying interrupt has been shut down before.

  - Make the enforcement of interrupt handling in interrupt context
    unconditionally available, so that it actually works for non x86
    related interrupt chips. The earlier enablement for ARM GIC chips set
    the required chip flag, but did not notice that the check was hidden
    behind a config switch which is not selected by ARM[64].

  - Decrapify the handling of deferred interrupt affinity setting. Some
    interrupt chips require that affinity changes are made from the context
    of handling an interrupt to avoid certain race conditions. For x86 this
    was the default, but with interrupt remapping this requirement was
    lifted and a flag was introduced which tells the core code that
    affinity changes can be done in any context. Unrestricted affinity
    changes are the default for the majority of interrupt chips. RISCV has
    the requirement to add the deferred mode to one of it's interrupt
    controllers, but with the original implementation this would require to
    add the any context flag to all other RISC-V interrupt chips. That's
    backwards, so reverse the logic and require that chips, which need the
    deferred mode have to be marked accordingly. That avoids chasing the
    'sane' chips and marking them.

  - Add multi-node support to the Loongarch AVEC interrupt controller
    driver.

  - The usual tiny cleanups, fixes and improvements all over the place.

Thanks,

tglx

21 Jan 2025: timers/core for 6.14-rc1 [+ + +]
please pull the latest timers/core branch from:

-01-21

 setup

Updates for timers and timekeeping:

 - Just boring cleanups, typo and comment fixes and trivial optimizations

Thanks,

tglx

21 Jan 2025: x86/cpu for v6.14-rc1 [+ + +]
please pull the x86/cpu lineup for v6.14-rc1.

If you've pulled in the order we're sending you the pull requests and you have
pulled the EDAC tree from me first, you will encounter a merge conflict in
drivers/edac/i10nm_base.c due to the addition of INTEL_ATOM_DARKMONT_X there.

I've included the resolution at the end of this mail.

Thx.

---

- Remove the less generic CPU matching infra around struct x86_cpu_desc and
  use the generic struct x86_cpu_id thing

- Remove magic naked numbers for CPUID functions and use proper defines of the
  prefix CPUID_LEAF_*. Consolidate some of the crazy use around the tree

- Smaller cleanups and improvements

21 Jan 2025: LEDs for v6.14 [+ + +]
- Allow struct bin_attribute instances to be placed in read-only memory for enhanced protection.
- Fix a memory leak in the cht-wcove driver by using devm_led_classdev_register().
- Fix an OF node reference leak in the netxbig driver.
- Ensure PWM is disabled properly in pwm-multicolor suspend.
- Add support for Texas Instruments LP8864, LP8864S, LP8866 LED-backlight drivers.
- Add support for STMicroelectronics's LED1202 12-channel LED driver.
- Convert LP8860 bindings to YAML format.
- Add bindings for the TI LP8864/LP8866 LED drivers.
- Add LED1202 LED controller bindings.
- Fix path to color definitions in leds-class-multicolor.yaml.
- Add pm660l compatible to qcom,spmi-flash-led bindings.
- Extend cznic,turris-omnia-leds binding with interrupts property.
- Add documentation for the STMicroelectronics LED1202 driver.
- Add entry for AAEON UP board FPGA drivers in MAINTAINERS.
- Fix a wrong format specifier in the ledtrig-activity driver.
- Fix a bug in the lp8860 driver where only half of the EEPROM was written.

21 Jan 2025: MFD for v6.14 [+ + +]
- Fix race in device_node_get_regmap() using more extensive locking.
- Remove unused platform driver support for syscon.
- Allow syscon nodes to be registered without a "syscon" compatible string.
- Make `platform_data` pointer const in struct mfd_cell.
- Revert support for multiple AXP PMICs to avoid regressions.
- Increase SoundWire attach timeout and use gpiod_set_raw() for GPIO operation.
- Store the result from fault_log() for use by other sub-components.
- Fix an invalid regmap-config max_register value.
- Add another Gemini Lake ISA bridge PCI device ID.
- Use devm_register_power_off_handler() to simplify code.
- Add support for QNAP microcontroller units, including LEDs, input, and hwmon.
- Use MFD_CELL macros and remove unused code.
- Add support for AAEON UP board FPGA.
- Remove unused includes.
- Fix various typos and compatibility issues in multiple bindings.
- Add new bindings for rk3562 QoS, LED1202, and qcom,tcsr-ipq5424.
- Convert several bindings to YAML schema.
- Update sprd,sc2731 bindings to reference sprd,sc2731-efuse bindings directly.
- Fix rohm,bd71815 bindings by correcting resistor values and typos.
- Documentation improvements:
- Add documentation for LED1202 and qnap-mcu-hwmon.
- Adjust the file entry for the qnap-mcu header in MAINTAINERS.

 
20 Jan 2025: pwm: Changes for 6.14-rc1 [+ + +]
Subject: [GIT PULL] pwm: Changes for 6.14-rc1
MIME-Version: 1.0

Hello Linus,

the following changes since commit edc19bd0e571c732cd01c8da62f904e6d2a29a48:

  pwm: stm32: Fix complementary output in round_waveform_tohw() (2024-12-18=
 11:08:36 +0100)

are available in the Git repository at:

wm/for-6.14-rc1

for you to fetch changes up to e8c59791ebb60790c74b2c3ab520f04a8a57219a:

  pwm: stm32: Add check for clk_enable() (2025-01-17 10:41:56 +0100)

This gives you very little changes compared to earlier pull requests.
The topmost commit is simple and very similar to its grand parent. The
other patches were all exposed to next since 2025-01-09.

Initially I thought to base my PR on v6.13-rc2 to prevent conflicts with
the module namespace conversion that were done just after v6.13-rc1, but
it merges just fine on top of the fixes PR from last cycle as there is
no conflicting change.

Thanks for pulling this for v6.14-rc1.

Best regards from Germany,
Uwe

pwm: Changes for v6.14-rc1

This time there are very little changes for pwm. There is nothing new,
just a few maintenance cleanups.

The contributors this time around were Krzysztof Kozlowski, Mingwei
Zheng, Philipp Stanner, and Stanislav Jakubek. Thanks!

20 Jan 2025: Thermal control updates for v6.14-rc1 [+ + +]

 thermal-6.14-rc1


 Merge branch 'thermal-intel'


 Linux 6.13-rc7

to receive thermal control updates for 6.14-rc1.

These add support for Intel Panther Lake processors in multiple places,
modify Intel thermal drivers to stop selecting the user space thermal
governor which is not necessary for them to work any more and clean
up the thermal core somewhat:

 - Add support for Panther Lake processors in multiple places (Zhang
   Rui, Srinivas Pandruvada).

 - Remove explicit user_space governor selection from Intel thermal
   drivers (Srinivas Pandruvada).

 - Rename a few things and relocate a comment in the thermal
   subsystem (Rafael Wysocki).

Thanks!



20 Jan 2025: ACPI updates for v6.14-rc1 [+ + +]

 acpi-6.14-rc1




 ACPI: video: Fix random crashes due to bad kfree()

to receive ACPI updates for 6.14-rc1.

The most significant change here is replacing msleep() in acpi_os_sleep()
with usleep_range() to reduce spurious sleep time due to timer inaccuracy
which may spectacularly reduce the duration of system suspend and resume
transitions on some systems.

All of the other changes fall into the fixes and cleanups category this
time.

Specifics:

 - Use usleep_range() instead of msleep() in acpi_os_sleep() to reduce
   excessive delays due to timer inaccuracy, mostly affecting system
   suspend and resume (Rafael Wysocki).

 - Use str_enabled_disabled() string helpers in the ACPI tables parsing
   code to make it easier to follow (Sunil V L).

 - Update device properties parsing on systems using ACPI so that
   data firmware nodes resulting from _DSD evaluation are treated
   as available in firmware nodes walks (Sakari Ailus).

 - Fix missing guid_t declaration in linux/prmt.h (Robert Richter).

 - Update the GHES handling code to follow the global panic=3D policy
   instead of overriding it by force-rebooting the system after a
   fatal HW error has been reported (Borislav Petkov).

 - Update messages printed by the ACPI battery driver to always
   refer to driver extensions as "hooks" to avoid confusion with
   similar functionality in the power supply subsystem in the
   future (Thomas Wei=C3=9Fschuh).

 - Fix .probe() error path cleanup in the ACPI fan driver to avoid
   memory leaks (Joe Hattori).

 - Constify 'struct bin_attribute' in some places in the ACPI subsystem
   and mark it as __ro_after_init in one place to prevent binary blob
   attributes from being updated (Thomas Wei=C3=9Fschuh)

 - Add empty stubs for several ACPI-related symbols so that they can be
   used when CONFIG_ACPI is unset and use them for removing unnecessary
   conditional compilation from the ipu-bridge driver (Ricardo Ribalda).

Thanks!



20 Jan 2025: Power management updates for v6.14-rc1 [+ + +]

 pm-6.14-rc1


 Merge branch 'pm-tools'


 Merge branch 'pm-cpufreq'

to receive power management updates for 6.14-rc1.

The majority of changes here are cpufreq updates which are dominated by
amd-pstate driver changes, like in the previous cycle.  Moreover, changes
related to amd-pstate are also the majority of cpupower utility updates.

Included are some pieces of new hardware support, like the addition of
Clearwater Forest processors support to intel_idle, new cpufreq driver
for Airoha SoCs, and Apple cpufreq driver extensions to support more
SoCs.  The intel_pstate driver is also extended to be able to support
new platforms by using ACPI CPPC to compute scaling factors between HWP
performance states and frequency.

The rest is mostly fixes and cleanups in assorted pieces of power
management code.

Specifics:

 - Use str_enable_disable()-like helpers in cpufreq (Krzysztof
   Kozlowski).

 - Extend the Apple cpufreq driver to support more SoCs (Hector Martin,
   Nick Chan).

 - Add new cpufreq driver for Airoha SoCs (Christian Marangi).

 - Fix using cpufreq-dt as module (Andreas Kemnade).

 - Minor fixes for Sparc, SCMI, and Qcom cpufreq drivers (Ethan Carter
   Edwards, Sibi Sankar, Manivannan Sadhasivam).

 - Fix the maximum supported frequency computation in the ACPI cpufreq
   driver to avoid relying on unfounded assumptions (Gautham Shenoy).

 - Fix an amd-pstate driver regression with preferred core rankings not
   being used (Mario Limonciello).

 - Fix a precision issue with frequency calculation in the amd-pstate
   driver (Naresh Solanki).

 - Add ftrace event to the amd-pstate driver for active mode (Mario
   Limonciello).

 - Set default EPP policy on Ryzen processors in amd-pstate (Mario
   Limonciello).

 - Clean up the amd-pstate cpufreq driver and optimize it to increase
   code reuse (Mario Limonciello, Dhananjay Ugwekar).

 - Use CPPC to get scaling factors between HWP performance levels and
   frequency in the intel_pstate driver and make it stop using a built
   -in scaling factor for Arrow Lake processors (Rafael Wysocki).

 - Make intel_pstate initialize epp_policy to CPUFREQ_POLICY_UNKNOWN for
   consistency with CPU offline (Christian Loehle).

 - Fix superfluous updates caused by need_freq_update in the schedutil
   cpufreq governor (Sultan Alsawaf).

 - Allow configuring the system suspend-resume (DPM) watchdog to warn
   earlier than panic (Douglas Anderson).

 - Implement devm_device_init_wakeup() helper and introduce a device-
   managed variant of dev_pm_set_wake_irq() (Joe Hattori, Peng Fan).

 - Remove direct inclusions of 'pm_wakeup.h' which should be only
   included via 'device.h' (Wolfram Sang).

 - Clean up two comments in the core system-wide PM code (Rafael
   Wysocki, Randy Dunlap).

 - Add Clearwater Forest processor support to the intel_idle cpuidle
   driver (Artem Bityutskiy).

 - Clean up the Exynos devfreq driver and devfreq core (Markus Elfring,
   Jeongjun Park).

 - Minor cleanups and fixes for OPP (Dan Carpenter, Neil Armstrong, Joe
   Hattori).

 - Implement dev_pm_opp_get_bw() (Neil Armstrong).

 - Expose OPP reference counting helpers for Rust (Viresh Kumar).

 - Fix TSC MHz calculation in cpupower (He Rongguang).

 - Add install and uninstall options to bindings Makefile and add header
   changes for cpufreq.h to SWIG bindings in cpupower (John B. Wyatt IV).

 - Add missing residency header changes in cpuidle.h to SWIG bindings in
   cpupower (John B. Wyatt IV).

 - Add output files to .gitignore and clean them up in "make clean" in
   selftests/cpufreq (Li Zhijian).

 - Fix cross-compilation in cpupower Makefile (Peng Fan).

 - Revise the is_valid flag handling for idle_monitor in the cpupower
   utility (wangfushuai).

 - Extend and clean up AMD processors support in cpupower (Mario
   Limonciello).

Thanks!



20 Jan 2025: Documentation for 6.14 [+ + +]
Documentation changes this time around include:

- Quite a bit of Chinese and Spanish translation work.

- Clarifying that Git commit IDs >12chars are OK

- A new nvme-multipath document

- A reorganization of the admin-guide top-level page to make it readable

- Clarification of the role of Acked-by and maintainer discretion on their
  acceptance.

- Some reorganization of debugging-oriented docs.

...and typo fixes, documentation updates, etc. as usual.

20 Jan 2025: arm64 updates for 6.14 [+ + +]

We've got a little less than normal thanks to the holidays in December,
but there's the usual summary in the tag. The highlight is probably the
52-bit physical addressing (LPA2) clean-up from Ard.

Please note that the cpufeature branch will also make an appearance
via the KVM tree.

Cheers,

Will

--->8


arm64 updates for 6.14

Confidential Computing:
* Register a platform device when running in CCA realm mode to enable
  automatic loading of dependent modules.

CPU Features:
* Update a bunch of system register definitions to pick up new field
  encodings from the architectural documentation.

* Add hwcaps and selftests for the new (2024) dpISA extensions.

Documentation:
* Update EL3 (firmware) requirements for booting Linux on modern arm64
  designs.

* Remove stale information about the kernel virtual memory map.

Miscellaneous:
* Minor cleanups and typo fixes.

Memory management:
* Fix vmemmap_check_pmd() to look at the PMD type bits

* LPA2 (52-bit physical addressing) cleanups and minor fixes.

* Adjust physical address space depending upon whether or not LPA2 is
  enabled.

Perf and PMUs:
* Add port filtering support for NVIDIA's NVLINK-C2C Coresight PMU

* Extend AXI filtering support for the DDR PMU on NXP IMX SoCs

* Fix Designware PCIe PMU event numbering.

* Add generic branch events for the Apple M1 CPU PMU.

* Add support for Marvell Odyssey DDR and LLC-TAD PMUs.

* Cleanups to the Hisilicon DDRC and Uncore PMU code.

* Advertise discard mode for the SPE PMU.

* Add the perf users mailing list to our MAINTAINERS entry.

20 Jan 2025: dlm updates for 6.14 [+ + +]


A small set of patches this time:
- Fix a case where the new scanning code missed removing an unused rsb.
- Fix the error when removing a configfs entry for an invalid node id.

Thanks,
Dave


20 Jan 2025: Btrfs updates for 6.14 [+ + +]
Hi,

please pull the following updates to btrfs. There are some new features
or feature previews, the reset the usual mix of core changes.  There's
also one minor rb-tree API update.


User visible changes, features:

- rebuilding of the free space tree at mount time is done in more
  transactions, fix potential hangs when the transaction thread is
  blocked due to large amount of block groups

- more read IO balancing strategies (experimental config), add two new
  ways how to select a device for read if the profiles allow that (all RAID1*),
  the current default selects the device by pid which is good on average
  but less performant for single reader workloads

  - select preferred device for all reads (namely for testing)
  - round-robin, balance reads across devices relevant for the requested IO
    range

- add encoded write ioctl support to io_uring (read was added in 6.12), basis
  for writing send stream using that instead of syscalls, non-blocking
  mode is not yet implemented

- support FS_IOC_READ_VERITY_METADATA, applications can use the metadata to do
  their own verification

- pass inode's i_write_hint to bios, for parity with other filesystems, ioctls
  F_GET_RW_HINT/F_SET_RW_HINT

Core:

- in zoned mode: allow to directly reclaim a block group by simply resetting
  it, then it can be reused and another block group does not need to be
  allocated

- super block validation now also does more comprehensive sys array validation,
  adding it to the points where superblock is validated (post-read, pre-write)

- subpage mode fixes
  - fix double accounting of blocks due to some races
  - improved or fixed error handling in a few cases (compression, delalloc)

- raid stripe tree
  - fix various cases with extent range splitting or deleting
  - implement hole punching to extent range
  - reduce number of stripe tree lookups during bio submission
  - more self-tests

- updated self-tests (delayed refs)

- error handling improvements

- cleanups, refactoring
  - remove rest of backref caching infrastructure from relocation, not needed
    anymore
  - error message updates
  - remove unnecessary calls when extent buffer was marked dirty
  - unused parameter removal
  - code moved to new files

Other code changes: add rb_find_add_cached() to the rb-tree API

20 Jan 2025: bcachefs changes for 6.14-rc1 [+ + +]
bcachefs updates for 6.14-rc1

Lots of scalability work, another big on disk format change. On disk
format version goes from 1.13 to 1.20.

Like 6.11, this is another big and expensive automatic/required on disk
format upgrade. This is planned to be the last big on disk format
upgrade before the experimental label comes off. There will be one more
minor on disk format update for a few things that couldn't make this
release.

Headline improvements:
- Fix mount time regression that some users encountered post the 6.11
  disk accounting rewrite.

  Accounting keys were encoded little endian (typetag in the low bits) -
  which didn't anticipate adding accounting keys for every inode, which
  aren't stored in memory and we don't want to scan at mount time.

- fsck time on large filesystems is improved by multiple orders of
  magnitude. Previously, 100TB was about the practical max filesystem
  size, where users were reporting fsck times of a day+. With the new
  changes (which nearly eliminate backpointers fsck overhead), we fsck'd
  a filesystem with 10PB of data in 1.5 hours.

  The problematic fsck passes were walking every extent and checking for
  missing backpointers, and walking every backpointer to check for
  dangling backpointers. As we've been adding more and more runtime self
  healing there was no reason to keep around the backpointers -> extents
  pass; dangling backpointers are just deleted, and we can do that when
  using them - thus, backpointers -> extents is now only run in debug
  mode.

  extents -> backpointers does need to exist, since missing backpointers
  would mean we can't find data to move it (for e.g. copygc, device
  evacuate, scrub). But the new on disk format version makes possible a
  new strategy where we sum up backpointers within a bucket and check it
  against the bucket sector counts, and then only scan for missing
  backpointers if the counts are off (and then, only for specific
  buckets).

Full list of on disk format changes:
- 1.14: backpointer_bucket_gen
  Backpointers now have a field for the bucket generation number,
  replacing the obsolete bucket_offset field. This is needed for the
  new "sum up backpointers within a bucket" code, since backpointers use
  the btree write buffer - meaning we will see stale reads, and this
  runs online, with the filesystem in full rw mode.

- 1.15: disk_accounting_big_endian
  As previously described, fix the endianness of accounting keys so that
  accounting keys with the same typetag sort together, and accounting
  read can skip types it's not interested in.

- 1.16: reflink_p_may_update_opts:
  This version indicates that a new reflink pointer field is understood
  and may be used; the field indicates whether the reflink pointer has
  permissions to update IO path options (e.g. compression, replicas) may
  be updated on the indirect extent it points to.

  This completes the rebalance/reflink data path option handling from
  the 6.13 pull request.

- 1.17: inode_depth
  Add a new inode field, bi_depth, to accelerate the
  check_directory_structure fsck path, which checks for loops in the
  filesystem heirarchy.

  check_inodes and check_dirents check connectivity, so
  check_directory_structure only has to check for loops - by walking
  back up to the root from every directory.

  But a path can't be a loop if it has a counter that increases
  monotonically from root to leaf - adding a depth counter means that we
  can check for loops with only local (parent -> child) checks. We might
  need to occasionally renumber the depth field in fsck if directories
  have been moved around, but then future fsck runs will be much faster.

- 1.18: persistent_inode_cursors

  Previously, the cursor used for inode allocation was only kept in
  memory, which meant that users with large filesystems and lots of
  files were reporting that the first create after mounting would take
  awhile - since it had to scan from the start.

  Inode allocation cursors are now persistent, and also include a
  generation field (incremented on wraparound, which will only happen if
  inode allocation is restricted to 32 bit inodes), so that we don't
  have to leave inode_generation keys around after a delete.

  The option for 32 bit inode numbers may now also be set on individual
  directories, and non-32 bit inode allocations are disallowed from
  allocating from the 32 bit part of the inode number space.

- 1.19: autofix_errors

  Runtime self healing is now the default.o

- 1.20: directory size (from Hongbo)

  directory i_size is now meaningful, and not 0.

Release notes from the previous 6.13 pull request:

- Self healing work:
  Allocator and reflink now run the exact same check/repair code that
  fsck does at runtime, where applicable.

  The long term goal here is to remove inconsistent() errors (that cause
  us to go emergency read only) by lifting fsck code up to normal
  runtime paths; we should only go emergency read-only if we detect an
  inconsistency that was due to a runtime bug - or truly catastrophic
  damage (corrupted btree roots/interior nodes).

- Reflink repair no longer deletes reflink pointers: instead we flip an
  error bit and log the error, and they can still be deleted by file
  deletion. This means a temporary failure to find an indirect extent
  (perhaps repaired later by btree node scan) won't result in
  unnecessary data loss

- Improvements to rebalance data path option handling: we can now
  correctly apply changed filesystem-level io path options to pending
  rebalance work, and soon we'll be able to apply file-level io path
  option changes to indirect extents.

20 Jan 2025: livepatching for 6.14 [+ + +]
please pull the latest changes for the kernel livepatching from



- Add a sysfs attribute showing the livepatch ordering.
- Some code clean up.

20 Jan 2025: x86/sev for v6.14-rc1 [+ + +]
please pull the x86/sev lineup for v6.14-rc1.

Thx.

---

- A segmented Reverse Map table (RMP) is a across-nodes distributed
  table of sorts which contains per-node descriptors of each node-local
  4K page, denoting its ownership (hypervisor, guest, etc) in the realm
  of confidential computing.  Add support for such a table in order to
  improve referential locality when accessing or modifying RMP table
  entries

- Add support for reading the TSC in SNP guests by removing any
  interference or influence the hypervisor might have, with the goal of
  making a confidential guest even more independent from the hypervisor

20 Jan 2025: regmap updates for v6.14 [+ + +]
regmap: Updates for v6.14

There's one big bit of work this time around, the addition of support for
a greater range of MBQ access sizes to SoundWire devices together with
support for deferred read/write.  The MBQ register maps generally have
variable register sizes, the variable regiseter size support allows them
to be handled much more naturally within regmap with less open coding in
drivers.  The deferred read/write support avoids spurious errors when
devices make use of a bus feature allowing them to indicate they're
busy.  These changes pull in a supporting SoundWire change, and there's
an ASoC change building off the new code.

The remainder of the changes are code cleanups.

20 Jan 2025: SPI updates for v6.14 [+ + +]
spi: Updates for v6.14

This is a fairly quiet release for the most part, though we do have one
really nice improvement in the spi-mem framework which will improve
performance for flash devices especially when built on by changes in the
MTD subsystem which are also due to be sent this merge window.  There's
also been some substantial work on some of the drivers, highlights
include:

 - Support for per-operation bus frequency in the spi-mem framework,
   meaning speeds are no longer limited by the slowest operation.
 - ACPI support and improved power management for Rockchip SFC
   controllers.
 - Support for Atmel SAM7G5 QuadSPI and KEBA SPI controllers.

20 Jan 2025: regulator updates for v6.14 [+ + +]
regulator: Updates for v6.14

This was a very quiet release, aside from some smaller improvements we
have:

 - Support for power budgeting on regulators, initially targeted at some
   still in review support for PSE controllers but generally useful.
 - Support for error interrupts from ROHM BD96801 devices.
 - Support for NXP PCA9452.

20 Jan 2025: MMC updates for v6.14 [+ + +]
Here's the pull-request with updates for MMC for v6.14. Details about the
highlights are as usual found in the signed tag.


Kind regards
Ulf Hansson


MMC core:
 - Share a helper to convert from crypto_profile to mmc_host
 - Respect quirk_max_rate for non-UHS SDIO card too

MMC host:
 - Add DT bindings for the mmc-slot
 - Clarify DT bindings for the mmc-controller
 - bcm2835: Add support for system-wide suspend/resume PM
 - dw_mmc-exynos: Add support for the exynos8895 variant
 - meson-mx-sdio: Convert DT bindings to dtschema
 - mtk-sd: Fixup use of two register ranges
 - mtk-sd: Add support for ignoring cmd response CRC
 - sdhci-esdhc-imx: enable 'SDHCI_QUIRK_NO_LED' quirk for S32G
 - sdhci-msm: Correctly set the load for the regulator
 - sdhci-msm: Convert to use custom crypto profile
 - sdhci-of-at91: Add support for the microchip sama7d65 variant

20 Jan 2025: hwmon updates for v6.14-rc1 [+ + +]


Thanks,
Guenter
------

hwmon updates for v6.14-rc1

* New drivers

  - PMBus client driver for Intel CRPS185 power supply

  - PMBus client driver for Texas Instruments TPS25990

* Chip support added to existing drivers

  - pmbus/max15301: Add support for MAX15303

  - pmbus/adm1275: Add adm1273 support

  - lm75: Add NXP P3T1755 support; with it, add I3C support to the driver

  - asus-ec-sensors: Add TUF GAMING X670E PLUS

* Other notable changes

   - nct6683: Add customer IDs for several MSI and ASRock boards

   - tmp108: Add regulator support

   - Improve write protect support in PMBus core

   - pmbus/dps920ab: Add ability to instantiate through i2c

   - The hwmon core now accepts NULL as device name parameter to
     [devm_]hwmon_device_register_with_info ans uses the parent device
     name as fallback in that case

   - The PMBus core now provides the PMBUs revision in a debugfs file

   - asus-ec-sensors: Support for optional CPU fan on AMD 600 motherboards

   - raspberrypi: Add PM suspend/resume support

   - dell-smm: Enable manual fan control support on Dell XPS 9370

   - pwm-fan: Default to maximum cooling level if provided

* Various other minor fixes and improvements

20 Jan 2025: x86/microcode for v6.14-rc1 [+ + +]
please pull the x86/microcode lineup for v6.14-rc1.

Thx.

---

- A bunch of minor cleanups

20 Jan 2025: m68k updates for v6.14 [+ + +]
m68k updates for v6.14

  - Use the generic muldi3 libgcc function,
  - Miscellaneous fixes and improvements.

Thanks for pulling!

20 Jan 2025: pwrseq updates for v6.14-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


subsystem. We added support for another Qualcomm WCN model and a FIXME
comment that explains why we still need to keep a GPIO workaround for now
despite having merged a set of changes to the PCI code that seemingly
fixed the underlying problem.

Details are in the signed tag.

Best Regards,
Bartosz Golaszewski

pwrseq updates for v6.14-rc1

- support a new model in the qcom-wcn pwrseq driver
- explain the need to keep the WLAN_EN GPIO workaround for now with
  a FIXME comment

20 Jan 2025: gpio updates for v6.14-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


Thanks to little activity in December, this PR is really tiny. Just a few
updates to drivers and device-tree bindings. Details are in the signed
tag.

Bartosz Golaszewski

gpio updates for v6.14-rc1

Driver improvements:
- support a new model in gpio-mpc8xxx
- refactor gpio-tqmx86 and add support for direction setting
- allow building gpio-omap with COMPILE_TEST=y
- use gpiochip_get_data() instead of dev_get_drvdata() in gpio-twl6040
- drop unued field from driver data in gpio-altera
- use generic request/free callbacks in gpio-regmap for better integration
  with pinctrl
- use dev_err_probe() where applicable in gpio-pca953x
- use existing dedicated GPIO defines in gpio-tps65219 instead of custom
  ones

DT bindings:
- document a new model in fsl,qoriq-gpio
- explain the chip's latch clock pin and how it works like chip-select
  in fairchild,74hc595
- enable the gpio-line-names property for gpio-brcmstb

20 Jan 2025: gfs2 changes for 6.14 [+ + +]
please consider pulling the following gfs2 changes.

Thanks,
Andreas

gfs2 changes

- In the quota code, to avoid spurious audit messages, don't call
  capable() when quotas are off.

- When changing the 'j' flag of an inode, truncate the inode address
  space to avoid mixing "buffer head" and "iomap" pages.

20 Jan 2025: x86/cache for v6.14-rc1 [+ + +]
please pull the x86/cache lineup for v6.14-rc1.

Thx.

---

- Extend resctrl with the capability of total memory bandwidth monitoring,
  thus accomodating systems which support only total but not local memory
  bandwidth monitoring. Add the respective new mount options

- The usual cleanups

20 Jan 2025: x86/bugs for v6.14-rc1 [+ + +]
please pull the x86/bugs lineup for v6.14-rc1.

Thx.

---

- Add support for AMD hardware which is not affected by SRSO on the
  user/kernel attack vector and advertise it to guest userspace

20 Jan 2025: printk for 6.14 [+ + +]
please pull the latest printk changes from



- Prevent possible deadlocks, caused by the lock serializing per-CPU
  backtraces, by entering the deferred printk context.

- Enforce the right casting in LOG_BUF_LEN_MAX definition.

20 Jan 2025: RAS updates for v6.14-rc1 [+ + +]
please pull the RAS lineup for v6.14-rc1.

Thx.

---

- Remove the shared threshold bank hack on AMD and streamline and simplify it

- Cleanup and sanitize MCA code

20 Jan 2025: Scheduler enhancements for v6.14 [+ + +]




Scheduler enhancements for v6.14:

 - Fair scheduler (SCHED_FAIR) enhancements:

   - Behavioral improvements:
     - Untangle NEXT_BUDDY and pick_next_task() (Peter Zijlstra)

   - Delayed-dequeue enhancements & fixes: (Vincent Guittot)

     - Rename h_nr_running into h_nr_queued
     - Add new cfs_rq.h_nr_runnable
     - Use the new cfs_rq.h_nr_runnable
     - Removed unsued cfs_rq.h_nr_delayed
     - Rename cfs_rq.idle_h_nr_running into h_nr_idle
     - Remove unused cfs_rq.idle_nr_running
     - Rename cfs_rq.nr_running into nr_queued
     - Do not try to migrate delayed dequeue task
     - Fix variable declaration position
     - Encapsulate set custom slice in a __setparam_fair() function

   - Fixes:
     - Fix race between yield_to() and try_to_wake_up() (Tianchen Ding)
     - Fix CPU bandwidth limit bypass during CPU hotplug (Vishal Chourasia)

   - Cleanups:
     - Clean up in migrate_degrades_locality() to improve
       readability (Peter Zijlstra)
     - Mark m*_vruntime() with __maybe_unused (Andy Shevchenko)
     - Update comments after sched_tick() rename (Sebastian Andrzej Siewior)
     - Remove CONFIG_CFS_BANDWIDTH=n definition of cfs_bandwidth_used()
       (Valentin Schneider)

 - Deadline scheduler (SCHED_DL) enhancements:

   - Restore dl_server bandwidth on non-destructive root domain
     changes (Juri Lelli)

   - Correctly account for allocated bandwidth during
     hotplug (Juri Lelli)

   - Check bandwidth overflow earlier for hotplug (Juri Lelli)

   - Clean up goto label in pick_earliest_pushable_dl_task()
     (John Stultz)

   - Consolidate timer cancellation (Wander Lairson Costa)

 - Load-balancer enhancements:

   - Improve performance by prioritizing migrating eligible
     tasks in sched_balance_rq() (Hao Jia)

   - Do not compute NUMA Balancing stats unnecessarily during
     load-balancing (K Prateek Nayak)

   - Do not compute overloaded status unnecessarily during
     load-balancing (K Prateek Nayak)

 - Generic scheduling code enhancements:

   - Use READ_ONCE() in task_on_rq_queued(), to consistently use
     the WRITE_ONCE() updated ->on_rq field (Harshit Agarwal)

 - Isolated CPUs support enhancements: (Waiman Long)

   - Make "isolcpus=nohz" equivalent to "nohz_full"
   - Consolidate housekeeping cpumasks that are always identical
   - Remove HK_TYPE_SCHED
   - Unify HK_TYPE_{TIMER|TICK|MISC} to HK_TYPE_KERNEL_NOISE

 - RSEQ enhancements:

   - Validate read-only fields under DEBUG_RSEQ config
     (Mathieu Desnoyers)

 - PSI enhancements:

   - Fix race when task wakes up before psi_sched_switch()
     adjusts flags (Chengming Zhou)

 - IRQ time accounting performance enhancements: (Yafang Shao)

   - Define sched_clock_irqtime as static key
   - Don't account irq time if sched_clock_irqtime is disabled

 - Virtual machine scheduling enhancements:

   - Don't try to catch up excess steal time (Suleiman Souhlal)

 - Heterogenous x86 CPU scheduling enhancements: (K Prateek Nayak)

   - Convert "sysctl_sched_itmt_enabled" to boolean
   - Use guard() for itmt_update_mutex
   - Move the "sched_itmt_enabled" sysctl to debugfs
   - Remove x86_smt_flags and use cpu_smt_flags directly
   - Use x86_sched_itmt_flags for PKG domain unconditionally

 - Debugging code & instrumentation enhancements:

   - Change need_resched warnings to pr_err() (David Rientjes)
   - Print domain name in /proc/schedstat (K Prateek Nayak)
   - Fix value reported by hot tasks pulled in /proc/schedstat (Peter Zijlstra)
   - Report the different kinds of imbalances in /proc/schedstat (Swapnil Sapkal)
   - Move sched domain name out of CONFIG_SCHED_DEBUG (Swapnil Sapkal)
   - Update Schedstat version to 17 (Swapnil Sapkal)

 Thanks,

Ingo

20 Jan 2025: Performance events changes for v6.14 [+ + +]



Performance events changes for v6.14:

 - Seqlock optimizations that arose in a perf context and were
   merged into the perf tree:

   - seqlock: Add raw_seqcount_try_begin (Suren Baghdasaryan)
   - mm: Convert mm_lock_seq to a proper seqcount ((Suren Baghdasaryan)
   - mm: Introduce mmap_lock_speculate_{try_begin|retry} (Suren Baghdasaryan)
   - mm/gup: Use raw_seqcount_try_begin() (Peter Zijlstra)

 - Core perf enhancements:

   - Reduce 'struct page' footprint of perf by mapping pages
     in advance (Lorenzo Stoakes)
   - Save raw sample data conditionally based on sample type (Yabin Cui)
   - Reduce sampling overhead by checking sample_type in
     perf_sample_save_callchain() and perf_sample_save_brstack() (Yabin Cui)
   - Export perf_exclude_event() (Namhyung Kim)

 - Uprobes scalability enhancements: (Andrii Nakryiko)

   - Simplify find_active_uprobe_rcu() VMA checks
   - Add speculative lockless VMA-to-inode-to-uprobe resolution
   - Simplify session consumer tracking
   - Decouple return_instance list traversal and freeing
   - Ensure return_instance is detached from the list before freeing
   - Reuse return_instances between multiple uretprobes within task
   - Guard against kmemdup() failing in dup_return_instance()

 - AMD core PMU driver enhancements:

   - Relax privilege filter restriction on AMD IBS (Namhyung Kim)

 - AMD RAPL energy counters support: (Dhananjay Ugwekar)

   - Introduce topology_logical_core_id() (K Prateek Nayak)

   - Remove the unused get_rapl_pmu_cpumask() function
   - Remove the cpu_to_rapl_pmu() function
   - Rename rapl_pmu variables
   - Make rapl_model struct global
   - Add arguments to the init and cleanup functions
   - Modify the generic variable names to *_pkg*
   - Remove the global variable rapl_msrs
   - Move the cntr_mask to rapl_pmus struct
   - Add core energy counter support for AMD CPUs

 - Intel core PMU driver enhancements:

   - Support RDPMC 'metrics clear mode' feature (Kan Liang)
   - Clarify adaptive PEBS processing (Kan Liang)
   - Factor out functions for PEBS records processing (Kan Liang)
   - Simplify the PEBS records processing for adaptive PEBS (Kan Liang)

 - Intel uncore driver enhancements: (Kan Liang)

   - Convert buggy pmu->func_id use to pmu->registered
   - Support more units on Granite Rapids

 Thanks,

Ingo

20 Jan 2025: objtool changes for v6.14 [+ + +]



Objtool changes for v6.14:

 - Introduce the generic section-based annotation
   infrastructure a.k.a. ASM_ANNOTATE/ANNOTATE (Peter Zijlstra)

 - Convert various facilities to ASM_ANNOTATE/ANNOTATE: (Peter Zijlstra)

    - ANNOTATE_NOENDBR
    - ANNOTATE_RETPOLINE_SAFE
    - instrumentation_{begin,end}()
    - VALIDATE_UNRET_BEGIN
    - ANNOTATE_IGNORE_ALTERNATIVE
    - ANNOTATE_INTRA_FUNCTION_CALL
    - {.UN}REACHABLE

 - Optimize the annotation-sections parsing code (Peter Zijlstra)

 - Centralize annotation definitions in <linux/objtool.h>

 - Unify & simplify the barrier_before_unreachable()/unreachable()
   definitions (Peter Zijlstra)

 - Convert unreachable() calls to BUG() in x86 code, as
   unreachable() has unreliable code generation (Peter Zijlstra)

 - Remove annotate_reachable() and annotate_unreachable(), as it's
   unreliable against compiler optimizations (Peter Zijlstra)

 - Fix non-standard ANNOTATE_REACHABLE annotation order (Peter Zijlstra)

 - Robustify the annotation code by warning about unknown annotation
   types (Peter Zijlstra)

 - Allow arch code to discover jump table size, in preparation of
   annotated jump table support (Ard Biesheuvel)

 Thanks,

Ingo

20 Jan 2025: HID for 6.14 [+ + +]
please pull from

nus-2025012001

to receive HID subsystem queue for 6.14. Highlights:

=3D=3D=3D=3D=3D
- newly added support for Intel Touch Host Controller (Even Xu, Xinpeng=20
  Sun)
- hid-core fix for long-standing syzbot-reported cornercase of Resolution=
=20
  Multiplier not being present in any of the Logical Collections in the=20
  device HID report descriptor (Alan Stern)
- improvement of behavior for non-standard LED brightness values for Wacom=
=20
  driver (Jason Gerecke)
- PCI Wacom device support (depends on Intel THC support) (Even Xu)
- SteelSeries Arctis 9 support (Christian Mayer)
- constification of 'struct bin_attribute' in various HID driver (Thomas=20
  Wei=C3=9Fschuh)
- other assorted code cleanups / fixes and device ID additions
=3D=3D=3D=3D=3D

Thanks.

20 Jan 2025: locking changes for v6.14 [+ + +]



Locking changes for v6.14:

 - Lockdep:

    - Improve and fix lockdep bitsize limits, clarify the Kconfig
      documentation (Carlos Llamas)

    - Fix lockdep build warning on Clang related to
      chain_hlock_class_idx() inlining (Andy Shevchenko)

    - Relax the requirements of PROVE_RAW_LOCK_NESTING arch support
      by not tying it to ARCH_SUPPORTS_RT unnecessarily (Waiman Long)

 - Rust integration:

    - Support lock pointers managed by the C side (Lyude Paul)

    - Support guard types (Lyude Paul)

    - Update MAINTAINERS file filters to include the
      Rust locking code (Boqun Feng)

 - Wake-queues:

    - Add raw_spin_*wake() helpers to simplify locking code (John Stultz)

 - SMP cross-calls:

    - Fix potential data update race by evaluating the local cond_func()
      before IPI side-effects (Mathieu Desnoyers)

 - Guard primitives:

    - Ease [c]tags based searches by including the cleanup/guard type
      primitives (Peter Zijlstra)

 - ww_mutexes:

    - Simplify the ww_mutex self-test code via swap() (Thorsten Blum)

 - Static calls:

    - Update the static calls MAINTAINERS file-pattern (Jiri Slaby)

 Thanks,

Ingo

20 Jan 2025: chrome-platform-firmware updates for v6.14 [+ + +]

Hi Linus,


Thanks,
Tzung-Bi


chrome-platform-firmware: Updates for v6.14

* Cleanups

  - Constify 'struct bin_attribute'.

20 Jan 2025: chrome-platform updates for v6.14 [+ + +]

Hi Linus,


Thanks,
Tzung-Bi


chrome-platform: Updates for v6.14

* New

  - Support new EC if the memory region information comes from the CRS
    ACPI resource descriptor in cros_ec_lpc.

* Improvements

  - Make sure EC is in RW before probing.
  - Only check events on MKBP notifies to reduce the number of query
    commands in cros_ec_lpc.

* Cleanups

  - Remove unused code and DT bindings for cros-kbd-led-backlight.
  - Constify 'struct bin_attribute' in cros_ec_vbc.
  - Use str_enabled_disabled() in cros_usbpd_logger.

 
19 Jan 2025: ring-buffer: Updates for 6.14 [+ + +]

ring-buffer changes for v6.14

- Clean up the __rb_map_vma() logic

  The logic of __rb_map_vma() has a error check with WARN_ON() that makes
  sure that the index does not go past the end of the array of buffers. The
  test in the loop pretty much guarantees that it will never happen, but
  since the relation of the variables used is a little complex, the
  WARN_ON() check was added. It was noticed that the array was dereferenced
  before this check and if the logic does break and for some reason the
  logic goes past the array, there will be an out of bounds access here.
  Move the access to after the WARN_ON().

- Consolidate how the ring buffer is determined to be empty

  Currently there's two ways that are used to determine if the ring buffer
  is empty. One relies on the status of the commit and reader pages and what
  was read, and the other is on what was written vs what was read. By using
  the number of entries (written) method, it can be used for reading events
  that are out of the kernel's control (what pKVM will use). Move to this
  method to make it easier to implement a pKVM ring buffer that the kernel
  can read.




trace-ringbuffer-v6.14

19 Jan 2025: tracing: Updates for v6.14 [+ + +]

tracing updates for v6.14:

- Cleanup with guard() and free() helpers

  There were several places in the code that had a lot of "goto out" in the
  error paths to either unlock a lock or free some memory that was
  allocated. But this is error prone. Convert the code over to use the
  guard() and free() helpers that let the compiler unlock locks or free
  memory when the function exits.

- Update the Rust tracepoint code to use the C code too

  There was some duplication of the tracepoint code for Rust that did the
  same logic as the C code. Add a helper that makes it possible for both
  algorithms to use the same logic in one place.

- Add poll to trace event hist files

  It is useful to know when an event is triggered, or even with some
  filtering. Since hist files of events get updated when active and the
  event is triggered, allow applications to poll the hist file and wake up
  when an event is triggered. This will let the application know that the
  event it is waiting for happened.

- Add :mod: command to enable events for current or future modules

  The function tracer already has a way to enable functions to be traced in
  modules by writing ":mod:<module>" into set_ftrace_filter. That will
  enable either all the functions for the module if it is loaded, or if it
  is not, it will cache that command, and when the module is loaded that
  matches <module>, its functions will be enabled. This also allows init
  functions to be traced. But currently events do not have that feature.

  Add the command where if ':mod:<module>' is written into set_event, then
  either all the modules events are enabled if it is loaded, or cache it so
  that the module's events are enabled when it is loaded. This also works
  from the kernel command line, where "trace_event=:mod:<module>", when the
  module is loaded at boot up, its events will be enabled then.




trace-v6.14

19 Jan 2025: ftrace: Updates for v6.14 [+ + +]

ftrace updates for v6.14:

- Have fprobes built on top of function graph infrastructure

  The fprobe logic is an optimized kprobe that uses ftrace to attach to
  functions when a probe is needed at the start or end of the function. The
  fprobe and kretprobe logic implements a similar method as the function
  graph tracer to trace the end of the function. That is to hijack the
  return address and jump to a trampoline to do the trace when the function
  exits. To do this, a shadow stack needs to be created to store the
  original return address.  Fprobes and function graph do this slightly
  differently. Fprobes (and kretprobes) has slots per callsite that are
  reserved to save the return address. This is fine when just a few points
  are traced. But users of fprobes, such as BPF programs, are starting to add
  many more locations, and this method does not scale.

  The function graph tracer was created to trace all functions in the
  kernel. In order to do this, when function graph tracing is started, every
  task gets its own shadow stack to hold the return address that is going to
  be traced. The function graph tracer has been updated to allow multiple
  users to use its infrastructure. Now have fprobes be one of those users.
  This will also allow for the fprobe and kretprobe methods to trace the
  return address to become obsolete. With new technologies like CFI that
  need to know about these methods of hijacking the return address, going
  toward a solution that has only one method of doing this will make the
  kernel less complex.

- Cleanup with guard() and free() helpers

  There were several places in the code that had a lot of "goto out" in the
  error paths to either unlock a lock or free some memory that was
  allocated. But this is error prone. Convert the code over to use the
  guard() and free() helpers that let the compiler unlock locks or free
  memory when the function exits.

- Remove disabling of interrupts in the function graph tracer

  When function graph tracer was first introduced, it could race with
  interrupts and NMIs. To prevent that race, it would disable interrupts and
  not trace NMIs. But the code has changed to allow NMIs and also
  interrupts. This change was done a long time ago, but the disabling of
  interrupts was never removed. Remove the disabling of interrupts in the
  function graph tracer is it is not needed. This greatly improves its
  performance.

- Allow the :mod: command to enable tracing module functions on the kernel
  command line.

  The function tracer already has a way to enable functions to be traced in
  modules by writing ":mod:<module>" into set_ftrace_filter. That will
  enable either all the functions for the module if it is loaded, or if it
  is not, it will cache that command, and when the module is loaded that
  matches <module>, its functions will be enabled. This also allows init
  functions to be traced. But currently events do not have that feature.

  Because enabling function tracing can be done very early at boot up
  (before scheduling is enabled), the commands that can be done when
  function tracing is started is limited. Having the ":mod:" command to
  trace module functions as they are loaded is very useful. Update the
  kernel command line function filtering to allow it.




ftrace-v6.14

 
20 Jan 2025: kthread updates for v6.14 [+ + +]
A pull request from me on the topic of kthreads may appear out of
the blue but this "subsystem" has no official maintainer and nobody
loudly volunteered to take these changes. Therefore I'm carrying
these myself.

Thanks.

Kthreads affinity follow either of 4 existing different patterns:

1) Per-CPU kthreads must stay affine to a single CPU and never execute
   relevant code on any other CPU. This is currently handled by smpboot
   code which takes care of CPU-hotplug operations. Affinity here is
   a correctness constraint.

2) Some kthreads _have_ to be affine to a specific set of CPUs and can't
   run anywhere else. The affinity is set through kthread_bind_mask()
   and the subsystem takes care by itself to handle CPU-hotplug
   operations. Affinity here is assumed to be a correctness constraint.

3) Per-node kthreads _prefer_ to be affine to a specific NUMA node. This
   is not a correctness constraint but merely a preference in terms of
   memory locality. kswapd and kcompactd both fall into this category.
   The affinity is set manually like for any other task and CPU-hotplug
   is supposed to be handled by the relevant subsystem so that the task
   is properly reaffined whenever a given CPU from the node comes up.
   Also care should be taken so that the node affinity doesn't cross
   isolated (nohz_full) cpumask boundaries.

4) Similar to the previous point except kthreads have a _preferred_
   affinity different than a node. Both RCU boost kthreads and RCU
   exp kworkers fall into this category as they refer to "RCU nodes"
   from a distinctly distributed tree.

Currently the preferred affinity patterns (3 and 4) have at least 4
identified users, with more or less success when it comes to handle
CPU-hotplug operations and CPU isolation. Each of which do it in its own
ad-hoc way.

This is an infrastructure proposal to handle this with the following API
changes:

_ kthread_create_on_node() automatically affines the created kthread to
  its target node unless it has been set as per-cpu or bound with
  kthread_bind[_mask]() before the first wake-up.

- kthread_affine_preferred() is a new function that can be called right
  after kthread_create_on_node() to specify a preferred affinity
  different than the specified node.

When the preferred affinity can't be applied because the possible
targets are offline or isolated (nohz_full), the kthread is affine
to the housekeeping CPUs (which means to all online CPUs most of the
time or only the non-nohz_full CPUs when nohz_full= is set).

kswapd, kcompactd, RCU boost kthreads and RCU exp kworkers have been
converted, along with a few old drivers.

Summary of the changes:

* Consolidate a bunch of ad-hoc implementations of kthread_run_on_cpu()

* Introduce task_cpu_fallback_mask() that defines the default last
  resort affinity of a task to become nohz_full aware

* Add some correctness check to ensure kthread_bind() is always called
  before the first kthread wake up.

* Default affine kthread to its preferred node.

* Convert kswapd / kcompactd and remove their halfway working ad-hoc
  affinity implementation

* Implement kthreads preferred affinity

* Unify kthread worker and kthread API's style

* Convert RCU kthreads to the new API and remove the ad-hoc affinity
  implementation.

 
19 Jan 2025: Rust for 6.14 [+ + +]
This is the next round of the Rust support.

asked, but it is also still in GitHub too (like in previous occasions).
I may create a "group" repository in the future.

All commits have been in linux-next for a few rounds.

You may get major Rust changes via a driver-core PR and a Kbuild PR, as
well as smaller ones in a locking PR via tip, a lsm PR and a netdev-next
PR. You already got the blocks PR which contains a small Rust change as
well.

Conflicts expected with both the driver-core and security one. The
conflicts aren't too bad -- the resolutions in -next are fine.


Cheers,
Miguel

Rust changes for v6.14

Toolchain and infrastructure:

 - Finish the move to custom FFI integer types started in the previous
   cycle and finally map 'long' to 'isize' and 'char' to 'u8'. Do a few
   cleanups on top thanks to that.

 - Start to use 'derive(CoercePointee)' on Rust >= 1.84.0.

   This is a major milestone on the path to build the kernel using only
   stable Rust features. In particular, previously we were using the
   unstable features 'coerce_unsized', 'dispatch_from_dyn' and 'unsize',
   and now we will use the new 'derive_coerce_pointee' one, which is on
   track to stabilization. This new feature is a macro that essentially
   expands into code that internally uses the unstable features that we
   were using before, without having to expose those.

   With it, stable Rust users, including the kernel, will be able to
   build custom smart pointers that work with trait objects, e.g.:

       fn f(p: &Arc<dyn Display>) {
           pr_info!("{p}\n");
       }

       let a: Arc<dyn Display> = Arc::new(42i32, GFP_KERNEL)?;
       let b: Arc<dyn Display> = Arc::new("hello there", GFP_KERNEL)?;

       f(&a); // Prints "42".
       f(&b); // Prints "hello there".

   Together with the 'arbitrary_self_types' feature that we started
   using in the previous cycle, using our custom smart pointers like
   'Arc' will eventually only rely in stable Rust.

 - Introduce 'PROCMACROLDFLAGS' environment variable to allow to link
   Rust proc macros using different flags than those used for linking
   Rust host programs (e.g. when 'rustc' uses a different C library
   than the host programs' one), which Android needs.

 - Help kernel builds under macOS with Rust enabled by accomodating
   other naming conventions for dynamic libraries (i.e. '.so' vs.
   '.dylib') which are used for Rust procedural macros. The actual
   support for macOS (i.e. the rest of the pieces needed) is provided
   out-of-tree by others, following the policy used for other parts of
   the kernel by Kbuild.

 - Run Clippy for 'rusttest' code too and clean the bits it spotted.

 - Provide Clippy with the minimum supported Rust version to improve
   the suggestions it gives.

 - Document 'bindgen' 0.71.0 regression.

'kernel' crate:

 - 'build_error!': move users of the hidden function to the documented
   macro, prevent such uses in the future by moving the function
   elsewhere and add the macro to the prelude.

 - 'types' module: add improved version of 'ForeignOwnable::borrow_mut'
   (which was removed in the past since it was problematic); change
   'ForeignOwnable' pointer type to '*mut'.

 - 'alloc' module: implement 'Display' for 'Box' and align the 'Debug'
   implementation to it; add example (doctest) for 'ArrayLayout::new()'.

 - 'sync' module: document 'PhantomData' in 'Arc'; use
   'NonNull::new_unchecked' in 'ForeignOwnable for Arc' impl.

 - 'uaccess' module: accept 'Vec's with different allocators in
   'UserSliceReader::read_all'.

 - 'workqueue' module: enable run-testing a couple more doctests.

 - 'error' module: simplify 'from_errno()'.

 - 'block' module: fix formatting in code documentation (a lint to catch
   these is being implemented).

 - Avoid 'unwrap()'s in doctests, which also improves the examples by
   showing how kernel code is supposed to be written.

 - Avoid 'as' casts with 'cast{,_mut}' calls which are a bit safer.

And a few other cleanups.

19 Jan 2025: CRC updates for 6.14 [+ + +]
- Reorganize the architecture-optimized CRC32 and CRC-T10DIF code to be
  directly accessible via the library API, instead of requiring the
  crypto API.  This is much simpler and more efficient.

- Convert some users such as ext4 to use the CRC32 library API instead
  of the crypto API.  More conversions like this will come later.

- Add a KUnit test that tests and benchmarks multiple CRC variants.
  Remove older, less-comprehensive tests that are made redundant by
  this.

- Add an entry to MAINTAINERS for the kernel's CRC library code.  I'm
  volunteering to maintain it.  I have additional cleanups and
  optimizations planned for future cycles.

These patches have been in linux-next since -rc1.

 
18 Jan 2025: EDAC updates for v6.14 [+ + +]
please pull the accumulated EDAC lineup for v6.14.

Thx.

---

- Remove the EDAC PowerPC Cell driver due to the removal of the IBM Cell
  blades support

- Add a new EDAC driver for Loongson SoCs which reports single-bit correctable
  errors

- Extend the SKX and i10NM EDAC drivers to support UV systems which can have
  more than 8 nodes

- Add Intel Clearwater Forest server support to i10nm_edac

- Minor fix

18 Jan 2025: s390 updates for 6.14 merge window [+ + +]
please pull s390 updates for the 6.14 merge window.

Thanks,
Alexander

s390 updates for 6.14 merge window

- Select config option KASAN_VMALLOC if KASAN is enabled

- Select config option VMAP_STACK unconditionally

- Implement arch_atomic_inc() / arch_atomic_dec() functions
  which result in a single instruction if compiled for z196
  or newer architectures

- Make layering between atomic.h and atomic_ops.h consistent

- Comment s390 preempt_count implementation

- Remove pre MARCH_HAS_Z196_FEATURES preempt count implementation

- GCC uses the number of lines of an inline assembly to calculate
  number of instructions and decide on inlining. Therefore remove
  superfluous new lines from a couple of inline assemblies.

- Provide arch_atomic_*_and_test() implementations that allow the
  compiler to generate slightly better code.

- Optimize __preempt_count_dec_and_test()

- Remove __bootdata annotations from declarations in header files

- Add missing include of <linux/smp.h> in abs_lowcore.h to provide
  declarations for get_cpu() and put_cpu() used in the code

- Fix suboptimal kernel image base when running make kasan.config

- Remove huge_pte_none() and huge_pte_none_mostly() as are identical
  to the generic variants

- Remove unused PAGE_KERNEL_EXEC, SEGMENT_KERNEL_EXEC,
  and REGION3_KERNEL_EXEC defines

- Simplify noexec page protection handling and change the page,
  segment and region3 protection definitions automatically if the
  instruction execution-protection facility is not available

- Save one instruction and prefer EXRL instruction over EX in
  string, xor_*(), amode31 and other functions

- Create /dev/diag misc device to fetch diagnose specific
  information from the kernel and provide it to userspace

- Retrieve electrical power readings using DIAGNOSE 0x324 ioctl

- Make ccw_device_get_ciw() consistent and use array indices
  instead of pointer arithmetic

* s390/qdio: Move memory alloc/pointer arithmetic for slib and sl into one place

- The sysfs core now allows instances of 'struct bin_attribute' to be
  moved into read-only memory. Make use of that in s390 code

- Add missing TLB range adjustment in pud_free_tlb()

- Improve topology setup by adding early polarization detection

- Fix length checks in codepage_convert() function

- The generic bitops implementation is nearly identical to the s390 one.
  Switch to the generic variant and decrease a bit the kernel image size

- Provide an optimized arch_test_bit() implementation which makes use of
  flag output constraint. This generates slightly better code

- Provide memory topology information obtanied with DIAGNOSE 0x310
  using ioctl.

- Various other small improvements, fixes, and cleanups

These changes were added with a merge of  'pci-device-recovery' branch

- Add PCI error recovery status mechanism

- Simplify and document debug_next_entry() logic

- Split private data allocation and freeing out of debug file
  open() and close() operations

- Add debug_dump() function that gets a textual representation
  of a debug info (e.g. PCI recovery hardware error logs)

- Add formatted content of pci_debug_msg_id to the PCI report

 
17 Jan 2025: integrity: subsystem updates for v6.14 [+ + +]
There's just a couple of changes: 2 kernel messages addressed, a measuremen=
t policy
collision addressed, and 1 policy cleanup.
                                    =20
Please note that the contents of the IMA measurement list is potentially af=
fected.=20
The builtin tmpfs IMA policy rule change might introduce additional measure=
ments,
while detecting a reboot might eliminate some measurements.

thanks,

Mimi

integrity-v6.14

17 Jan 2025: cpupower second update for Linux 6.14-rc1 [+ + +]
Hi Rafael,


- Add missing residency header changes in cpuidle.h to SWIG

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.14-rc1-second

- Add missing residency header changes in cpuidle.h to SWIG

17 Jan 2025: RCU changes for v6.14 [+ + +]




fixes.2024.12.14a: RCU fixes
rcutorture.2024.12.14a: Torture-test updates
srcu.2024.12.14a: SRCU updates
torture-test.2024.12.14a: Adding an extra test, fixes

One merge conflicts was detected by linux-next:

* https://lore.kernel.org/lkml/20241220133738.1beae531@canb.auug.org.au/T/

The conflict resolution from linux-next look good to me, plus I make
my own resolutions at branch merge/rcu.2024.12.21a for your reference.


RCU pull request for v6.14

This pull request contains the following branches:

fixes.2024.12.14a: Misc fixes, check if IRQs are disabled in rcu_exp_need_qs(),
    instrument KCSAN exclusive-writer assertions, add extra WARN_ON_ONCE() check,
    set the cpu_no_qs.b.exp under lock, warn if callback enqueued on offline CPU.

rcutorture.2024.12.14a: Torture-test updates, add rcutorture.preempt_duration kernel
    module parameter, make the TREE03 scenario do preemption, improve pooling timeouts
    for rcu_torture_writer(), improve output of "Failure/close-call rcutorture reader
    segments", add some reader-state debugging checks, update doc of polled APIs, add
    extra diagnostics for per-reader-segment preemption.

srcu.2024.12.14a: SRCU updates, improve doc for srcu_read_lock() in terms of return
    value, fix typo in comments, remove redundant GP sequence checks in the
    srcu_funnel_gp_start.

torture-test.2024.12.14a: Add an extra test for sched_clock(), improve testing
    on unresponsive systems.


17 Jan 2025: slab updates for 6.14 [+ + +]
please pull the latest slab updates from:


There's a small conflict with the mm tree:
https://lore.kernel.org/all/20241216152721.15c5864d@canb.auug.org.au/

Thanks,
Vlastimil


* Move the kfree_rcu() implementation from RCU to SLAB subsystem
  (Uladzislau Rezki)

  The kfree_rcu() implementation has been historically maintained in the RCU
  subsystem. At LSF/MM we agreed to move it to SLAB, where it more logically
  belongs to. The batching is planned be more integrated with SLUB internals in
  the future, while using the RCU APIs like any other subsystem.

* Fix for kernel-doc warning (Randy Dunlap)

17 Jan 2025: USB-serial updates for 6.14-rc1 [+ + +]
USB-serial updates for 6.14-rc1

Here are the USB-serial updates for 6.14-rc1, including:

 - fix a long-standing NULL-deref issue in quatech2
 - add support for hardware flow control to ch341

Included is also a related clean up.

All have been in linux-next with no reported issues.

17 Jan 2025: drm for 6.14-rc1 (sending early due to holidays) [+ + +]
I'm away for next 10 days, so in advance of the merge window opening
and to demonstrate that I can do it, here is an early pull request.

I've done a trial merge to your current tree and only had minor merge
conflicts, of course this may change over time, but I think you can
take care of them or ping someone to help.

There are two external interactions of note, the msm tree pull in some
opp tree, hopefully the opp tree arrives from the same git tree
however it normally does.

There is also a new cgroup controller for device memory, that is used
by drm, so is merging through my tree. This will hopefully help open
up gpu cgroup usage a bit more and move us forward.

There is a new accelerator driver for the AMD XDNA Ryzen AI NPUs.

Then the usual xe/amdgpu/i915/msm leaders and lots of
changes/refactors across the board,

I should be back by the end of the merge window, and Sima is around if
anything needs escalating.

Regards,
Dave.

drm-next-2025-01-17:
drm next for 6.14-rc1

core:
- device memory cgroup controller added
- Remove driver date from drm_driver
- Add drm_printer based hex dumper
- drm memory stats docs update
- scheduler documentation improvements

new driver:
- amdxdna - Ryzen AI NPU support

connector:
- add a mutex to protect ELD
- make connector setup two-step

panels:
- Introduce backlight quirks infrastructure
- New panels: KDB KD116N2130B12, Tianma TM070JDHG34-00,
- Multi-Inno Technology MI1010Z1T-1CP11

bridge:
- ti-sn65dsi83: Add ti,lvds-vod-swing optional properties
- Provide default implementation of atomic_check for HDMI bridges
- it605: HDCP improvements, MCCS Support

xe:
- make OA buffer size configurable
- GuC capture fixes
- add ufence and g2h flushes
- restore system memory GGTT mappings
- ioctl fixes
- SRIOV PF scheduling priority
- allow fault injection
- lots of improvements/refactors
- Enable GuC's WA_DUAL_QUEUE for newer platforms
- IRQ related fixes and improvements

i915:
- More accurate engine busyness metrics with GuC submission
- Ensure partial BO segment offset never exceeds allowed max
- Flush GuC CT receive tasklet during reset preparation
- Some DG2 refactor to fix DG2 bugs when operating with certain CPUs
- Fix DG1 power gate sequence
- Enabling uncompressed 128b/132b UHBR SST
- Handle hdmi connector init failures, and no HDMI/DP cases
- More robust engine resets on Haswell and older

i915/xe display:
- HDCP fixes for Xe3Lpd
- New GSC FW ARL-H/ARL-U
- support 3 VDSC engines 12 slices
- MBUS joining sanitisation
- reconcile i915/xe display power mgmt
- Xe3Lpd fixes
- UHBR rates for Thunderbolt

amdgpu:
- DRM panic support
- track BO memory stats at runtime
- Fix max surface handling in DC
- Cleaner shader support for gfx10.3 dGPUs
- fix drm buddy trim handling
- SDMA engine reset updates
- Fix doorbell ttm cleanup
- RAS updates
- ISP updates
- SDMA queue reset support
- Rework DPM powergating interfaces
- Documentation updates and cleanups
- DCN 3.5 updates
- Use a pm notifier to more gracefully handle VRAM eviction on suspend
or hibernate
- Add debugfs interfaces for forcing scheduling to specific engine instance=
s
- GG 9.5 updates
- IH 4.4 updates
- Make missing optional firmware less noisy
- PSP 13.x updates
- SMU 13.x updates
- VCN 5.x updates
- JPEG 5.x updates
- GC 12.x updates
- DC FAMS updates

amdkfd:
- GG 9.5 updates
- Logging improvements
- Shader debugger fixes
- Trap handler cleanup
- Cleanup includes
- Eviction fence wq fix

msm:
- MDSS:
- properly described UBWC registers
- added SM6150 (aka QCS615) support
- DPU:
- added SM6150 (aka QCS615) support
- enabled wide planes if virtual planes are enabled (by using two
SSPPs for a single plane)
- added CWB hardware blocks support
- DSI:
- added SM6150 (aka QCS615) support
- GPU:
- Print GMU core fw version
- GMU bandwidth voting for a740 and a750
- Expose uche trap base via uapi
- UAPI error reporting

rcar-du:
- Add r8a779h0 Support

ivpu:
- Fix qemu crash when using passthrough

nouveau:
- expose GSP-RM logging buffers via debugfs

panfrost:
- Add MT8188 Mali-G57 MC3 support

rockchip:
- Gamma LUT support

hisilicon:
- new HIBMC support

virtio-gpu:
- convert to helpers
- add prime support for scanout buffers

v3d:
- Add DRM_IOCTL_V3D_PERFMON_SET_GLOBAL

vc4:
- Add support for BCM2712

vkms:
- line-per-line compositing algorithm to improve performance

zynqmp:
- Add DP audio support

mediatek:
- dp: Add sdp path reset
- dp: Support flexible length of DP calibration data

etnaviv:
- add fdinfo memory support
- add explicit reset handling
drm next for 6.14-rc1

core:
- device memory cgroup controller added
- Remove driver date from drm_driver
- Add drm_printer based hex dumper
- drm memory stats docs update
- scheduler documentation improvements

new driver:
- amdxdna - Ryzen AI NPU support

connector:
- add a mutex to protect ELD
- make connector setup two-step

panels:
- Introduce backlight quirks infrastructure
- New panels: KDB KD116N2130B12, Tianma TM070JDHG34-00,
- Multi-Inno Technology MI1010Z1T-1CP11

bridge:
- ti-sn65dsi83: Add ti,lvds-vod-swing optional properties
- Provide default implementation of atomic_check for HDMI bridges
- it605: HDCP improvements, MCCS Support

xe:
- make OA buffer size configurable
- GuC capture fixes
- add ufence and g2h flushes
- restore system memory GGTT mappings
- ioctl fixes
- SRIOV PF scheduling priority
- allow fault injection
- lots of improvements/refactors
- Enable GuC's WA_DUAL_QUEUE for newer platforms
- IRQ related fixes and improvements

i915:
- More accurate engine busyness metrics with GuC submission
- Ensure partial BO segment offset never exceeds allowed max
- Flush GuC CT receive tasklet during reset preparation
- Some DG2 refactor to fix DG2 bugs when operating with certain CPUs
- Fix DG1 power gate sequence
- Enabling uncompressed 128b/132b UHBR SST
- Handle hdmi connector init failures, and no HDMI/DP cases
- More robust engine resets on Haswell and older

i915/xe display:
- HDCP fixes for Xe3Lpd
- New GSC FW ARL-H/ARL-U
- support 3 VDSC engines 12 slices
- MBUS joining sanitisation
- reconcile i915/xe display power mgmt
- Xe3Lpd fixes
- UHBR rates for Thunderbolt

amdgpu:
- DRM panic support
- track BO memory stats at runtime
- Fix max surface handling in DC
- Cleaner shader support for gfx10.3 dGPUs
- fix drm buddy trim handling
- SDMA engine reset updates
- Fix doorbell ttm cleanup
- RAS updates
- ISP updates
- SDMA queue reset support
- Rework DPM powergating interfaces
- Documentation updates and cleanups
- DCN 3.5 updates
- Use a pm notifier to more gracefully handle VRAM eviction on suspend
or hibernate
- Add debugfs interfaces for forcing scheduling to specific engine instance=
s
- GG 9.5 updates
- IH 4.4 updates
- Make missing optional firmware less noisy
- PSP 13.x updates
- SMU 13.x updates
- VCN 5.x updates
- JPEG 5.x updates
- GC 12.x updates
- DC FAMS updates

amdkfd:
- GG 9.5 updates
- Logging improvements
- Shader debugger fixes
- Trap handler cleanup
- Cleanup includes
- Eviction fence wq fix

msm:
- MDSS:
- properly described UBWC registers
- added SM6150 (aka QCS615) support
- DPU:
- added SM6150 (aka QCS615) support
- enabled wide planes if virtual planes are enabled (by using two
SSPPs for a single plane)
- added CWB hardware blocks support
- DSI:
- added SM6150 (aka QCS615) support
- GPU:
- Print GMU core fw version
- GMU bandwidth voting for a740 and a750
- Expose uche trap base via uapi
- UAPI error reporting

rcar-du:
- Add r8a779h0 Support

ivpu:
- Fix qemu crash when using passthrough

nouveau:
- expose GSP-RM logging buffers via debugfs

panfrost:
- Add MT8188 Mali-G57 MC3 support

rockchip:
- Gamma LUT support

hisilicon:
- new HIBMC support

virtio-gpu:
- convert to helpers
- add prime support for scanout buffers

v3d:
- Add DRM_IOCTL_V3D_PERFMON_SET_GLOBAL

vc4:
- Add support for BCM2712

vkms:
- line-per-line compositing algorithm to improve performance

zynqmp:
- Add DP audio support

mediatek:
- dp: Add sdp path reset
- dp: Support flexible length of DP calibration data

etnaviv:
- add fdinfo memory support
- add explicit reset handling

 
16 Jan 2025: KVM x86 pull requests for 6.14 [+ + +]
The "misc" pull request has a conflict with the tip tree[*].  It's ugly, but
not super complex, and it's trivially easy to verify the result.

There are also two single-series topic branches, "vcpu_array" and "memslots",
but otherwise nothing out of the ordinary.

[*] https://lore.kernel.org/all/20250106150509.19432acd@canb.auug.org.au
16 Jan 2025: interconnect changes for 6.14 [+ + +]
This is the pull request with interconnect changes for the v6.14-rc1 merge
window. It contains a new driver and tiny DT binding updates. As always,
the summary is in the signed tag.

All patches have been in linux-next for a while. There are no reported

Thanks,
Georgi


interconnect changes for 6.14

This pull request contains the interconnect changes for the 6.14-rc1 merge
window. It contains one new driver and DT documentation updates for L3
and bandwidth monitors.

Driver changes:
- New driver for the SM8750 platform
- Add DT compatibles for QCS615 BWMON and SM8650 OSM

Signed-off-by: Georgi Djakov <djakov@kernel.org>

 
15 Jan 2025: hardening updates for v6.14-rc1 [+ + +]
kind of ended up being the catch-all for the tracepoint change, with the
core trace change having been reviewed by Rostedt.

Thanks!

-Kees

hardening updates for v6.14-rc1

- stackleak: Use str_enabled_disabled() helper (Thorsten Blum)

- Document GCC INIT_STACK_ALL_PATTERN behavior (Geert Uytterhoeven)

- Add task_prctl_unknown tracepoint (Marco Elver)

15 Jan 2025: pstore updates for v6.14-rc1 [+ + +]

Thanks!

-Kees

pstore updates for v6.14-rc1

- pstore/blk: trivial typo fixes (Eugen Hristev)

- pstore/zone: reject zero-sized allocations (Eugen Hristev)

15 Jan 2025: AT_EXECVE_CHECK introduction for v6.14-rc1 [+ + +]
this series from the core execve tree since it's had a life of its own
as it has progressed from O_MAY_EXEC. :) This provides userspace with
a way to opt in to performing "execability" checks for things that are
executable but don't pass through execve(2) (e.g. scripts, dlopen libs,
etc). It's seen quite a bit of discussion and review, and has lived in
-next for the entire dev cycle. Included is documentation, samples, and
extensive selftests.

Thanks!

-Kees

AT_EXECVE_CHECK introduction for v6.14-rc1

- Implement AT_EXECVE_CHECK flag to execveat(2) (Mickaël Salaün)

- Implement EXEC_RESTRICT_FILE and EXEC_DENY_INTERACTIVE securebits
  (Mickaël Salaün)

- Add selftests and samples for AT_EXECVE_CHECK (Mickaël Salaün)

15 Jan 2025: execve updates for v6.14-rc1 [+ + +]
request for v6.13-rc1, but with all the "comm" stuff now settled and has
lived in -next for the entire past dev cycle.

Thanks!

-Kees

execve updates for v6.14-rc1

- exec: fix up /proc/pid/comm in the execveat(AT_EMPTY_PATH) case
  (Tycho Andersen, Kees Cook)

- binfmt_misc: Fix comment typos (Christophe JAILLET)

- exec: move empty argv[0] warning closer to actual logic (Nir Lichtman)

- exec: remove legacy custom binfmt modules autoloading (Nir Lichtman)

- binfmt_flat: Fix integer overflow bug on 32 bit systems (Dan Carpenter)

- exec: Make sure set_task_comm() always NUL-terminates

- coredump: Do not lock when copying "comm"

- MAINTAINERS: add auxvec.h and set myself as maintainer

15 Jan 2025: LoongArch KVM changes for v6.14 [+ + +]
LoongArch KVM changes for v6.14

1. Clear LLBCTL if secondary mmu mapping changed.
2. Add hypercall service support for usermode VMM.

This is a really small changeset, because the Chinese New Year
(Spring Festival) is coming. Happy New Year!

 
12 Jan 2025: samsung: drivers: for v6.14, part two [+ + +]
Hi,

Previously I sent just one patch alone. It is not included here.

Best regards,
Krzysztof


Samsung SoC drivers for v6.14

1. Add new bindings for sysreg in Exynos8895.
2. Minor improvements in Exynos USI bindings.
3. Fix for Smatch warning in Exynos PMU syscon driver.

 
11 Jan 2025: extcon next for 6.14 [+ + +]
Dear Greg,

This is extcon-next pull request for v6.14. I add detailed description of

Best Regards,
Chanwoo Choi


Update extcon next for v6.14

Detailed description for this pull request:
- Fix null pointer check of memory allocation on extcon-rtk-type-c.c.
- Add EXTCON subsystem documentation including the detailed description/example.
- Drop unneeded init of struct i2c_device_id:driver_data on extcon-fsa9480/pth5150.c.

 
10 Jan 2025: arm64: dts: ti: K3 devicetree updates for v6.14 [+ + +]
Hi SoC maintainers,

warning around "Reported-by" without "Closes" - the report was an
internal report with no public facing URL and was hence skipped. I
decided to leave it alone to acknowledge the reporter.

TI K3 device tree updates for v6.14

Generic Fixups/Cleanups:
- Remove unused and undocumented "ti,(rx|tx)-fifo-depth" properties for
  ethernet phy
- Clock description added to ICSS-G

SoC Specific features and Fixes:
- Duplicate GICR reg defines in am62x/am62ax
- Mailbox nodes are enabled at board level bringing AM67/j722s/am62p to same
  behavior as other K3 SoCs.
- Introduction of deep-sleep state defines for pinctrl header

AM62Ax
- Enable ti-sysc for wkup_uart0

AM64:
- Switch ICSSG clock to core clock.

J7200:
- Disable SPI1 loopback default.

J784s4:
- Clock ID fix for McSPI instances
- Use j7200-padconf compatibility for padconf to enable suspend-to-ram support.

Board Specific:

AM62
- phyboard - hdmi bridge regulator and using 16bit input for hdmi bridge,
  vcc-supply for i2c eeprom
- SK - SoC wakeup using USB1, Add bootph property around cpsw mac syscon node,
  M4 mailbox node redefinition fixup.
- BeaglePlay: Fix ethernet phy reset time

AM64
- hummingboard-t: Convert PCIE/USB overlays to independent dts.

j7200:
- EVM: fix typo in overlay name.

j721e:
- EVM: overlay for pcie1 endpoint mode.

j722s:
- EVM: Add mcu_i2c0 support for expansion pins., Add USB0 DFU support, Enable
  PMIC
- AM67a-beagley-ai: Add remote proc nodes

j784s4:
- AM69-SK/ j784s4-EVM - Mark PMIC regulators with bootph-all property to
  indicate ones that are needed through boot phases.
- AM69-sk: PIC0 Endpoint mode overlay, USB Superspeed mode.

10 Jan 2025: MAINTAINERS: TI updates for v6.14 [+ + +]
Hi SoC maintainers,

Note: this PR could potentially go with soc drivers as well, but decided
to keep it separate to allow your discretion as to the path to take.


TI Maintainer updates for v6.14

- Maintain Programmable Real-time Unit Subsystem(PRUSS) SoC library interface
  header linux/pruss_driver.h

10 Jan 2025: soc: ti: Driver updates for v6.14 [+ + +]
Hi SoC maintainers,

TI SoC driver updates for v6.14

- Build fixup when CONFIG_TI_PRUSS is disabled.

 
8 Jan 2025: cpupower update for Linux 6.14-rc1 [+ + +]
Hi Rafael,


Several fixes, cleanups and AMD support enhancements:

- fix TSC MHz calculation
- Add install and uninstall options to bindings makefile
- Add header changes for cpufreq.h to SWIG bindings
- selftests/cpufreq: gitignore output files and clean them in make clean
- Remove spurious return statement
- Add support for parsing 'enabled' or 'disabled' strings from table
- Add support for amd-pstate preferred core rankings
- Don't try to read frequency from hardware when kernel uses aperf mperf
- Add support for showing energy performance preference
- Don't fetch maximum latency when EPP is enabled
- Adjust whitespace for amd-pstate specific prints
- Fix cross compilation
- revise is_valid flag handling for idle_monitor

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.14-rc1

Several fixes, cleanups and AMD support enhancements:

- fix TSC MHz calculation
- Add install and uninstall options to bindings makefile
- Add header changes for cpufreq.h to SWIG bindings
- selftests/cpufreq: gitignore output files and clean them in make clean
- Remove spurious return statement
- Add support for parsing 'enabled' or 'disabled' strings from table
- Add support for amd-pstate preferred core rankings
- Don't try to read frequency from hardware when kernel uses aperf mperf
- Add support for showing energy performance preference
- Don't fetch maximum latency when EPP is enabled
- Adjust whitespace for amd-pstate specific prints
- Fix cross compilation
- revise is_valid flag handling for idle_monitor

8 Jan 2025: clk: imx: Updates for v6.14 [+ + +]
i.MX clock changes for 6.14

- Fix the i.MX8MP clkout1/2 support by using sys_plln_out instead of
  sys_plln as parents
- Add 208 MHz and 416 MHz entries to the PLL1416x
- Fix the i.MX93 provider by adding the SPDIF IPG clock
- Fix the i.MX93 xcvr DT node clocks by using SPDIF IRP clock instead of
  BUS_WAKEUP
- Filter out LVDS, MIPI DSI, PXP, FLEXIO and MU clocks to i.MX93 only

 
7 Jan 2025: [PULL REQUEST] Intel IOMMU updates for v6.14 [+ + +]
Hi Joerg,

 
2 Jan 2025: nios2: update for v6.14 [+ + +]
NIOS2: update for v6.14
- Use str_yes_no() helper function

 
31 Dec 2024: w1: drivers for v6.14 [+ + +]
1-Wire bus drivers for v6.14

1. ds2482: Add support for handling the VCC regulator supply and three
   more minor improvements/cleanups.

2. Constify 'struct bin_attribute' in all drivers.

3. W1 core: use sysfs_emit() instead of sprintf(), as preferred coding
   style.

31 Dec 2024: memory: drivers for v6.14 [+ + +]
Memory controller drivers for v6.14

1. OMAP GPMC: Cleanup dead code.
2. Tegra20 EMC: Fix OF reference counting when iterating over
   emc-tables.

31 Dec 2024: pinctrl: samsung: drivers for v6.14 [+ + +]
Hi,

Fixes for old issues, not critical, so not worth current RC.

Best regards,
Krzysztof


Samsung pinctrl drivers changes for v6.14

Two fixes for very old issues around error handling and also one
cleanup.

31 Dec 2024: arm64: dts: various for v6.14 [+ + +]
Hi,

Few cleanups for two platforms which were not picked up by maintainers.

Best regards,
Krzysztof


Minor improvements in ARM64 DTS for v6.14

1. Spreadtrum:
   - Correct few issues pointed out by DT schema around properties and
     node names.
   - Move fuel-gauge from DTSI to DTS, because it belongs to the board.
   - Use undeprecated properties, like battery-detect-gpios, already
     supported by Linux.

2. Uniphier: Use un-deprecated hp-det-gpios (no ABI impact expected).

31 Dec 2024: clk: samsung: drivers for v6.14 [+ + +]
Samsung SoC clock drivers changes for 6.14

Add clock controller for new Exynos990 SoC.

 
29 Dec 2024: RISC-V T-HEAD Devicetrees for v6.14 [+ + +]
Hi Arnd,

There is only one thead device tree change for this cycle. I have run
W=1 dtbs_check, and it has been in linux-next for over 2 weeks.

Thanks,
Drew

thead-dt-for-v6.14: T-HEAD Devicetrees for v6.14

Add mailbox node for the T-Head TH1520 RISC-V SoC. The mailbox bindings
and driver were already merged in v6.13:

b2cf36e4a2ac ("dt-bindings: mailbox: Add thead,th1520-mailbox bindings")
5d4d263e1c6b ("mailbox: Introduce support for T-head TH1520 Mailbox driver")

Signed-off-by: Drew Fustini <drew@pdp7.com>

 
20 Dec 2024: LOCKDEP and Rust locking changes for v6.14 [+ + +]
Hi Peter & Ingo,


Lockdep changes for v6.14:

- Use swap() macro in the ww_mutex test.
- Minor fixes and documentation for lockdep configs on internal data structure sizes.
- Some "-Wunused-function" warning fixes for Clang.

Rust locking changes for v6.14:

- Add Rust locking files into LOCKING PRIMITIVES maintainer entry.
- Add `Lock<(), ..>::from_raw()` function to support abstraction on low level locking.
- Expose `Guard::new()` for public usage and add type alias for spinlock and mutex guards.
- Add lockdep checking when creating a new lock `Guard`.

 
14 Dec 2024: memory: stable tag with TI AEMIF for v6.14 [+ + +]
Hi,

TI AEMIF memory bits for NAND/MTD.

Best regards,
Krzysztof


Memory controller drivers for v6.14 - TI

TI AEMIF driver enhancements: some refactoring around timing
parameters and finally adding plus exporting interfaces for devices
using the AEMIF interface (e.g. TI Davinci NAND controller) to better
configure the memory interface.

The exported functions are going to be used by:
drivers/mtd/nand/raw/davinci_nand.c