Latest Linux kernel releases

  19.12 6.12.6, 6.6.67, 6.1.121, 5.15.175, 5.10.232, 5.4.288
  05.12 6.11.11, 4.19.325

Significant pull requests for mainline kernel

 
14 Nov 2024: Networking for v6.12-rc8 [+ + +]
Including fixes from bluetooth.

Quite calm week. No new regression under investigation.

Current release - regressions:

  - eth: revert "igb: Disable threaded IRQ for igb_msix_other"

Current release - new code bugs:

  - bluetooth: btintel: direct exception event to bluetooth stack

Previous releases - regressions:

  - core: fix data-races around sk->sk_forward_alloc

  - netlink: terminate outstanding dump on socket close

  - mptcp: error out earlier on disconnect

  - vsock: fix accept_queue memory leak

  - phylink: ensure PHY momentary link-fails are handled

  - eth: mlx5:
    - fix null-ptr-deref in add rule err flow
    - lock FTE when checking if active

  - eth: dwmac-mediatek: fix inverted handling of mediatek,mac-wol

Previous releases - always broken:

  - sched: fix u32's systematic failure to free IDR entries for hnodes.

  - sctp: fix possible UAF in sctp_v6_available()

  - eth: bonding: add ns target multicast address to slave device

  - eth: mlx5: fix msix vectors to respect platform limit

  - eth: icssg-prueth: fix 1 PPS sync

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

 
13 Nov 2024: bpf for v6.12-rc8 [+ + +]
BPF fixes:

- Fix a mismatching RCU unlock flavor in bpf_out_neigh_v6
  (Jiawei Ye)

- Fix BPF sockmap with kTLS to reject vsock and unix sockets
  upon kTLS context retrieval (Zijian Zhang)

- Fix BPF bits iterator selftest for s390x (Hou Tao)

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

 
7 Nov 2024: Networking for v6.12-rc7 [+ + +]
Including fixes from can and netfilter.

Things are slowing down quite a bit, mostly driver fixes here.
No known ongoing investigations.

Current release - new code bugs:

 - eth: ti: am65-cpsw:
   - fix multi queue Rx on J7
   - fix warning in am65_cpsw_nuss_remove_rx_chns()

Previous releases - regressions:

 - mptcp: do not require admin perm to list endpoints, got missed
   in a refactoring

 - mptcp: use sock_kfree_s instead of kfree

Previous releases - always broken:

 - sctp: properly validate chunk size in sctp_sf_ootb() fix OOB access

 - virtio_net: make RSS interact properly with queue number

 - can: mcp251xfd: mcp251xfd_get_tef_len(): fix length calculation

 - can: mcp251xfd: mcp251xfd_ring_alloc(): fix coalescing configuration
   when switching CAN modes

Misc:

 - revert earlier hns3 fixes, they were ignoring IOMMU abstractions
   and need to be reworked

 - can: {cc770,sja1000}_isa: allow building on x86_64

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

 
6 Nov 2024: platform-drivers-x86 for 6.12-4 [+ + +]
Here is another round of fixes for platform-drivers-x86 for 6.12.

Highlights:
 - AMD PMF: Add new hardware id
 - AMD PMC: Fix crash when loaded with enable_stb=1 on devices without STB
 - Dell: Add Alienware hwid for Alienware systems with Dell WMI interface
 - thinkpad_acpi: Quirk to fix wrong fan speed readings on L480
 - New hotkey mappings for Dell and Lenovo laptops

Regards,

Hans


platform-drivers-x86 for v6.12-4

Highlights:
 - AMD PMF: Add new hardware id
 - AMD PMC: Fix crash when loaded with enable_stb=1 on devices without STB
 - Dell: Add Alienware hwid for Alienware systems with Dell WMI interface
 - thinkpad_acpi: Quirk to fix wrong fan speed readings on L480
 - New hotkey mappings for Dell and Lenovo laptops

The following is an automated git shortlog grouped by driver:

dell-smbios-base:
 -  Extends support to Alienware products

dell-wmi-base:
 -  Handle META key Lock/Unlock events

ideapad-laptop:
 -  add missing Ideapad Pro 5 fn keys

platform/x86/amd/pmc:
 -  Detect when STB is not available

platform/x86/amd/pmf:
 -  Add SMU metrics table support for 1Ah family 60h model

thinkpad_acpi:
 -  Fix for ThinkPad's with ECFW showing incorrect fan speed

 
2 Nov 2024: Input updates for v6.12-rc5 [+ + +]


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

- a fix for regression in input core introduced in 6.11 preventing
  re-registering input handlers

- a fix for adp5588-keys driver tyring to disable interrupt 0 at suspend
  when devices is used without interrupt

- a fix for edt-ft5x06 to stop leaking regmap structure when probing
  fails and to make sure it is not released too early on removal.

Changelog:
---------

 
1 Nov 2024: bpf for v6.12-rc6 [+ + +]
BPF fixes:

- Fix BPF verifier to force a checkpoint when the program's jump
  history becomes too long (Eduard Zingerman)

- Add several fixes to the BPF bits iterator addressing issues
  like memory leaks and overflow problems (Hou Tao)

- Fix an out-of-bounds write in trie_get_next_key (Byeonguk Jeong)

- Fix BPF test infra's LIVE_FRAME frame update after a page has
  been recycled (Toke Høiland-Jørgensen)

- Fix BPF verifier and undo the 40-bytes extra stack space for
  bpf_fastcall patterns due to various bugs (Eduard Zingerman)

- Fix a BPF sockmap race condition which could trigger a NULL
  pointer dereference in sock_map_link_update_prog (Cong Wang)

- Fix tcp_bpf_recvmsg_parser to retrieve seq_copied from tcp_sk
  under the socket lock (Jiayuan Chen)

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

 
31 Oct 2024: Networking for v6.12-rc6 [+ + +]
Including fixes from WiFi, bluetooth and netfilter.

No known new regressions outstanding.

Current release - regressions:

  - wifi: mt76: do not increase mcu skb refcount if retry is not supported

Current release - new code bugs:

  - wifi:
    - rtw88: fix the RX aggregation in USB 3 mode
    - mac80211: fix memory corruption bug in struct ieee80211_chanctx

Previous releases - regressions:

  - sched:
    - stop qdisc_tree_reduce_backlog on TC_H_ROOT
    - sch_api: fix xa_insert() error path in tcf_block_get_ext()

  - wifi:
    - revert "wifi: iwlwifi: remove retry loops in start"
    - cfg80211: clear wdev->cqm_config pointer on free

  - netfilter: fix potential crash in nf_send_reset6()

  - ip_tunnel: fix suspicious RCU usage warning in ip_tunnel_find()

  - bluetooth: fix null-ptr-deref in hci_read_supported_codecs

  - eth: mlxsw: add missing verification before pushing Tx header

  - eth: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue

Previous releases - always broken:

  - wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower

  - netfilter: sanitize offset and length before calling skb_checksum()

  - core:
    - fix crash when config small gso_max_size/gso_ipv4_max_size
    - skip offload for NETIF_F_IPV6_CSUM if ipv6 header contains extension

  - mptcp: protect sched with rcu_read_lock

  - eth: ice: fix crash on probe for DPLL enabled E810 LOM

  - eth: macsec: fix use-after-free while sending the offloading packet

  - eth: stmmac: fix unbalanced DMA map/unmap for non-paged SKB data

  - eth: hns3: fix kernel crash when 1588 is sent on HIP08 devices

  - eth: mtk_wed: fix path of MT7988 WO firmware

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

 
26 Oct 2024: platform-drivers-x86 for 6.12-3 [+ + +]
Here is the second round of fixes for platform-drivers-x86 for 6.12.

Highlights:
 - Asus thermal profile fix, fixing performance issues on Lunar Lake
 - Intel PMC: 1 revert for a lockdep issue + 1 bugfix
 - Dell WMI: Ignore some WMI events on suspend/resume to silence warnings

Regards,

Hans


platform-drivers-x86 for v6.12-3

Highlights:
 - Asus thermal profile fix, fixing performance issues on Lunar Lake
 - Intel PMC: 1 revert for a lockdep issue + 1 bugfix
 - Dell WMI: Ignore some WMI events on suspend/resume to silence warnings

The following is an automated git shortlog grouped by driver:

asus-wmi:
 -  Fix thermal profile initialization

dell-wmi:
 -  Ignore suspend notifications

intel/pmc:
 -  Revert "Enable the ACPI PM Timer to be turned off when suspended"

platform/x86/intel/pmc:
 -  Fix pmc_core_iounmap to call iounmap for valid addresses

26 Oct 2024: more 9p reverts for 6.12-rc5 [+ + +]
- see tip commit (simplify iget revert) for full explanation.
This problem had been ignored for too long and the reverts will also
head to stable (6.9+)
- rebased yesterday to remove the use-folio revert that was applied
directly, but patches are fairly new anyway. I'm confident this set of
patches gets us back to previous behaviour (another related patch had
already been reverted back in April and we're almost back to square 1,
and the rest didn't touch inode lifecycle)

Thanks!


Revert patches causing inode collision problems

 
25 Oct 2024: ACPI updates for v6.12-rc5 [+ + +]

 acpi-6.12-rc5




 Linux 6.12-rc4

to receive ACPI updates for 6.12-rc5.

These fix an ACPI PRM (Platform Runtime Mechanism) issue and add two
new DMI quirks, one for an ACPI IRQ override and one for lid switch
detection:

 - Make acpi_parse_prmt() look for EFI_MEMORY_RUNTIME memory regions
   only to comply with the UEFI specification and make PRM use
   efi_guid_t instead of guid_t to avoid a compiler warning triggered
   by that change (Koba Ko, Dan Carpenter).

 - Add an ACPI IRQ override quirk for LG 16T90SP (Christian Heusel).

 - Add a lid switch detection quirk for Samsung Galaxy Book2 (Shubham
   Panwar).

Thanks!



 
24 Oct 2024: bpf for v6.12-rc5 [+ + +]
BPF fixes:

- Fix an out-of-bounds read in bpf_link_show_fdinfo for BPF
  sockmap link file descriptors (Hou Tao)

- Fix BPF arm64 JIT's address emission with tag-based KASAN
  enabled reserving not enough size (Peter Collingbourne)

- Fix BPF verifier do_misc_fixups patching for inlining of the
  bpf_get_branch_snapshot BPF helper (Andrii Nakryiko)

- Fix a BPF verifier bug and reject BPF program write attempts
  into read-only marked BPF maps (Daniel Borkmann)

- Fix perf_event_detach_bpf_prog error handling by removing an
  invalid check which would skip BPF program release (Jiri Olsa)

- Fix memory leak when parsing mount options for the BPF
  filesystem (Hou Tao)

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

24 Oct 2024: Networking for v6.12-rc5 [+ + +]
Oddily this includes a fix for posix clock regression; in our previous PR
we included a change there as a pre-requisite for networking one.
Such fix proved to be buggy and requires the follow-up included here.
Thomas suggested we should send it, given we sent the buggy patch.

Including fixes from netfiler, xfrm and bluetooth.

Current release - regressions:

  - posix-clock: Fix unbalanced locking in pc_clock_settime()

  - netfilter: fix typo causing some targets not to load on IPv6

Current release - new code bugs:

  - xfrm: policy: remove last remnants of pernet inexact list

Previous releases - regressions:

  - core: fix races in netdev_tx_sent_queue()/dev_watchdog()

  - bluetooth: fix UAF on sco_sock_timeout

  - eth: hv_netvsc: fix VF namespace also in synthetic NIC NETDEV_REGISTER event

  - eth: usbnet: fix name regression

  - eth: be2net: fix potential memory leak in be_xmit()

  - eth: plip: fix transmit path breakage

Previous releases - always broken:

  - sched: deny mismatched skip_sw/skip_hw flags for actions created by classifiers

  - netfilter: bpf: must hold reference on net namespace

  - eth: virtio_net: fix integer overflow in stats

  - eth: bnxt_en: replace ptp_lock with irqsave variant

  - eth: octeon_ep: add SKB allocation failures handling in __octep_oq_process_rx()

Misc:

  - MAINTAINERS: add Simon as an official reviewer

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

 
23 Oct 2024: jfs updates for v6.12-rc5 [+ + +]
Fix a regression introduced in 6.12-rc1

 
20 Oct 2024: xen: branch for v6.12-rc4 [+ + +]
Please git pull the following tag:


xen: branch for v6.12-rc4

It contains just a single fix for a build failure introduced with a
patch in the 6.12 merge window.

Thanks.

Juergen

 drivers/xen/Kconfig                |  1 -
 
18 Oct 2024: Input updates for v6.12-rc3 [+ + +]


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

- a fix for Zinitix driver to not fail probing if property enabling
  touch keys functionality is not defined. Support for touch keys was
  added in 6.12 merge window so this issue does not affect users of
  released kernels

- a couple new vendor/device IDs in xpad driver to enable support
  for more hardware.

Changelog:
---------

18 Oct 2024: bpf for v6.12-rc4 [+ + +]
BPF fixes:

- Fix BPF verifier to not affect subreg_def marks in its range
  propagation, from Eduard Zingerman.

- Fix a truncation bug in the BPF verifier's handling of
  coerce_reg_to_size_sx, from Dimitar Kanaliev.

- Fix the BPF verifier's delta propagation between linked
  registers under 32-bit addition, from Daniel Borkmann.

- Fix a NULL pointer dereference in BPF devmap due to missing
  rxq information, from Florian Kauer.

- Fix a memory leak in bpf_core_apply, from Jiri Olsa.

- Fix an UBSAN-reported array-index-out-of-bounds in BTF
  parsing for arrays of nested structs, from Hou Tao.

- Fix build ID fetching where memory areas backing the file
  were created with memfd_secret, from Andrii Nakryiko.

- Fix BPF task iterator tid filtering which was incorrectly
  using pid instead of tid, from Jordan Rome.

- Several fixes for BPF sockmap and BPF sockhash redirection
  in combination with vsocks, from Michal Luczaj.

- Fix riscv BPF JIT and make BPF_CMPXCHG fully ordered,
  from Andrea Parri.

- Fix riscv BPF JIT under CONFIG_CFI_CLANG to prevent the
  possibility of an infinite BPF tailcall, from Pu Lehui.

- Fix a build warning from resolve_btfids that bpf_lsm_key_free
  cannot be resolved, from Thomas Weißschuh.

- Fix a bug in kfunc BTF caching for modules where the wrong
  BTF object was returned, from Toke Høiland-Jørgensen.

- Fix a BPF selftest compilation error in cgroup-related tests
  with musl libc, from Tony Ambardar.

- Several fixes to BPF link info dumps to fill missing fields,
  from Tyrone Wu.

- Add BPF selftests for kfuncs from multiple modules, checking
  that the correct kfuncs are called, from Simon Sundberg.

- Ensure that internal and user-facing bpf_redirect flags
  don't overlap, also from Toke Høiland-Jørgensen.

- Switch to use kvzmalloc to allocate BPF verifier environment,
  from Rik van Riel.

- Use raw_spinlock_t in BPF ringbuf to fix a sleep in atomic
  splat under RT, from Wander Lairson Costa.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
18 Oct 2024: Power management updates for v6.12-rc4 [+ + +]

 pm-6.12-rc4


 Merge branch 'pm-cpufreq'


 Linux 6.12-rc3

to receive power management updates for 6.12-rc4.

These fix two issues in the amd-pstate cpufreq driver and update the
intel_rapl power capping driver with a new processor ID.

Specifics:

 - Enable ACPI CPPC in amd_pstate_register_driver() after disabling
   it in amd_pstate_unregister_driver() when switching driver operation
   modes (Dhananjay Ugwekar).

 - Make amd-pstate use nominal performance as the maximum performance
   level when boost is disabled (Mario Limonciello).

 - Add ArrowLake-H to the list of processors where PL4 is supported
   in the MSR part of the intel_rapl power capping driver (Srinivas
   Pandruvada).

Thanks!



18 Oct 2024: USB-serial device ids for 6.12-rc4 [+ + +]
USB-serial device ids for 6.12-rc4

Here are some new modem device ids.

Everything has been in linux-next over night with no reported issues.

 
17 Oct 2024: Networking for v6.12-rc4 [+ + +]
No contributions from subtrees.

Current release - new code bugs:

  - eth: mlx5: HWS, don't destroy more bwc queue locks than allocated

Previous releases - regressions:

  - ipv4: give an IPv4 dev to blackhole_netdev

  - udp: compute L4 checksum as usual when not segmenting the skb

  - tcp/dccp: don't use timer_pending() in reqsk_queue_unlink().

  - eth: mlx5e: don't call cleanup on profile rollback failure

  - eth: microchip: vcap api: fix memory leaks in vcap_api_encode_rule_test()

  - eth: enetc: disable Tx BD rings after they are empty

  - eth: macb: avoid 20s boot delay by skipping MDIO bus registration for fixed-link PHY

Previous releases - always broken:

  - posix-clock: fix missing timespec64 check in pc_clock_settime()

  - genetlink: hold RCU in genlmsg_mcast()

  - mptcp: prevent MPC handshake on port-based signal endpoints

  - eth: vmxnet3: fix packet corruption in vmxnet3_xdp_xmit_frame

  - eth: stmmac: dwmac-tegra: fix link bring-up sequence

  - eth: bcmasp: fix potential memory leak in bcmasp_xmit()

Misc:

  - add Andrew Lunn as a co-maintainer of all networking drivers

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

 
11 Oct 2024: fbdev platform_driver::remove() migration for v6.12-rc3 [+ + +]
will you consider pulling one huge, but trivial patch from Uwe Kleine-König
to switch all fbdev drivers at once back to struct platform_driver::remove()?

Thanks,
Helge

fbdev platform driver migration for 6.12-rc3:

- switch fbdev drivers back to struct platform_driver::remove()

11 Oct 2024: Power management updates for v6.12-rc3 [+ + +]

 pm-6.12-rc3


 thermal: intel: int340x: processor: Add MMIO RAPL PL4 support


 Merge tag 'acpi-6.12-rc2' of

to receive power management updates for 6.12-rc3.

These address two issues in the TPMI module of the Intel RAPL power
capping driver and one issue in the processor part of the Intel int340x
thermal driver, update a CPU ID list and register definitions needed
for RAPL PL4 support and remove some unused code.

Specifics:

 - Fix the TPMI_RAPL_REG_DOMAIN_INFO register offset in the TPMI part of
   the Intel RAPL power capping driver, make it ignore minor hardware
   version mismatches (which only indicate exposing additional features)
   and update register definitions in it to enable PL4 support (Zhang
   Rui).

 - Add Arrow Lake-U to the list of processors supporting PL4 in the MSR
   part of the Intel RAPL power capping driver (Sumeet Pawnikar).

 - Remove excess pci_disable_device() calls from the processor part of
   the int340x thermal driver to address a warning triggered during
   module unload and remove unused CPU hotplug code related to RAPL
   support from it (Zhang Rui).

Thanks!



11 Oct 2024: xen: branch for v6.12-rc3 [+ + +]
Please git pull the following tag:


xen: branch for v6.12-rc3

It contains a single fix for topology information of Xen PV guests.

Thanks.

Juergen

 
10 Oct 2024: Networking for v6.12-rc3 [+ + +]
Including fixes from bluetooth and netfilter.

Current release - regressions:

 - dsa: sja1105: fix reception from VLAN-unaware bridges

 - Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled"

 - eth: fec: don't save PTP state if PTP is unsupported

Current release - new code bugs:

 - smc: fix lack of icsk_syn_mss with IPPROTO_SMC, prevent null-deref

 - eth: airoha: update Tx CPU DMA ring idx at the end of xmit loop

 - phy: aquantia: AQR115c fix up PMA capabilities

Previous releases - regressions:

 - tcp: 3 fixes for retrans_stamp and undo logic

Previous releases - always broken:

 - net: do not delay dst_entries_add() in dst_release()

 - netfilter: restrict xtables extensions to families that are safe,
   syzbot found a way to combine ebtables with extensions that are
   never used by userspace tools

 - sctp: ensure sk_state is set to CLOSED if hashing fails in
   sctp_listen_start

 - mptcp: handle consistently DSS corruption, and prevent corruption
   due to large pmtu xmit

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

 
6 Oct 2024: platform-drivers-x86 for 6.12-2 [+ + +]
Here is the first round of fixes for platform-drivers-x86 for 6.12.

Highlights:
 -  Intel PMC fix for suspend/resume issues on some Sky and Kaby Lake laptops
 -  Intel Diamond Rapids hw-id additions
 -  Documentation and MAINTAINERS fixes
 -  Some other small fixes

Regards,

Hans


platform-drivers-x86 for v6.12-2

Highlights:
 -  Intel PMC fix for suspend/resume issues on some Sky and Kaby Lake laptops
 -  Intel Diamond Rapids hw-id additions
 -  Documentation and MAINTAINERS fixes
 -  Some other small fixes

The following is an automated git shortlog grouped by driver:

ISST:
 -  Add Diamond Rapids to support list
 -  Fix the KASAN report slab-out-of-bounds bug

MAINTAINERS:
 -  Update Intel In Field Scan(IFS) entry

dell-ddv:
 -  Fix typo in documentation

dell-laptop:
 -  Do not fail when encountering unsupported batteries

dell-sysman:
 -  add support for alienware products

intel/pmc:
 -  Disable ACPI PM Timer disabling on Sky and Kaby Lake

platform/x86/intel:
 -  power-domains: Add Diamond Rapids support

wmi:
 -  Update WMI driver API documentation

x86-android-tablets:
 -  Fix use after free on platform_device_register() errors

 
5 Oct 2024: xen: branch for v6.12-rc2 [+ + +]
Please git pull the following tag:


xen: branch for v6.12-rc2

It contains just a single patch fixing an issue introduced in the
6.12 merge window.

Thanks.

Juergen

 
4 Oct 2024: ACPI updates for v6.12-rc2 [+ + +]

 acpi-6.12-rc2




 Linux 6.12-rc1

to receive ACPI updates for 6.12-rc2.

These fix up the ACPI IRQ override quirk list and add two new entries
to it, add a new quirk to the ACPI backlight (video) driver, and fix
the ACPI battery driver.

Specifics:

 - Add a quirk for Dell OptiPlex 5480 AIO to the ACPI backlight (video)
   driver (Hans de Goede).

 - Prevent the ACPI battery driver from crashing when unregistering a
   battery hook and simplify battery hook locking in it (Armin Wolf).

 - Fix up the ACPI IRQ override quirk list and add quirks for Asus
   Vivobook X1704VAP and Asus ExpertBook B2502CVA to it (Hans de Goede).

Thanks!



 
3 Oct 2024: Networking for v6.12-rc2 [+ + +]
Including fixes from ieee802154, bluetooth and netfilter.

Current release - regressions:

  - eth: mlx5: fix wrong reserved field in hca_cap_2 in mlx5_ifc

  - eth: am65-cpsw: fix forever loop in cleanup code

Current release - new code bugs:

  - eth: mlx5: HWS, fixed double-free in error flow of creating SQ

Previous releases - regressions:

  - core: avoid potential underflow in qdisc_pkt_len_init() with UFO

  - core: test for not too small csum_start in virtio_net_hdr_to_skb()

  - vrf: revert "vrf: remove unnecessary RCU-bh critical section"

  - bluetooth:
    - fix uaf in l2cap_connect
    - fix possible crash on mgmt_index_removed

  - dsa: improve shutdown sequence

  - eth: mlx5e: SHAMPO, fix overflow of hd_per_wq

  - eth: ip_gre: fix drops of small packets in ipgre_xmit

Previous releases - always broken:

  - core: fix gso_features_check to check for both dev->gso_{ipv4_,}max_size

  - core: fix tcp fraglist segmentation after pull from frag_list

  - netfilter: nf_tables: prevent nf_skb_duplicated corruption

  - sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start

  - mac802154: fix potential RCU dereference issue in mac802154_scan_worker

  - eth: fec: restart PPS after link state change

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

 
2 Oct 2024: Input updates for v6.12-rc1 [+ + +]


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

- a couple fixups for adp5589-keys driver

- recently added driver for PixArt PS/2 touchpads is dropped temporarily
  because its detection routine is too greedy and mis-identifies devices
  from other vendors as PixArt devices.

Changelog:
---------

 
29 Sep 2024: Mailbox changes for v6.12 [+ + +]
mhu-v3, omap2+ : fix kconfig dependencies
imx: use devie name instead of genereic imx_mu_chan as interrupt name
qcom: enable sa8255p and qcs8300 ipc controllers
bcm2835: Fix timeout during suspend mode
mailbox: convert to use use of_property_match_string
mediatek: enable mt8188
spreadtrum: use devm_clk_get_enabled helpers
rockchip: fix device-id typo

29 Sep 2024: locking changes for v6.12 [+ + +]




Locking changes for v6.12:

 - lockdep:
    - Fix potential deadlock between lockdep and RCU (Zhiguo Niu)
    - Use str_plural() to address Coccinelle warning (Thorsten Blum)
    - Add debuggability enhancement (Luis Claudio R. Goncalves)

 - static keys & calls:
    - Fix static_key_slow_dec() yet again (Peter Zijlstra)
    - Handle module init failure correctly in static_call_del_module() (Thomas Gleixner)
    - Replace pointless WARN_ON() in static_call_module_notify() (Thomas Gleixner)

 - <linux/cleanup.h>:
    - Add usage and style documentation (Dan Williams)

 - rwsems:
    - Move is_rwsem_reader_owned() and rwsem_owner() under CONFIG_DEBUG_RWSEMS (Waiman Long)

 - atomic ops, x86:
    - Redeclare x86_32 arch_atomic64_{add,sub}() as void (Uros Bizjak)
    - Introduce the read64_nonatomic macro to x86_32 with cx8 (Uros Bizjak)

 Thanks,

Ingo

 
28 Sep 2024: KVM/x86 changes for Linux 6.12 [+ + +]
x86:

* KVM currently invalidates the entirety of the page tables, not just
  those for the memslot being touched, when a memslot is moved or deleted.
  The former does not have particularly noticeable overhead, but Intel's
  TDX will require the guest to re-accept private pages if they are
  dropped from the secure EPT, which is a non starter.  Actually,
  the only reason why this is not already being done is a bug which
  was never fully investigated and caused VM instability with assigned
  GeForce GPUs, so allow userspace to opt into the new behavior.

* Advertise AVX10.1 to userspace (effectively prep work for the "real" AVX10
  functionality that is on the horizon).

* Rework common MSR handling code to suppress errors on userspace accesses to
  unsupported-but-advertised MSRs.  This will allow removing (almost?) all of
  KVM's exemptions for userspace access to MSRs that shouldn't exist based on
  the vCPU model (the actual cleanup is non-trivial future work).

* Rework KVM's handling of x2APIC ICR, again, because AMD (x2AVIC) splits the
  64-bit value into the legacy ICR and ICR2 storage, whereas Intel (APICv)
  stores the entire 64-bit value at the ICR offset.

* Fix a bug where KVM would fail to exit to userspace if one was triggered by
  a fastpath exit handler.

* Add fastpath handling of HLT VM-Exit to expedite re-entering the guest when
  there's already a pending wake event at the time of the exit.

* Fix a WARN caused by RSM entering a nested guest from SMM with invalid guest
  state, by forcing the vCPU out of guest mode prior to signalling SHUTDOWN
  (the SHUTDOWN hits the VM altogether, not the nested guest)

* Overhaul the "unprotect and retry" logic to more precisely identify cases
  where retrying is actually helpful, and to harden all retry paths against
  putting the guest into an infinite retry loop.

* Add support for yielding, e.g. to honor NEED_RESCHED, when zapping rmaps in
  the shadow MMU.

* Refactor pieces of the shadow MMU related to aging SPTEs in prepartion for
  adding multi generation LRU support in KVM.

* Don't stuff the RSB after VM-Exit when RETPOLINE=y and AutoIBRS is enabled,
  i.e. when the CPU has already flushed the RSB.

* Trace the per-CPU host save area as a VMCB pointer to improve readability
  and cleanup the retrieval of the SEV-ES host save area.

* Remove unnecessary accounting of temporary nested VMCB related allocations.

* Set FINAL/PAGE in the page fault error code for EPT violations if and only
  if the GVA is valid.  If the GVA is NOT valid, there is no guest-side page
  table walk and so stuffing paging related metadata is nonsensical.

* Fix a bug where KVM would incorrectly synthesize a nested VM-Exit instead of
  emulating posted interrupt delivery to L2.

* Add a lockdep assertion to detect unsafe accesses of vmcs12 structures.

* Harden eVMCS loading against an impossible NULL pointer deref (really truly
  should be impossible).

* Minor SGX fix and a cleanup.

* Misc cleanups

Generic:

* Register KVM's cpuhp and syscore callbacks when enabling virtualization in
  hardware, as the sole purpose of said callbacks is to disable and re-enable
  virtualization as needed.

* Enable virtualization when KVM is loaded, not right before the first VM
  is created.  Together with the previous change, this simplifies a
  lot the logic of the callbacks, because their very existence implies
  virtualization is enabled.

* Fix a bug that results in KVM prematurely exiting to userspace for coalesced
  MMIO/PIO in many cases, clean up the related code, and add a testcase.

* Fix a bug in kvm_clear_guest() where it would trigger a buffer overflow _if_
  the gpa+len crosses a page boundary, which thankfully is guaranteed to not
  happen in the current code base.  Add WARNs in more helpers that read/write
  guest memory to detect similar bugs.

Selftests:

* Fix a goof that caused some Hyper-V tests to be skipped when run on bare
  metal, i.e. NOT in a VM.

* Add a regression test for KVM's handling of SHUTDOWN for an SEV-ES guest.

* Explicitly include one-off assets in .gitignore.  Past Sean was completely
  wrong about not being able to detect missing .gitignore entries.

* Verify userspace single-stepping works when KVM happens to handle a VM-Exit
  in its fastpath.

* Misc cleanups

28 Sep 2024: more s390 updates for 6.12 merge window [+ + +]
please pull a couple more s390 updates for the 6.12 merge window.

Thank you,
Vasily

more s390 updates for 6.12 merge window

- Clean up and improve vdso code: use SYM_* macros for function and
  data annotations, add CFI annotations to fix GDB unwinding, optimize
  the chacha20 implementation

- Add vfio-ap driver feature advertisement for use by libvirt and mdevctl

 
27 Sep 2024: Modules changes for v6.12-rc1 [+ + +]
Modules changes for v6.12-rc1

There are a few fixes / cleanups from Vincent, Chunhui, and Petr, but the
most important part of this pull request is the Rust community stepping
up to help maintain both C / Rust code for future Rust module support. We
grow the set of modules maintainers by 3 now, and with this hope to scale to
help address what's needed to properly support future Rust module support.

A lot of exciting stuff coming in future kernel releases.

This has been on linux-next for ~ 3 weeks now with no issues.

27 Sep 2024: UML updates for v6.12-rc1 [+ + +]
This pull request contains the following changes for UML:

- Removal of dead code (TT mode leftovers, etc.)
- Fixes for the network vector driver
- Fixes for time-travel mode

27 Sep 2024: bitmap changes for v6.12-rc1 [+ + +]
bitmap-for-6.12

Hi Linus,


 - switch all bitmamp APIs from inline to __always_inline, from Brian Norris;
 - introduce GENMASK_U128() macro, from Anshuman Khandual.

The __always_inline series improves on code generation, and now with
the latest compiler versions is required to avoid compilation
warnings. It spent enough in my backlog, and I'm thankful to Brian
Norris for taking over and moving it forward.

GENMASK_U128() is a prerequisite needed for arm64 development.

Thanks,
Yury

27 Sep 2024: LoongArch changes for v6.12 [+ + +]
LoongArch changes for v6.12

1, Fix objtool about do_syscall() and Clang;
2, Enable generic CPU vulnerabilites support;
3, Enable ACPI BGRT handling;
4, Rework CPU feature probe from CPUCFG/IOCSR;
5, Add ARCH_HAS_SET_MEMORY support;
6, Add ARCH_HAS_SET_DIRECT_MAP support;
7, Improve hardware page table walker;
8, Simplify _percpu_read() and _percpu_write();
9, Add advanced extended IRQ model documentions;
10, Some bug fixes and other small changes.

27 Sep 2024: tomoyo update for v6.12 [+ + +]
One bugfix patch, one preparation patch, and one conversion patch.

TOMOYO is useful as an analysis tool for learning how a Linux system works.
My boss was hoping that SELinux's policy is generated from what TOMOYO has
observed. A translated paper describing it is available at
https://master.dl.sourceforge.net/project/tomoyo/docs/nsf2003-en.pdf/nsf2003-en.pdf?viasf=1 .
Although that attempt failed due to mapping problem between inode and pathname,
TOMOYO remains as an access restriction tool due to ability to write custom
policy by individuals.

I was delivering pure LKM version of TOMOYO (named AKARI) to users who
cannot afford rebuilding their distro kernels with TOMOYO enabled. But
since the LSM framework was converted to static calls, it became more
difficult to deliver AKARI to such users. Therefore, I decided to update
TOMOYO so that people can use mostly LKM version of TOMOYO with minimal
burden for both distributors and users.

27 Sep 2024: xen: branch for v6.12-rc1a [+ + +]
Please git pull the following tag:


xen: branch for v6.12-rc1a

It contains a second round of Xen related changes and features for the
6.12 merge window:

- A small fix of the xen-pciback driver for a warning issued by sparse

- A series of 3 patches supporting PCI passthrough when using a PVH
  dom0

- A series of 5 patches enabling to load the kernel in PVH mode at
  arbitrary addresses, avoiding conflicts with the memory map when
  running as a Xen dom0 using the host memory layout

Thanks.

Juergen

27 Sep 2024: Driver core changes for 6.12-rc1 [+ + +]
Driver core update for 6.12-rc1

Here is a small set of patches for the driver core code for 6.12-rc1.

This set is the one that caused the most delay on my side, due to lots
of last-minute reports of problems in the async shutdown feature that
was added.  In the end, I've reverted all of the patches in that series
so we are back to "normal" and the patch set is being reworked for the
next merge window.

Other than the async shutdown patches that were reverted, included in
here are:
  - minor driver core cleanups
  - minor driver core bus and class api cleanups and simplifications for
    some callbacks
  - some const markings of structures
  - other even more minor cleanups

All of these, including the last minute reverts, have been in
linux-next, but all of the reports of problems in linux-next were before
the reverts happened.  After the reverts, all is good.

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

 
26 Sep 2024: asm-generic updates for 6.12 [+ + +]
asm-generic updates for 6.12

These are only two small patches, one cleanup for arch/alpha
and a preparation patch cleaning up the handling of runtime
constants in the linker scripts.

26 Sep 2024: Networking for v6.12-rc1 [+ + +]
It looks like that most people are still traveling: both the ML volume
and the processing capacity are low.

Including fixes from netfilter.

Previous releases - regressions:

  - netfilter:
    - nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()
    - nf_tables: keep deleted flowtable hooks until after RCU

  - tcp: check skb is non-NULL in tcp_rto_delta_us()

  - phy: aquantia: fix -ETIMEDOUT PHY probe failure when firmware not present

  - eth: virtio_net: fix mismatched buf address when unmapping for small packets

  - eth: stmmac: fix zero-division error when disabling tc cbs

  - eth: bonding: fix unnecessary warnings and logs from bond_xdp_get_xmit_slave()

Previous releases - always broken:

  - netfilter:
    - fix clash resolution for bidirectional flows
    - fix allocation with no memcg accounting

  - eth: r8169: add tally counter fields added with RTL8125

  - eth: ravb: fix rx and tx frame size limit

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

26 Sep 2024: Char/Misc driver updates for 6.12-rc1 [+ + +]
Char/Misc and other driver changes for 6.12-rc1

Here is the "big" set of char/misc and other driver subsystem changes
for 6.12-rc1.  Sorry for the delay, conference travel for the past two
weeks has this and my other pull requests showing up real late
in the cycle.

Lots of changes in here, primarily dominated by the usual IIO driver
updates and additions, but there are also small driver subsystem updates
all over the place.  Included in here are:
  - lots and lots of new IIO drivers and updates to existing ones
  - interconnect subsystem updates and new drivers
  - nvmem subsystem updates and new drivers
  - mhi driver updates
  - power supply subsystem updates
  - kobj_type const work for many different small subsystems
  - comedi driver fix
  - coresight subsystem and driver updates
  - fpga subsystem improvements
  - slimbus fixups
  - binder new feature addition for "frozen" notifications
  - lots and lots of other small driver updates and cleanups

All of these have been in linux-next for a long time with no reported
problems.

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

26 Sep 2024: Staging driver updates for 6.12-rc1 [+ + +]
Staging driver updates for 6.12-rc1

Here is the big set of staging driver cleanups and removals for
6.12-rc1.

Nothing exciting here, just slow, constant, forward progress in removing
code and cleaning up some old drivers, along with removing one of them
that was not being used anymore at all.  In discussions with some
developers this past week, even more deletions will be happening for the
next major merge window, as we seems to have code here that obviously no
one is using anymore.

Along with the normal cleanups is the good vme_user code forward
progress, the one major bright spot in the staging subsystem for code
that people rely on, and is getting good development behind it.
Hopefully it can graduate out of staging "soon".

All of these changes have been in linux-next for a long time with no
reported problems.

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

26 Sep 2024: TTY / Serial driver updates for 6.12-rc1 [+ + +]
TTY/Serial driver update for 6.12-rc1

Here is the "big" set of tty/serial driver updates for 6.12-rc1.

Nothing major in here, just nice forward progress in the slow cleanup of
the serial apis, and lots of other driver updates and fixes.

Included in here are:
  - serial api updates from Jiri to make things more uniform and sane
  - 8250_platform driver cleanups
  - samsung serial driver fixes and updates
  - qcom-geni serial driver fixes from Johan for the bizarre UART engine
    that that chip seems to have.  Hopefully it's in a better state now,
    but hardware designers still seem to come up with more ways to make
    broken UARTS 40+ years after this all should have finished.
  - sc16is7xx driver updates
  - omap 8250 driver updates
  - 8250_bcm2835aux driver updates
  - a few new serial driver bindings added
  - other serial minor driver updates

All of these have been in linux-next for a long time with no reported
problems.

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

26 Sep 2024: USB/Thunderbolt driver changes for 6.12-rc1 [+ + +]
USB/Thunderbolt update for 6.12-rc1

Here is the large set of USB and Thunderbolt changes for 6.12-rc1.

Nothing "major" in here, except for a new 9p network gadget that has
been worked on for a long time (all of the needed acks are here.)  Other
than that, it's the usual set of:
  - Thunderbolt / USB4 driver updates and additions for new hardware
  - dwc3 driver updates and new features added
  - xhci driver updates
  - typec driver updates
  - USB gadget updates and api additions to make some gadgets more
    configurable by userspace
  - dwc2 driver updates
  - usb phy driver updates
  - usbip feature additions
  - other minor USB driver updates

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

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

 
25 Sep 2024: probes: Updates for v6.12 [+ + +]
Probes updates for v6.12:

- uprobes: make trace_uprobe->nhit counter a per-CPU one
   This makes uprobe event's hit counter per-CPU for improving
   scalability on multi-core environment.

- kprobes: Remove obsoleted declaration for init_test_probes
   Remove unused init_test_probes() from header.

- Raw tracepoint probe supports raw tracepoint events on modules.
   The tracepoint events using fprobe were introduced in v6.5, but
   tracepoints can be compiled in modules. This supports such a case.
   This includes the following improvements.
  . tracepoint: add a function for iterating over all tracepoints in
    all modules.
  . tracepoint: Add a function for iterating over tracepoints in a
    module.
  . tracing/fprobe: Support raw tracepoint events on modules.
  . tracing/fprobe: Support raw tracepoints on future loaded modules.
     This allows user to add tracepoint events on modules which is
     not loaded yet.
  . selftests/tracing: Add a test for tracepoint events on modules.




probes-v6.12

25 Sep 2024: sparc updates for v6.12 [+ + +]
This includes the following changes related to sparc for v6.12:

- Remove an unused variable for sparc32

25 Sep 2024: clang-format for 6.12 [+ + +]

All the commits have been in -next for a month. No conflicts expected.


Cheers,
Miguel

clang-format changes for v6.12

A routine update of the 'for_each' macro list.

25 Sep 2024: RTC for 6.12 [+ + +]
Here is the RTC subsystem pull request for 6.12. We get more conversions
of DT bindings to yaml. There is one new driver, for the DFRobot
SD2405AL and support for important features of the stm32 RTC.

RTC for 6.12

New driver:
 - DFRobot SD2405AL

Drivers:
 - stm32: add alarm A out and LSCO support
 - sun6i: disable automatic clock input switching
 - m48t59: set range

25 Sep 2024: Rust for 6.12 [+ + +]
This is the next round of the Rust support.

Quite late, but all the commits have been in linux-next for at least a
week (most have been for a few weeks).

This PR is a bit more involved than the usual ones -- the relevant
maintainers were OK with us carrying the patches since there were a few
interdependencies.

Three simple conflicts expected. Please note that akpm and I carried
the same patch ("kasan: simplify and clarify Makefile").

Regarding Rust-related things: you already merged the QR code panic
screen via DRM, the Applied Micro QT2025 PHY driver (with a new `sizes`
module) via netdev, a `k{v,}realloc()` patch via mm and two selftest
config fixes. You have also got a firmware code doc fix via asoc.


Cheers,
Miguel

Rust changes for v6.12

Toolchain and infrastructure:

 - Support 'MITIGATION_{RETHUNK,RETPOLINE,SLS}' (which cleans up objtool
   warnings), teach objtool about 'noreturn' Rust symbols and mimic
   '___ADDRESSABLE()' for 'module_{init,exit}'. With that, we should be
   objtool-warning-free, so enable it to run for all Rust object files.

 - KASAN (no 'SW_TAGS'), KCFI and shadow call sanitizer support.

 - Support 'RUSTC_VERSION', including re-config and re-build on change.

 - Split helpers file into several files in a folder, to avoid conflicts
   in it. Eventually those files will be moved to the right places with
   the new build system. In addition, remove the need to manually export
   the symbols defined there, reusing existing machinery for that.

 - Relax restriction on configurations with Rust + GCC plugins to just
   the RANDSTRUCT plugin.

'kernel' crate:

 - New 'list' module: doubly-linked linked list for use with reference
   counted values, which is heavily used by the upcoming Rust Binder.
   This includes 'ListArc' (a wrapper around 'Arc' that is guaranteed
   unique for the given ID), 'AtomicTracker' (tracks whether a 'ListArc'
   exists using an atomic), 'ListLinks' (the prev/next pointers for an
   item in a linked list), 'List' (the linked list itself), 'Iter' (an
   iterator over a 'List'), 'Cursor' (a cursor into a 'List' that allows
   to remove elements), 'ListArcField' (a field exclusively owned by a
   'ListArc'), as well as support for heterogeneous lists.

 - New 'rbtree' module: red-black tree abstractions used by the upcoming
   Rust Binder. This includes 'RBTree' (the red-black tree itself),
   'RBTreeNode' (a node), 'RBTreeNodeReservation' (a memory reservation
   for a node), 'Iter' and 'IterMut' (immutable and mutable iterators),
   'Cursor' (bidirectional cursor that allows to remove elements), as
   well as an entry API similar to the Rust standard library one.

 - 'init' module: add 'write_[pin_]init' methods and the 'InPlaceWrite'
   trait. Add the 'assert_pinned!' macro.

 - 'sync' module: implement the 'InPlaceInit' trait for 'Arc' by
   introducing an associated type in the trait.

 - 'alloc' module: add 'drop_contents' method to 'BoxExt'.

 - 'types' module: implement the 'ForeignOwnable' trait for
   'Pin<Box<T>>' and improve the trait's documentation. In addition,
   add the 'into_raw' method to the 'ARef' type.

 - 'error' module: in preparation for the upcoming Rust support for
   32-bit architectures, like arm, locally allow Clippy lint for those.

Documentation:

 - https://rust.docs.kernel.org has been announced, so link to it.

 - Enable rustdoc's "jump to definition" feature, making its output a
   bit closer to the experience in a cross-referencer.

 - Debian Testing now also provides recent Rust releases (outside of
   the freeze period), so add it to the list.

MAINTAINERS:

 - Trevor is joining as reviewer of the "RUST" entry.

And a few other small bits.

 
24 Sep 2024: fuse update for 6.12 [+ + +]

tags/fuse-update-6.12

- Add support for idmapped fuse mounts (Alexander Mikhalitsyn).  This
touches some non-fuse files, these have been reviewed by Christian.

- Add optimization when checking for writeback (yangyun).

- Add tracepoints (Josef Bacik).

- Clean up writeback code (Joanne Koong).

- Clean up request queuing (me).

- Misc fixes.

Thanks,
Miklos

---
 
25 Sep 2024: Kbuild updates for v6.12-rc1 [+ + +]


Thank you.


Kbuild updates for v6.12

 - Support cross-compiling linux-headers Debian package and kernel-devel
   RPM package

 - Add support for the linux-debug Pacman package

 - Improve module rebuilding speed by factoring out the common code to
   scripts/module-common.c

 - Separate device tree build rules into scripts/Makefile.dtbs

 - Add a new script to generate modules.builtin.ranges, which is useful
   for tracing tools to find symbols in built-in modules

 - Refactor Kconfig and misc tools

 - Update Kbuild and Kconfig documentation

 
24 Sep 2024: RISC-V Patches for the 6.12 Merge Window, Part 1 [+ + +]
RISC-V Patches for the 6.12 Merge Window, Part 1

* Support for using Zkr to seed KASLR.
* Support for IPI-triggered CPU backtracing.
* Support for generic CPU vulnerabilities reporting to userspace.
* A few cleanups for missing licenses.
* The size limit on the XIP kernel has been removed.
* Support for tracing userspace stacks.
* Support for the Svvptc extension.
* Various cleanups and fixes throughout the tree.

24 Sep 2024: exfat update for 6.12-rc1 [+ + +]
This is exfat update pull request for v6.12-rc1. I add description of

Thanks!

Description for this pull request:
- Clean-up unnecessary codes as ->valid_size is supported.
- buffered-IO fallback is no longer needed when using direct-IO.
- Move ->valid_size extension from mmap to ->page_mkwrite.
  This improves the overhead caused by unnecessary zero-out during mmap.
- Fix memleaks from exfat_load_bitmap() and exfat_create_upcase_table().
- Add sops->shutdown and ioctl.
- Add Yuezhang Mo as a reviwer.

24 Sep 2024: Input updates for v6.12-rc0 [+ + +]


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

- support for PixArt PS/2 touchpad

- updates to tsc2004/5, usbtouchscreen, and zforce_ts drivers 

- support for GPIO-only mode for ADP55888 controller

- support for touch keys in Zinitix driver

- support for querying density of Synaptics sensors

- sysfs interface for Goodex "Berlin" devices to read and write touch IC
  registers

- more quirks to i8042 to handle various Tuxedo laptops

- a number of drivers have been converted to using "guard" notation
  when acquiring various locks, as well as using other cleanup functions
  to simplify releasing of resources (with more drivers to follow)

- evdev will limit amount of data that can be written into an evdev
  instance at a given time to 4096 bytes (170 input events) to avoid
  holding evdev->mutex for too long and starving other users

- Spitz has been converted to use software nodes/properties to describe
  its matrix keypad and GPIO-connected LEDs

- msc5000_ts, msc_touchkey and keypad-nomadik-ske drivers have been
  removed since noone in mainline have been using them

- other assorted cleanups and fixes.
  
Changelog:
---------

24 Sep 2024: VFIO updates for v6.12-rc1 [+ + +]
Just a few cleanups this cycle.  Thanks,

Alex

VFIO updates for v6.12

 - Remove several unused structure and function declarations, and unused
   variables. (Dr. David Alan Gilbert, Yue Haibing, Zhang Zekun)

 - Constify unmodified structure in mdev. (Hongbo Li)

 - Convert to unsigned type to catch overflow with less fanfare than
   passing a negative value to kcalloc(). (Dan Carpenter)

 
23 Sep 2024: hwspinlock update for v6.12 [+ + +]
hwspinlock update for v6.12

This converts the Spreadtrum hardware spinlock DeviceTree binding to
YAML, to allow validation of related DeviceTree source.

23 Sep 2024: rpmsg updates for v6.12 [+ + +]
rpmsg updates for v6.12

This performs minor cleanup/refactor of the Qualcomm GLINK code, in
order to then add trace events related to the messages exchange with the
remote side, useful for debugging a range of interoperability issues.

The nested structs with flexible array members, in the same driver, is
then rewritten to avoid the risk of invalid accesses.

23 Sep 2024: remoteproc updates for v6.12 [+ + +]
remoteproc updates for v6.12

This adds remoteproc support for the Cortex M4F found in AM62x and AM64x
of the TI K3 family, support for the modem remoteproc in the Qualcomm
SDX75, and audio, compute and general-purpose DSPs of the Qualcomm
SA8775P.

The i.MX remoteproc driver gains support for blocking and non-blocking
mailbox transmissions, followed by the implementation of poweroff and
reboot mechanisms, using the same. This is followed by a few bug fixes
and minor improvements.

A few cleanups and bug fixes for the TI K3 DSP and R5F drivers are
introduced.

Support for mapping SRAM regions into the AMD-Xilinx Zynqmp R5 cores is
added.

The Ingenic, TI DA8xx, TI Keystone, TI K3, ST slim drivers are
simplified using devres helpers for various allocations.

Uses of of_{find,get}_property() are replaced with of_property_present()
where possible.

 
24 Sep 2024: m68knommu changes for v6.12 [+ + +]

Only a single change, cleaning up white space in debug message.

Regards
Greg




m68knommu: updates and fixes for v6.12

Fixes include:
. remove trailing space in pr_debug message

24 Sep 2024: f2fs for 6.12-rc1 [+ + +]
Could you please consider this pull reuqest?

Thanks,

f2fs-6.12-rc1

In this series, the main changes include 1) converting major IO paths to use
folio, and 2) adding various knobs to control GC more flexibly for Zoned
devices. In addition, there are several patches to address corner cases of
atomic file operations and better support for file pinning on zoned device.

Enhancement:
 - add knobs to tune foreground/background GCs for Zoned devices
 - convert IO paths to use folio
 - reduce expensive checkpoint trigger frequency
 - allow F2FS_IPU_NOCACHE for pinned file
 - forcibly migrate to secure space for zoned device file pinning
 - get rid of buffer_head use
 - add write priority option based on zone UFS
 - get rid of online repair on corrupted directory

Bug fix:
 - fix to don't panic system for no free segment fault injection
 - fix to don't set SB_RDONLY in f2fs_handle_critical_error()
 - avoid unused block when dio write in LFS mode
 - compress: don't redirty sparse cluster during {,de}compress
 - check discard support for conventional zones
 - atomic: prevent atomic file from being dirtied before commit
 - atomic: fix to check atomic_file in f2fs ioctl interfaces
 - atomic: fix to forbid dio in atomic_file
 - atomic: fix to truncate pagecache before on-disk metadata truncation
 - atomic: create COW inode from parent dentry
 - atomic: fix to avoid racing w/ GC
 - atomic: require FMODE_WRITE for atomic write ioctls
 - fix to wait page writeback before setting gcing flag
 - fix to avoid racing in between read and OPU dio write, dio completion
 - fix several potential integer overflows in file offsets and dir_block_index
 - fix to avoid use-after-free in f2fs_stop_gc_thread()

As usual, there are several code clean-ups and refactorings.

24 Sep 2024: I3C changes for 6.12 [+ + +]
Here is the i3c subsystem pull request for 6.12. We get support for the
I3C HCI controller of the AMD SoC which as expected requires quirks. We
also have fixes for the other drivers, including rate selection fixes
for svc.

I3C for 6.12

Core:
 - allow adjusting first broadcast address speed

Drivers:
 - cdns: few fixes
 - mipi-i3c-hci: Add AMD SoC I3C controller support and quirks, fix get_i3c_mode
 - svc: adjust rates, fix race condition

 
23 Sep 2024: Landlock updates for v6.12 [+ + +]
This PR brings signal and abstract UNIX socket control to Landlock, contributed
by Tahera Fahimi during her Outreachy internship [1].  These features are
useful to better isolate processes.

master branch.  The kernel code has been tested in the latest linux-next
releases for a few weeks, but I rebased it on your master branch last week
because of VFS and LSM tree dependencies.

We can now scope a Landlock domain thanks to a new "scoped" field that can deny
interactions with resources outside of this domain.  The
LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET flag denies connections to an abstract UNIX
socket created outside of the current scoped domain [2], and the
LANDLOCK_SCOPE_SIGNAL flag denies sending a signal to processes outside of the
current scoped domain [3].  These restrictions also apply to nested domains
according to their scope.  The related changes will also be useful to support
other kind of IPC isolations.

Test coverage for security/landlock is 92.2% of 1046 lines according to
gcc/gcov-14, and it was 91.7% of 961 lines before this series.

Regards,
 Mickaël

Link: https://sched.co/1ej1w [1]
Link: https://lore.kernel.org/r/cover.1725494372.git.fahimitahera@gmail.com [2]
Link: https://lore.kernel.org/r/cover.1725657727.git.fahimitahera@gmail.com [3]

--
Landlock updates for v6.12-rc1

23 Sep 2024: Backlight for v6.12 [+ + +]
- Added a check for the return value of spi_setup() in the l4f00242t03 driver to catch errors.

23 Sep 2024: LEDs for v6.12 [+ + +]
- Limited LED current based on thermal conditions in the QCOM flash LED driver.
- Fixed device child node usage in the BD2606MVV and PCA995x drivers.
- Used device_for_each_child_node_scoped() to access child nodes in the IS31FL319X driver.
- Reset the LED controller during the probe in the LM3601X driver.
- Used device_for_each_child_node() to access device child nodes in the PCA995X driver.
- Fixed CONFIG_LEDS_CLASS_MULTICOLOR dependency in the BlinkM driver.
- Replaced msleep() with usleep_range() in the SUN50I-A100 driver.
- Used scoped device node handling to simplify error paths in the AAT1290, KTD2692, and MC13783 drivers.
- Added missing of_node_get for probe duration in the MAX77693 driver.
- Simplified using for_each_available_child_of_node_scoped() loops when iterating over device nodes.
- Used devm_clk_get_enabled() helpers in the LP55XX driver.
- Converted DT bindings from TXT to YAML format for various drivers, including LM3692x and SC2731-BLTC.
- Set num_leds after allocation in the GPIO driver.
- Removed irrelevant blink configuration error message in the PCA9532 driver.
- Fixed module autoloading with MODULE_DEVICE_TABLE() in the Turris Omnia driver.

23 Sep 2024: MFD for v6.12 [+ + +]
- Added support for the Analog Devices ADP5585 GPIO and PWM functions.
- Added parsing of GPIO hogs for the ADP5585.
- Fixed module autoloading in the MAX14577 driver.
- Simplified and cleaned up the CROS_EC driver.
- Made the Lenovo Yoga Tab 3 X90F DMI match less strict in the INTEL_SOC_PMIC_CHTWC driver.
- Added support for the RK806 PMIC on the I2C bus.
- Removed the remaining header file for the DS1WM driver.
- Added compatible strings for various devices in the device tree bindings.
- Fixed a comma-related issue in the 88PM860X_CORE driver.
- Constified read-only regmap structs in various drivers.
- Used scoped variables with memory allocators to simplify error paths in the MT6360 and SYSCON drivers.
- Added Intel Arrow Lake-H and Panther Lake LPSS PCI IDs.

23 Sep 2024: NFSD changes for the v6.12 merge window [+ + +]
A quick note about the rather fresh commit dates in this PR:

We had some additional changes queued up that needed to be dropped
because their defect rate was not going down as fast as I would like
prior to -rc1, especially considering maintainer travel plans. Those
changes will be rescheduled for v6.13.

The commits included here have been in linux-next for weeks and pass
our NFSD CI tests.

--- cut here ---

NFSD 6.12 Release Notes

Notable features of this release include:

- Pre-requisites for automatically determining the RPC server thread
  count
- Clean-up and preparation for supporting LOCALIO, which will be
  merged via the NFS client tree
- Enhancements and fixes to NFSv4.2 COPY offload
- A new Python-based tool for generating kernel SunRPC XDR encoding
  and decoding functions, added as an aid for prototyping features
  in protocols based on the Linux kernel's SunRPC implementation.

As always I am grateful to the NFSD contributors, reviewers,
testers, and bug reporters who participated during this cycle.

23 Sep 2024: sysctl changes for v6.12-rc1 [+ + +]
One bugfix and one non-code change for this PR; did not get things into
linux-next on time for proper testing because my PTO ended way to late in the
cycle. I expect the next cycle to be busier as I move through the backlog. I'll
be sure to use the co-maintainers to avoid having this situation next time.

Summary

* Bug fix: Avoid evaluating non-mount ctl_tables as a sysctl_mount_point by
  removing the unlikely (but possible) chance that the permanently empty
  ctl_table array shares its address with another ctl_table.
* Update Joel Granados' contact info in MAINTAINERS.

Testing

* Bug fix merged to linux-next after 6.11-rc5

23 Sep 2024: Btrfs updates for 6.12, part 2 [+ + +]
Hi,

a few more patches that I'd still like to get merged before rc1 as they
are fixes for user reported bugs.


- fix dangling pointer to rb-tree of defragmented inodes after cleanup

- a followup fix to handle concurrent lseek on the same fd that could
  leak memory under some conditions

- fix wrong root id reported in tree checker when verifying dref

23 Sep 2024: media updates [+ + +]
dia/v6.12-1

For:

- New CEC driver: Extron DA HD 4K Plus;
- Lots of driver fixes, cleanups and improvements.

Regards,
Mauro

---

media updates for v6.12-rc1

 
22 Sep 2024: : Dmaengine subsystem updates for v6.12 [+ + +]

Hi Linus,

Here is the dmaengine subsystem update for v6.12. This is a unique PR
that it has more new driver and device support than updates. Couple of
new device support, AMD, Rcar, Intel and New drivers in Freescale,
Loonsoon, AMD and LPC32XX with DT conversion and mode updates etc.

dmaengine updates for v6.12

 New support:
  - Support for AMD Versal Gen 2 DMA IP
  - Rcar RZ/G3S SoC dma controller
  - Support for Intel Diamond Rapids and Granite Rapids-D dma controllers
  - Support for Freescale ls1021a-qdma controller
  - New driver for Loongson-1 APB DMA
  - New driver for AMD QDMA
  - Pl08x in LPC32XX router dma driver

 Updates:
  - Support for dpdma cyclic dma mode
  - XML conversion for marvell xor dma bindings
  - Dma clocks documentation for imx dma

22 Sep 2024: : Generic phy subsystem updates for v6.12 [+ + +]

Hello Linus,

the updates with couple of new device/driver support, one removal and
bunch of updates to various driver

phy-for-6.12

- New Support
  - Rcar usb2 support for RZ/G3S SoC
  - Nuvoton MA35 SoC USB 2.0 PHY driver

- Removal
  - obsolete qcom,usb-8x16-phy bindings

- Updates
  - 4 lane PCIe support for Qualcomm X1E80100
  - Constify structure in subsystem update
  - Subsystem simplification with scoped for each OF child loop update
  - Yaml conversion for Qualcomm sata phy, Hiilicon hi3798cv200-combphy
    bindings

22 Sep 2024: : soundwire subsystem updates for v6.12 [+ + +]

Hello Linus,

few bus updates and couple of intel updates

soundwire updates for 6.12

 - bus cleanup for warnings and probe deferral errors suppression
 - cadence recheck for status with a delayed work
 - intel interrupt rework on reset exit

22 Sep 2024: ring-buffer: Updates for 6.12 [+ + +]

ring-buffer: Updates for v6.12:

- Merged v6.11-rc3 into trace/ring-buffer/core

  The v6.11 ring buffer pull request was not made due to Mathieu Desnoyers
  making a comment to the pull request. Mathieu and I resolved it on IRC,
  but we did not let Linus know that it was resolved. Linus did not do the
  pull thinking it still had some unresolved issues.

  The ring buffer work for 6.12 was dependent on both this pull request as
  well as the reserve_mem kernel command line option that was going upstream
  through the memory management tree. The ring buffer repo was being used by
  others so it could not be rebased. In order to continue the work, the
  v6.11-rc3 branch was pulled in to get access to the reserve_mem work.

This has the 6.11 pull request that did not make it into 6.11, which was:

  tracing/ring-buffer: Have persistent buffer across reboots

  This allows for the tracing instance ring buffer to stay persistent across
  reboots. The way this is done is by adding to the kernel command line:

    trace_instance=boot_map@0x285400000:12M

  This will reserve 12 megabytes at the address 0x285400000, and then map
  the tracing instance "boot_map" ring buffer to that memory. This will
  appear as a normal instance in the tracefs system:

    /sys/kernel/tracing/instances/boot_map

  A user could enable tracing in that instance, and on reboot or kernel
  crash, if the memory is not wiped by the firmware, it will recreate the
  trace in that instance. For example, if one was debugging a shutdown of a
  kernel reboot:

   # cd /sys/kernel/tracing
   # echo function > instances/boot_map/current_tracer
   # reboot
  [..]
   # cd /sys/kernel/tracing
   # tail instances/boot_map/trace
         swapper/0-1       [000] d..1.   164.549800: restore_boot_irq_mode <-native_machine_shutdown
         swapper/0-1       [000] d..1.   164.549801: native_restore_boot_irq_mode <-native_machine_shutdown
         swapper/0-1       [000] d..1.   164.549802: disconnect_bsp_APIC <-native_machine_shutdown
         swapper/0-1       [000] d..1.   164.549811: hpet_disable <-native_machine_shutdown
         swapper/0-1       [000] d..1.   164.549812: iommu_shutdown_noop <-native_machine_restart
         swapper/0-1       [000] d..1.   164.549813: native_machine_emergency_restart <-__do_sys_reboot
         swapper/0-1       [000] d..1.   164.549813: tboot_shutdown <-native_machine_emergency_restart
         swapper/0-1       [000] d..1.   164.549820: acpi_reboot <-native_machine_emergency_restart
         swapper/0-1       [000] d..1.   164.549821: acpi_reset <-acpi_reboot
         swapper/0-1       [000] d..1.   164.549822: acpi_os_write_port <-acpi_reboot

  On reboot, the buffer is examined to make sure it is valid. The validation
  check even steps through every event to make sure the meta data of the
  event is correct. If any test fails, it will simply reset the buffer, and
  the buffer will be empty on boot.

The new changes for 6.12 are:

- Allow the tracing persistent boot buffer to use the "reserve_mem" option

  Instead of having the admin find a physical address to store the persistent
  buffer, which can be very tedious if they have to administrate several
  different machines, allow them to use the "reserve_mem" option that will
  find a location for them. It is not as reliable because of KASLR, as the
  loading of the kernel in different locations can cause the memory
  allocated to be inconsistent. Booting with "nokaslr" can make reserve_mem
  more reliable.

- Have function graph tracer handle offsets from a previous boot.

  The ring buffer output from a previous boot may have different addresses
  due to kaslr. Have the function graph tracer handle these by using the
  delta from the previous boot to the new boot address space.

- Only reset the saved meta offset when the buffer is started or reset

  In the persistent memory meta data, it holds the previous address space
  information, so that it can calculate the delta to have function tracing
  work. But this gets updated after being read to hold the new address
  space. But if the buffer isn't used for that boot, on reboot, the delta is
  now calculated from the previous boot and not the boot that holds the data
  in the ring buffer. This causes the functions not to be shown. Do not save
  the address space information of the current kernel until it is being
  recorded.

- Add a magic variable to test the valid meta data

  Add a magic variable in the meta data that can also be used for
  validation. The validator of the previous buffer doesn't need this magic
  data, but it can be used if the meta data is changed by a new kernel, which
  may have the same format that passes the validator but is used
  differently. This magic number can also be used as a "versioning" of the
  meta data.

- Align user space mapped ring buffer sub buffers to improve TLB entries

  Linus mentioned that the mapped ring buffer sub buffers were misaligned
  between the meta page and the sub-buffers, so that if the sub-buffers were
  bigger than PAGE_SIZE, it wouldn't allow the TLB to use bigger entries.

- Add new kernel command line "traceoff" to disable tracing on boot for instances

  If tracing is enabled for a boot instance, there needs a way to be able to
  disable it on boot so that new events do not get entered into the ring
  buffer and be mixed with events from a previous boot, as that can be
  confusing.

- Allow trace_printk() to go to other instances

  Currently, trace_printk() can only go to the top level instance. When
  debugging with a persistent buffer, it is really useful to be able to add
  trace_printk() to go to that buffer, so that you have access to them after
  a crash.

- Do not use "bin_printk()" for traces to a boot instance

  The bin_printk() saves only a pointer to the printk format in the ring
  buffer, as the reader of the buffer can still have access to it. But this
  is not the case if the buffer is from a previous boot. If the
  trace_printk() is going to a "persistent" buffer, it will use the slower
  version that writes the printk format into the buffer.

- Add command line option to allow trace_printk() to go to an instance

  Allow the kernel command line to define which instance the trace_printk()
  goes to, instead of forcing the admin to set it for every boot via the
  tracefs options.

- Start a document that explains how to use tracefs to debug the kernel

- Add some more kernel selftests to test user mapped ring buffer




trace-ring-buffer-v6.12

22 Sep 2024: ktest.pl: Updates for 6.12 [+ + +]

ktest.pl updates for 6.12:

- Add notification of build warnings for all tests

  Currently, the build will only fail on warnings if the ktest config file
  states that it should fail or if the compile is done with -Werror. This
  has allowed warnings to sneak in if it doesn't fail. Add a notification at
  the end of the test that will state that warnings were found in the build
  so that the developer will be aware of it.

- Fix the grub2 parser to not return the wrong kernel index

  ktest.pl can read the grub.cfg file to know what kernel to boot to via
  grub-reboot. This requires knowing the index that the kernel is referenced
  by in the grub.cfg file. Some distros have logic to determine the
  menuentry that can cause the ktest.pl to come up with the wrong index and
  boot the wrong kernel.




ktest-v6.12

22 Sep 2024: pin control changes for v6.12 [+ + +]
this is the bulk of pin control changes for v6.12, not a lot this time
but the Sophgo SoC is a bit interesting RISC-V thing for image analysis,
and the Mobil EyeQ5 automotive SoC is interesting because it is *new*
MIPS stuff.

Details are in the signed tag.

I managed to pull some Intel ACPI ID patch into the devel branch first
and then sent the same as fix, so it appears in the diffstat but the
commit IDs should be the same and resolve just fine.


Yours,
Linus Walleij

This is the bulk of pin control changes for the v6.12 kernel cycle:

Core changes:

- Add support for "input-schmitt-microvolt" property, as used in the
  Sophgo SoC.

New drivers:

- Mobileye EyeQ5 pin controller, I think this is an automotive SoC.

- Rockchip rk3576 pin control support.

- Sophgo CV1800 series pin controllers: CV1800B, CV1812H and SG2000.

Improvements:

- Gradual improvements to Renesas, Samsung, Qualcomm, Nuvoton
  and a few other drivers.

 
21 Sep 2024: bcachefs changes for 6.12-rc1 [+ + +]
Relatively quiet cycle here - which is good, because 6.11 was huge.

I think we'll be able to take off EXPERIMENTAL in inside of a year, see
below for more.

Cheers,
Kent

bcachefs changes for 6.12-rc1

rcu_pending, btree key cache rework: this solves lock contenting in the
key cache, eliminating the biggest source of the srcu lock hold time
warnings, and drastically improving performance on some metadata heavy
workloads - on multithreaded creates we're now 3-4x faster than xfs.

We're now using an rhashtable instead of the system inode hash table;
this is another significant performance improvement on multithreaded
metadata workloads, eliminating more lock contention.

for_each_btree_key_in_subvolume_upto(): new helper for iterating over
keys within a specific subvolume, eliminating a lot of open coded
"subvolume_get_snapshot()" and also fixing another source of srcu lock
time warnings, by running each loop iteration in its own transaction (as
the existing for_each_btree_key() does).

More work on btree_trans locking asserts; we now assert that we don't
hold btree node locks when trans->locked is false, which is important
because we don't use lockdep for tracking individual btree node locks.

Some cleanups and improvements in the bset.c btree node lookup code,
from Alan.

Rework of btree node pinning, which we use in backpointers fsck. The old
hacky implementation, where the shrinker just skipped over nodes in the
pinned range, was causing OOMs; instead we now use another shrinker with
a much higher seeks number for pinned nodes.

Rebalance now uses BCH_WRITE_ONLY_SPECIFIED_DEVS; this fixes an issue
where rebalance would sometimes fall back to allocating from the full
filesystem, which is not what we want when it's trying to move data to a
specific target.

Use __GFP_ACCOUNT, GFP_RECLAIMABLE for btree node, key cache
allocations.

Idmap mounts are now supported - Hongbo.

Rename whiteouts are now supported - Hongbo.

Erasure coding can now handle devices being marked as failed, or
forcibly removed. We still need the evacuate path for erasure coding,
but it's getting very close to ready for people to start using.

Status, and when will we be taking off experimental:
21 Sep 2024: non-MM updates for 6.12-rc1 [+ + +]
thanks.


Known upcoming merge/build issues and their linux-ext resolutions
include:

fs/bcachefs/clock.c, vs bcachefs tree:
https://lkml.kernel.org/r/20240712105711.6dc900a2@canb.auug.org.au

include/linux/string_choices.h, vs kspp tree:
https://lkml.kernel.org/r/20240829153145.7f768337@canb.auug.org.au


A build issue vs 6ff4cd1160af ("lib/string_choices: Add
str_true_false()/str_false_true() helper"):
https://lkml.kernel.org/r/20240919091446.37087f60@canb.auug.org.au

And a build issue, vs kspp tree:
https://lkml.kernel.org/r/20240906171238.07709365@canb.auug.org.au




Many singleton patches - please see the various changelogs for details.

Quite a lot of nilfs2 work this time around.

Notable patch series in this pull request are:

"mul_u64_u64_div_u64: new implementation" by Nicolas Pitre, with
assistance from Uwe Kleine-K=F6nig.  Reimplement mul_u64_u64_div_u64() to
provide (much) more accurate results.  The current implementation was
causing Uwe some issues in the PWM drivers.

"xz: Updates to license, filters, and compression options" from Lasse
Collin.  Miscellaneous maintenance and kinor feature work to the xz
decompressor.

"Fix some GDB command error and add some GDB commands" from Kuan-Ying Lee.
Fixes and enhancements to the gdb scripts.

"treewide: add missing MODULE_DESCRIPTION() macros" from Jeff Johnson.
Adds lots of MODULE_DESCRIPTIONs, thus fixing lots of warnings about this.

"nilfs2: add support for some common ioctls" from Ryusuke Konishi.  Adds
various commonly-available ioctls to nilfs2.

"This series fixes a number of formatting issues in kernel doc comments"
from Ryusuke Konishi does that.

"nilfs2: prevent unexpected ENOENT propagation" from Ryusuke Konishi.  Fix
issues where -ENOENT was being unintentionally and inappropriately
returned to userspace.

"nilfs2: assorted cleanups" from Huang Xiaojia.

"nilfs2: fix potential issues with empty b-tree nodes" from Ryusuke
Konishi fixes some issues which can occur on corrupted nilfs2 filesystems.

"scripts/decode_stacktrace.sh: improve error reporting and usability" from
Luca Ceresoli does those things.

21 Sep 2024: firewire updates for v6.12 [+ + +]

This updates includes a significant change to the processing context for
isochronous packets. Hopefully, many developers will test it before the
official release.

I hope you have a pleasant trip ;)


firewire updates for v6.12

The batch of changes includes the followwing:

- Replacing tasklet with usual workqueue for isochronous context
- Replacing IDR with XArray
- Utilizing guard macro where possible
- Printing deprecation warning when enabling debug parameter of
  firewire-ohci module

Additionally, it includes a single patch for sound subsystem which the
subsystem maintainer acked:

- Switching to nonatomic PCM operation

In FireWire subsystem, tasklet has been used as the bottom half of 1394
OHCi hardIRQ so long. In the recent kernel updates, BH workqueue has
been available, and some developers have proposed replacing tasklet with
BH workqueue. While it is fortunate that developers are still considering
the legacy subsystem, a simple replacement is not necessarily suitable.

As a first step towards dropping tasklet, I've investigated the
feasibility for 1394 OHCI isochronous context, and concluded that usual
workqueue is available. In the context, the batch of packets is processed
in the specific queue, thus the timing jitter caused by task scheduling is
not so critical. Additionally, DMA transmission can be scheduled
per-packet basis, therefore the context can be sleep between the operation
of transmissions. Furthermore, in-kernel protocol implementation involves
some CPU-bound tasks, which can sometimes consumes CPU time so long. These
characteristics suggest that usual workqueue is suitable, through BH
workqueues are not.

The replacement with usual workqueue allows unit drivers to process the
content of packets in non-atomic context. It brings some reliefs to some
drivers in sound subsystem that spin-lock is not mandatory anymore during
isochronous packet processing.

 
20 Sep 2024: MM updates for 6.12-rc1 [+ + +]



Conflicts which I'm seeing, along with their linux-next resolutions are
as follows:

arch/arm64/Kconfig, vs tip tree:
https://lkml.kernel.org/r/20240911151642.7f9d9e02@canb.auug.org.au

include/linux/mm.h, vs execve tree:
https://lkml.kernel.org/r/20240909171843.78c294da@canb.auug.org.au

kernel/events/uprobes.c, vs tip tree:
https://lkml.kernel.org/r/20240905153557.3b0f8db5@canb.auug.org.au

kernel/events/uprobes.c, vs e240b0fde52f ("uprobes: Use kzalloc to
allocate xol area"):
https://lkml.kernel.org/r/20240917092739.46dcf943@canb.auug.org.au

kernel/resource.c, vs ea72ce5da228 ("x86/kaslr: Expose and use the end
of the physical memory address space"):
https://lkml.kernel.org/r/20240909100043.60668995@canb.auug.org.au



Forthcoming conflicts along with their linux-next resolutions include:

tools/testing/shared/linux/init.h, vs memblock tree:
https://lkml.kernel.org/r/20240801141047.07940cd3@canb.auug.org.au

include/linux/rcutree.h, vs slab tree:
https://lkml.kernel.org/r/54d62d5a-16e3-4ea9-83c6-8801ee99855e@suse.cz

drivers/iommu/iommufd/selftest.c, vs iommufd tree:
https://lkml.kernel.org/r/20240816125429.7a55b08c@canb.auug.org.au
https://lkml.kernel.org/r/20240816125429.7a55b08c@canb.auug.org.au

include/linux/huge_mm.h, vs vfs-brauner tree:
https://lkml.kernel.org/r/20240902112101.2728f045@canb.auug.org.au

mm/filemap.c, vs ext3 tree:
https://lkml.kernel.org/r/20240906111900.5fcf345e@canb.auug.org.au

include/linux/lsm_hooks.h
security/security.c, vs security tree:




Forthcoming build issues along with their linux-next resolutions
include:

include/linux/slab.h, vs s390 tree:
https://lkml.kernel.org/r/20240808135836.740effac@canb.auug.org.au

A build fix for m68k is needed, vs ea72ce5da228 ("x86/kaslr: Expose and
use the end of the physical memory address space").  See
https://lkml.kernel.org/r/87ttenvw0i.fsf@yhuang6-desk2.ccr.corp.intel.com



ALong with the usual shower of singleton patches, notable patch series in
this pull request are:

"Align kvrealloc() with krealloc()" from Danilo Krummrich.  Adds
consistency to the APIs and behaviour of these two core allocation
functions.  This also simplifies/enables Rustification.

"Some cleanups for shmem" from Baolin Wang.  No functional changes - mode
code reuse, better function naming, logic simplifications.

"mm: some small page fault cleanups" from Josef Bacik.  No functional
changes - code cleanups only.

"Various memory tiering fixes" from Zi Yan.  A small fix and a little
cleanup.

"mm/swap: remove boilerplate" from Yu Zhao.  Code cleanups and
simplifications and .text shrinkage.

"Kernel stack usage histogram" from Pasha Tatashin and Shakeel Butt.  This
is a feature, it adds new feilds to /proc/vmstat such as

    $ grep kstack /proc/vmstat
    kstack_1k 3
    kstack_2k 188
    kstack_4k 11391
    kstack_8k 243
    kstack_16k 0

which tells us that 11391 processes used 4k of stack while none at all
used 16k.  Useful for some system tuning things, but partivularly useful
for "the dynamic kernel stack project".

"kmemleak: support for percpu memory leak detect" from Pavel Tikhomirov.
Teaches kmemleak to detect leaksage of percpu memory.

"mm: memcg: page counters optimizations" from Roman Gushchin.  "3
independent small optimizations of page counters".

"mm: split PTE/PMD PT table Kconfig cleanups+clarifications" from David
Hildenbrand.  Improves PTE/PMD splitlock detection, makes powerpc/8xx work
correctly by design rather than by accident.

"mm: remove arch_make_page_accessible()" from David Hildenbrand.  Some
folio conversions which make arch_make_page_accessible() unneeded.

"mm, memcg: cg2 memory{.swap,}.peak write handlers" fro David Finkel.
Cleans up and fixes our handling of the resetting of the cgroup/process
peak-memory-use detector.

"Make core VMA operations internal and testable" from Lorenzo Stoakes.
Rationalizaion and encapsulation of the VMA manipulation APIs.  With a
view to better enable testing of the VMA functions, even from a
userspace-only harness.

"mm: zswap: fixes for global shrinker" from Takero Funaki.  Fix issues in
the zswap global shrinker, resulting in improved performance.

"mm: print the promo watermark in zoneinfo" from Kaiyang Zhao.  Fill in
some missing info in /proc/zoneinfo.

"mm: replace follow_page() by folio_walk" from David Hildenbrand.  Code
cleanups and rationalizations (conversion to folio_walk()) resulting in
the removal of follow_page().

"improving dynamic zswap shrinker protection scheme" from Nhat Pham.  Some
tuning to improve zswap's dynamic shrinker.  Significant reductions in
swapin and improvements in performance are shown.

"mm: Fix several issues with unaccepted memory" from Kirill Shutemov.
Improvements to the new unaccepted memory feature,

"mm/mprotect: Fix dax puds" from Peter Xu.  Implements mprotect on DAX
PUDs.  This was missing, although nobody seems to have notied yet.

"Introduce a store type enum for the Maple tree" from Sidhartha Kumar.
Cleanups and modest performance improvements for the maple tree library
code.

"memcg: further decouple v1 code from v2" from Shakeel Butt.  Move more
cgroup v1 remnants away from the v2 memcg code.

"memcg: initiate deprecation of v1 features" from Shakeel Butt.  Adds
various warnings telling users that memcg v1 features are deprecated.

"mm: swap: mTHP swap allocator base on swap cluster order" from Chris Li.
Greatly improves the success rate of the mTHP swap allocation.

"mm: introduce numa_memblks" from Mike Rapoport.  Moves various disparate
per-arch implementations of numa_memblk code into generic code.

"mm: batch free swaps for zap_pte_range()" from Barry Song.  Greatly
improves the performance of munmap() of swap-filled ptes.

"support large folio swap-out and swap-in for shmem" from Baolin Wang.
With this series we no longer split shmem large folios into simgle-page
folios when swapping out shmem.

"mm/hugetlb: alloc/free gigantic folios" from Yu Zhao.  Nice performance
improvements and code reductions for gigantic folios.

"support shmem mTHP collapse" from Baolin Wang.  Adds support for
khugepaged's collapsing of shmem mTHP folios.

"mm: Optimize mseal checks" from Pedro Falcato.  Fixes an mprotect()
performance regression due to the addition of mseal().

"Increase the number of bits available in page_type" from Matthew Wilcox.
Increases the number of bits available in page_type!

"Simplify the page flags a little" from Matthew Wilcox.  Many legacy page
flags are now folio flags, so the page-based flags and their
accessors/mutators can be removed.

"mm: store zero pages to be swapped out in a bitmap" from Usama Arif.  An
optimization which permits us to avoid writing/reading zero-filled zswap
pages to backing store.

"Avoid MAP_FIXED gap exposure" from Liam Howlett.  Fixes a race window
which occurs when a MAP_FIXED operqtion is occurring during an unrelated
vma tree walk.

"mm: remove vma_merge()" from Lorenzo Stoakes.  Major rotorooting of the
vma_merge() functionality, making ot cleaner, more testable and better
tested.

"misc fixups for DAMON {self,kunit} tests" from SeongJae Park.  Minor
fixups of DAMON selftests and kunit tests.

"mm: memory_hotplug: improve do_migrate_range()" from Kefeng Wang.  Code
cleanups and folio conversions.

"Shmem mTHP controls and stats improvements" from Ryan Roberts.  Cleanups
for shmem controls and stats.

"mm: count the number of anonymous THPs per size" from Barry Song.  Expose
additional anon THP stats to userspace for improved tuning.

"mm: finish isolate/putback_lru_page()" from Kefeng Wang: more folio
conversions and removal of now-unused page-based APIs.

"replace per-quota region priorities histogram buffer with per-context
one" from SeongJae Park.  DAMON histogram rationalization.

"Docs/damon: update GitHub repo URLs and maintainer-profile" from SeongJae
Park.  DAMON documentation updates.

"mm/vdpa: correct misuse of non-direct-reclaim __GFP_NOFAIL and improve
related doc and warn" from Jason Wang: fixes usage of page allocator
__GFP_NOFAIL and GFP_ATOMIC flags.

"mm: split underused THPs" from Yu Zhao.  Improve THP=3Dalways policy - this
was overprovisioning THPs in sparsely accessed memory areas.

"zram: introduce custom comp backends API" frm Sergey Senozhatsky.  Add
support for zram run-time compression algorithm tuning.

"mm: Care about shadow stack guard gap when getting an unmapped area" from
Mark Brown.  Fix up the various arch_get_unmapped_area() implementations
to better respect guard areas.

"Improve mem_cgroup_iter()" from Kinsey Ho.  Improve the reliability of
mem_cgroup_iter() and various code cleanups.

"mm: Support huge pfnmaps" from Peter Xu.  Extends the usage of huge
pfnmap support.

"resource: Fix region_intersects() vs add_memory_driver_managed()" from
Huang Ying.  Fix a bug in region_intersects() for systems with CXL memory.

"mm: hwpoison: two more poison recovery" from Kefeng Wang.  Teaches a
couple more code paths to correctly recover from the encountering of
poisoned memry.

"mm: enable large folios swap-in support" from Barry Song.  Support the
swapin of mTHP memory into appropriately-sized folios, rather than into
single-page folios.

20 Sep 2024: sched/rt for v6.12-rc1 [+ + +]
please pull the latest sched/rt branch from:

-17


Enable PREEMPT_RT on supported architectures:

  After twenty years of development we finally reached the point to enable
  PREEMPT_RT support in the mainline kernel.

  All prerequisites are merged, so enable it on the supported architectures
  ARM64, RISCV and X86(32/64-bit).

Thanks,

tglx

 
19 Sep 2024: PCI changes for v6.12 [+ + +]
Enumeration:

  - Wait for device readiness after reset by polling Vendor ID and looking
    for Configuration RRS instead of polling the Command register and
    looking for non-error completions, to avoid hardware retries done for
    RRS on non-Vendor ID reads (Bjorn Helgaas)

  - Rename CRS Completion Status to RRS ('Request Retry Status') to match
    PCIe r6.0 spec usage (Bjorn Helgaas)

  - Clear LBMS bit after a manual link retrain so we don't try to retrain a
    link when there's no downstream device anymore (Maciej W. Rozycki)

  - Revert to the original link speed after retraining fails instead of
    leaving it restricted to 2.5GT/s, so a future device has a chance to
    use higher speeds (Maciej W. Rozycki)

  - Wait for each level of downstream bus, not just the first, to become
    accessible before restoring devices on that bus (Ilpo Järvinen)

  - Add ARCH_PCI_DEV_GROUPS so s390 can add its own attribute_groups
    without having to stomp on the core's pdev->dev.groups (Lukas Wunner)

Driver binding:

  - Export pcim_request_region(), a managed counterpart of
    pci_request_region(), for use by drivers (Philipp Stanner)

  - Export pcim_iomap_region() and deprecate pcim_iomap_regions() (Philipp
    Stanner)

  - Request the PCI BAR used by xboxvideo (Philipp Stanner)

  - Request and map drm/ast BARs with pcim_iomap_region() (Philipp Stanner)

MSI:

  - Add MSI_FLAG_NO_AFFINITY flag for devices that mux MSIs onto a single
    IRQ line and cannot set the affinity of each MSI to a specific CPU core
    (Marek Vasut)

  - Use MSI_FLAG_NO_AFFINITY and remove unnecessary .irq_set_affinity()
    implementations in aardvark, altera, brcmstb, dwc, mediatek-gen3,
    mediatek, mobiveil, plda, rcar, tegra, vmd, xilinx-nwl, xilinx-xdma,
    and xilinx drivers to avoid 'IRQ: set affinity failed' warnings (Marek
    Vasut)

Power management:

  - Add pwrctl support for ATH11K inside the WCN6855 package (Konrad
    Dybcio)

PCI device hotplug:

  - Remove unnecessary hpc_ops struct from shpchp (ngn)

  - Check for PCI_POSSIBLE_ERROR(), not 0xffffffff, in cpqphp (weiyufeng)

Virtualization:

  - Mark Creative Labs EMU20k2 INTx masking as broken (Alex Williamson)

  - Add an ACS quirk for Qualcomm SA8775P, which doesn't advertise ACS but
    does provide ACS-like features (Subramanian Ananthanarayanan)

IOMMU:

  - Add function 0 DMA alias quirk for Glenfly Arise audio function, which
    uses the function 0 Requester ID (WangYuli)

NPEM:

  - Add Native PCIe Enclosure Management (NPEM) support for sysfs control
    of NVMe RAID storage indicators (ok/fail/locate/rebuild/etc) (Mariusz
    Tkaczyk)

  - Add support for the ACPI _DSM PCIe SSD status LED management, which is
    functionally similar to NPEM but mediated by platform firmware (Mariusz
    Tkaczyk)

Device trees:

  - Drop minItems and maxItems from ranges in PCI generic host binding
    since host bridges may have several MMIO and I/O port apertures (Frank
    Li)

  - Add kirin, rcar-gen2, uniphier DT binding top-level constraints for
    clocks (Krzysztof Kozlowski)

Altera PCIe controller driver:

  - Convert altera DT bindings from text to YAML (Matthew Gerlach)

  - Replace TLP_REQ_ID() with macro PCI_DEVID(), which does the same thing
    and is what other drivers use (Jinjie Ruan)

Broadcom STB PCIe controller driver:

  - Add DT binding maxItems for reset controllers (Jim Quinlan)

  - Use the 'bridge' reset method if described in the DT (Jim Quinlan)

  - Use the 'swinit' reset method if described in the DT (Jim Quinlan)

  - Add 'has_phy' so the existence of a 'rescal' reset controller doesn't
    imply software control of it (Jim Quinlan)

  - Add support for many inbound DMA windows (Jim Quinlan)

  - Rename SoC 'type' to 'soc_base' express the fact that SoCs come in
    families of multiple similar devices (Jim Quinlan)

  - Add Broadcom 7712 DT description and driver support (Jim Quinlan)

  - Sort enums, pcie_offsets[], pcie_cfg_data, .compatible strings for
    maintainability (Bjorn Helgaas)

Freescale i.MX6 PCIe controller driver:

  - Add imx6q-pcie 'dbi2' and 'atu' reg-names for i.MX8M Endpoints (Richard
    Zhu)

  - Fix a code restructuring error that caused i.MX8MM and i.MX8MP
    Endpoints to fail to establish link (Richard Zhu)

  - Fix i.MX8MP Endpoint occasional failure to trigger MSI by enforcing
    outbound alignment requirement (Richard Zhu)

  - Call phy_power_off() in the .probe() error path (Frank Li)

  - Rename internal names from imx6_* to imx_* since i.MX7/8/9 are also
    supported (Frank Li)

  - Manage Refclk by using SoC-specific callbacks instead of switch
    statements (Frank Li)

  - Manage core reset by using SoC-specific callbacks instead of switch
    statements (Frank Li)

  - Expand comments for erratum ERR010728 workaround (Frank Li)

  - Use generic PHY APIs to configure mode, speed, and submode, which is
    harmless for devices that implement their own internal PHY management
    and don't set the generic imx_pcie->phy (Frank Li)

  - Add i.MX8Q (i.MX8QM, i.MX8QXP, and i.MX8DXL) DT binding and driver Root
    Complex support (Richard Zhu)

Freescale Layerscape PCIe controller driver:

  - Replace layerscape-pcie DT binding compatible fsl,lx2160a-pcie with
    fsl,lx2160ar2-pcie (Frank Li)

  - Add layerscape-pcie DT binding deprecated 'num-viewport' property to
    address a DT checker warning (Frank Li)

  - Change layerscape-pcie DT binding 'fsl,pcie-scfg' to phandle-array
    (Frank Li)

Loongson PCIe controller driver:

  - Increase max PCI hosts to 8 for Loongson-3C6000 and newer chipsets
    (Huacai Chen)

Marvell Aardvark PCIe controller driver:

  - Fix issue with emulating Configuration RRS for two-byte reads of Vendor
    ID; previously it only worked for four-byte reads (Bjorn Helgaas)

MediaTek PCIe Gen3 controller driver:

  - Add per-SoC struct mtk_gen3_pcie_pdata to support multiple SoC types
    (Lorenzo Bianconi)
  
  - Use reset_bulk APIs to manage PHY reset lines (Lorenzo Bianconi)

  - Add DT and driver support for Airoha EN7581 PCIe controller (Lorenzo
    Bianconi)

Qualcomm PCIe controller driver:

  - Update qcom,pcie-sc7280 DT binding with eight interrupts (Rayyan
    Ansari)

  - Add back DT 'vddpe-3v3-supply', which was incorrectly removed earlier
    (Johan Hovold)

  - Drop endpoint redundant masking of global IRQ events (Manivannan
    Sadhasivam)

  - Clarify unknown global IRQ message and only log it once to avoid a
    flood (Manivannan Sadhasivam)

  - Add 'linux,pci-domain' property to endpoint DT binding (Manivannan
    Sadhasivam)

  - Assign PCI domain number for endpoint controllers (Manivannan
    Sadhasivam)

  - Add 'qcom_pcie_ep' and the PCI domain number to IRQ names for endpoint
    controller (Manivannan Sadhasivam)

  - Add global SPI interrupt for PCIe link events to DT binding (Manivannan
    Sadhasivam)

  - Add global RC interrupt handler to handle 'Link up' events and
    automatically enumerate hot-added devices (Manivannan Sadhasivam)

  - Avoid mirroring of DBI and iATU register space so it doesn't overlap
    BAR MMIO space (Prudhvi Yarlagadda)

  - Enable controller resources like PHY only after PERST# is deasserted to
    partially avoid the problem that the endpoint SoC crashes when
    accessing things when Refclk is absent (Manivannan Sadhasivam)

  - Add 16.0 GT/s equalization and RX lane margining settings (Shashank
    Babu Chinta Venkata)

  - Pass domain number to pci_bus_release_domain_nr() explicitly to avoid a
    NULL pointer dereference (Manivannan Sadhasivam)

Renesas R-Car PCIe controller driver:

  - Make the read-only const array 'check_addr' static (Colin Ian King)

  - Add R-Car V4M (R8A779H0) PCIe host and endpoint to DT binding
    (Yoshihiro Shimoda)

TI DRA7xx PCIe controller driver:

  - Request IRQF_ONESHOT for 'dra7xx-pcie-main' IRQ since the primary
    handler is NULL (Siddharth Vadapalli)

  - Handle IRQ request errors during root port and endpoint probe
    (Siddharth Vadapalli)

TI J721E PCIe driver:

  - Add DT 'ti,syscon-acspcie-proxy-ctrl' and driver support to enable the
    ACSPCIE module to drive Refclk for the Endpoint (Siddharth Vadapalli)

  - Extract the cadence link setup from cdns_pcie_host_setup() so link
    setup can be done separately during resume (Thomas Richard)

  - Add T_PERST_CLK_US definition for the mandatory delay between Refclk
    becoming stable and PERST# being deasserted (Thomas Richard)

  - Add j721e suspend and resume support (Théo Lebrun)

TI Keystone PCIe controller driver:

  - Fix NULL pointer checking when applying MRRS limitation quirk for AM65x
    SR 1.0 Errata #i2037 (Dan Carpenter)

Xilinx NWL PCIe controller driver:

  - Fix off-by-one error in INTx IRQ handler that caused INTx interrupts to
    be lost or delivered as the wrong interrupt (Sean Anderson)

  - Rate-limit misc interrupt messages (Sean Anderson)

  - Turn off the clock on probe failure and device removal (Sean Anderson)

  - Add DT binding and driver support for enabling/disabling PHYs (Sean
    Anderson)

  - Add PCIe phy bindings for the ZCU102 (Sean Anderson)

Xilinx XDMA PCIe controller driver:

  - Add support for Xilinx QDMA Soft IP PCIe Root Port Bridge to DT binding
    and xilinx-dma-pl driver (Thippeswamy Havalige)

Miscellaneous:

  - Fix buffer overflow in kirin_pcie_parse_port() (Alexandra Diupina)

  - Fix minor kerneldoc issues and typos (Bjorn Helgaas)

  - Use PCI_DEVID() macro in aer_inject() instead of open-coding it (Jinjie
    Ruan)

  - Check pcie_find_root_port() return in x86 fixups to avoid NULL pointer
    dereferences (Samasth Norway Ananda)

  - Make pci_bus_type constant (Kunwu Chan)

  - Remove unused declarations of __pci_pme_wakeup() and pci_vpd_release()
    (Yue Haibing)

  - Remove any leftover .*.cmd files with make clean (zhang jiao)

  - Remove unused BILLION macro (zhang jiao)

19 Sep 2024: s390 patches for the 6.12 merge window [+ + +]
1. Conflict in arch/s390/include/asm/facility.h:
   The random number generator tree (already pulled) contains the s390
   vDSO getrandom implementation, which is based on and includes the same
   commit, 26d4959681e3 ("s390/facility: Disable compile-time optimization
   for decompressor code"), as was previously included in the s390 tree,
   hence the conflict. For details, please see:
   https://lore.kernel.org/all/20240913130544.2398678-1-hca@linux.ibm.com/
   The s390 tree doesn't have any other changes to
   arch/s390/include/asm/facility.h, so please just stick to what's
   already in your branch.

2. The mm tree (not yet pulled as of now) contains commit 590b9d576cae
   ("mm: kvmalloc: align kvrealloc() with krealloc()"), which, when
   pulled, would result in s390 build failure. Please apply the
   following fix-up, if possible, to avoid build breakage.
   Reported by linux-next maintainer:
   https://lore.kernel.org/all/20240808135836.740effac@canb.auug.org.au/
---
s390 updates for 6.12 merge window

- Optimize ftrace and kprobes code patching and avoid stop machine for
  kprobes if sequential instruction fetching facility is available

- Add hiperdispatch feature to dynamically adjust CPU capacity in
  vertical polarization to improve scheduling efficiency and overall
  performance. Also add infrastructure for handling warning track
  interrupts (WTI), allowing for graceful CPU preemption

- Rework crypto code pkey module and split it into separate, independent
  modules for sysfs, PCKMO, CCA, and EP11, allowing modules to load only
  when the relevant hardware is available

- Add hardware acceleration for HMAC modes and the full AES-XTS cipher,
  utilizing message-security assist extensions (MSA) 10 and 11. It
  introduces new shash implementations for HMAC-SHA224/256/384/512 and
  registers the hardware-accelerated AES-XTS cipher as the preferred
  option. Also add clear key token support

- Add MSA 10 and 11 processor activity instrumentation counters to perf
  and update PAI Extension 1 NNPA counters

- Cleanup cpu sampling facility code and rework debug/WARN_ON_ONCE
  statements

- Add support for SHA3 performance enhancements introduced with MSA 12

- Add support for the query authentication information feature of
  MSA 13 and introduce the KDSA CPACF instruction. Provide query and query
  authentication information in sysfs, enabling tools like cpacfinfo to
  present this data in a human-readable form

- Update kernel disassembler instructions

- Always enable EXPOLINE_EXTERN if supported by the compiler to ensure
  kpatch compatibility

- Add missing warning handling and relocated lowcore support to the
  early program check handler

- Optimize ftrace_return_address() and avoid calling unwinder

- Make modules use kernel ftrace trampolines

- Strip relocs from the final vmlinux ELF file to make it roughly 2
  times smaller

- Dump register contents and call trace for early crashes to the console

- Generate ptdump address marker array dynamically

- Fix rcu_sched stalls that might occur when adding or removing large
  amounts of pages at once to or from the CMM balloon

- Fix deadlock caused by recursive lock of the AP bus scan mutex

- Unify sync and async register save areas in entry code

- Cleanup debug prints in crypto code

- Various cleanup and sanitizing patches for the decompressor

- Various small ftrace cleanups

19 Sep 2024: perf tools changes for v6.12 [+ + +]
Please consider pulling,

Best regards,

- Arnaldo

perf tools improvements and fixes for v6.12:

- Use BPF + BTF to collect and pretty print syscall and tracepoint arguments in
  'perf trace', done as an GSoC activity.

- Data-type profiling improvements:

  - Cache debuginfo to speed up data type resolution.

  - Add the 'typecln' sort order, to show which cacheline in a target is hot or
    cold. The following shows members in the cfs_rq's first cache line:

      $ perf report -s type,typecln,typeoff -H
      ...
      -    2.67%        struct cfs_rq
         +    1.23%        struct cfs_rq: cache-line 2
         +    0.57%        struct cfs_rq: cache-line 4
         +    0.46%        struct cfs_rq: cache-line 6
         -    0.41%        struct cfs_rq: cache-line 0
                 0.39%        struct cfs_rq +0x14 (h_nr_running)
                 0.02%        struct cfs_rq +0x38 (tasks_timeline.rb_leftmost)

  - When a typedef resolves to a unnamed struct, use the typedef name.

  - When a struct has just one basic type field (int, etc), resolve the type
    sort order to the name of the struct, not the type of the field.

  - Support type folding/unfolding in the data-type annotation TUI.

  - Fix bitfields offsets and sizes.

  - Initial support for PowerPC, using libcapstone and the usual objdump
    disassembly parsing routines.

- Add support for disassembling and addr2line using the LLVM libraries,
  speeding up those operations.

- Support --addr2line option in 'perf script' as with other tools.

- Intel branch counters (LBR event logging) support, only available in recent
  Intel processors, for instance, the new "brcntr" field can be asked from
  'perf script' to print the information collected from this feature:

  $ perf script -F +brstackinsn,+brcntr

  # Branch counter abbr list:
  # branch-instructions:ppp = A
  # branch-misses = B
  # '-' No event occurs
  # '+' Event occurrences may be lost due to branch counter saturated
      tchain_edit  332203 3366329.405674:  53030 branch-instructions:ppp:    401781 f3+0x2c (home/sdp/test/tchain_edit)
         f3+31:
      0000000000401774   insn: eb 04                  br_cntr: AA  # PRED 5 cycles [5]
      000000000040177a   insn: 81 7d fc 0f 27 00 00
      0000000000401781   insn: 7e e3                  br_cntr: A   # PRED 1 cycles [6] 2.00 IPC
      0000000000401766   insn: 8b 45 fc
      0000000000401769   insn: 83 e0 01
      000000000040176c   insn: 85 c0
      000000000040176e   insn: 74 06                  br_cntr: A   # PRED 1 cycles [7] 4.00 IPC
      0000000000401776   insn: 83 45 fc 01
      000000000040177a   insn: 81 7d fc 0f 27 00 00
      0000000000401781   insn: 7e e3                  br_cntr: A   # PRED 7 cycles [14] 0.43 IPC

- Support Timed PEBS (Precise Event-Based Sampling), a recent hardware feature
  in Intel processors.

- Add 'perf ftrace profile' subcommand, using ftrace's function-graph tracer so
  that users can see the total, average, max execution time as well as the
  number of invocations easily, for instance:

  $ sudo perf ftrace profile -G __x64_sys_perf_event_open -- \
    perf stat -e cycles -C1 true 2> /dev/null | head
  # Total (us)  Avg (us)  Max (us)  Count  Function
        65.611    65.611    65.611      1  __x64_sys_perf_event_open
        30.527    30.527    30.527      1  anon_inode_getfile
        30.260    30.260    30.260      1  __anon_inode_getfile
        29.700    29.700    29.700      1  alloc_file_pseudo
        17.578    17.578    17.578      1  d_alloc_pseudo
        17.382    17.382    17.382      1  __d_alloc
        16.738    16.738    16.738      1  kmem_cache_alloc_lru
        15.686    15.686    15.686      1  perf_event_alloc
        14.012     7.006    11.264      2  obj_cgroup_charge
  #

- 'perf sched timehist' improvements, including the addition of priority
  showing/filtering command line options.

- Varios improvements to the 'perf probe', including 'perf test' regression
  testings.

- Introduce the 'perf check', initially to check if some feature is in place,
  using it in 'perf test'.

- Various fixes for 32-bit systems.

- Address more leak sanitizer failures.

- Fix memory leaks (LBR, disasm lock ops, etc).

- More reference counting fixes (branch_info, etc).

- Constify 'struct perf_tool' parameters to improve code generation and reduce
  the chances of having its internals changed, which isn't expected.

- More constifications in various other places.

- Add more build tests, including for JEVENTS.

- Add more 'perf test' entries ('perf record LBR', pipe/inject, --setup-filter,
  'perf ftrace', 'cgroup sampling', etc).

- Inject build ids for all entries in a call chain in 'perf inject', not just
  for the main sample.

- Improve the BPF based sample filter, allowing root to setup filters in bpffs
  that then can be used by non-root users.

- Allow filtering by cgroups with the BPF based sample filter.

- Allow a more compact way for 'perf mem report' using the -T/--type-profile and
  also provide a --sort option similar to the one in 'perf report', 'perf top',
  to setup the sort order manually.

- Fix --group behavior in 'perf annotate' when leader has no samples, where it
  was not showing anything even when other events in the group had samples.

- Fix spinlock and rwlock accounting in 'perf lock contention'

- Fix libsubcmd fixdep Makefile dependencies.

- Improve 'perf ftrace' error message when ftrace isn't available.

- Update various Intel JSON vendor event files.

- ARM64 CoreSight hardware tracing infrastructure improvements, mostly not
  visible to users.

- Update power10 JSON events.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

19 Sep 2024: ext4 updates for 6.12-rc1 [+ + +]
Lots of cleanups and bug fixes this cycle, primarily in the block
allocation, extent management, fast commit, and journalling.

19 Sep 2024: Scheduler changes for v6.12 [+ + +]



Merge conflict notes:

   #
   # The freshly merged timer tree changes cause direct conflicts in two files
   #  and semantic conflicts in three files due to API changes:
   #
   #    Conflicts:
   #            fs/select.c
   #            kernel/time/hrtimer.c
   #    
   #    Semantic conflicts:
   #            fs/proc/base.c
   #            kernel/sched/syscalls.c
   #            kernel/sys.c
   #
   # To double check, see my tentative merge resolution in adf04642e625:
   #
   #

In the v6.12 scheduler development cycle we had 63 commits from 18 contributors:

 - Implement the SCHED_DEADLINE server infrastructure - Daniel Bristot de Oliveira's
   last major contribution to the kernel:

     "SCHED_DEADLINE servers can help fixing starvation issues of low priority
     tasks (e.g., SCHED_OTHER) when higher priority tasks monopolize CPU
     cycles. Today we have RT Throttling; DEADLINE servers should be able to
     replace and improve that."

     (Daniel Bristot de Oliveira, Peter Zijlstra, Joel Fernandes,
      Youssef Esmat, Huang Shijie)

 - Preparatory changes for sched_ext integration:

     - Use set_next_task(.first) where required
     - Fix up set_next_task() implementations
     - Clean up DL server vs. core sched
     - Split up put_prev_task_balance()
     - Rework pick_next_task()
     - Combine the last put_prev_task() and the first set_next_task()
     - Rework dl_server
     - Add put_prev_task(.next)

      (Peter Zijlstra, with a fix by Tejun Heo)

 - Complete the EEVDF transition and refine EEVDF scheduling:

     - Implement delayed dequeue
     - Allow shorter slices to wakeup-preempt
     - Use sched_attr::sched_runtime to set request/slice suggestion
     - Document the new feature flags
     - Remove unused and duplicate-functionality fields
     - Simplify & unify pick_next_task_fair()
     - Misc debuggability enhancements

      (Peter Zijlstra, with fixes/cleanups by Dietmar Eggemann,
       Valentin Schneider and Chuyi Zhou)

 - Initialize the vruntime of a new task when it is first enqueued,
   resulting in significant decrease in latency of newly woken tasks.
   (Zhang Qiao)

 - Introduce SM_IDLE and an idle re-entry fast-path in __schedule()
   (K Prateek Nayak, Peter Zijlstra)

 - Clean up and clarify the usage of Clean up usage of rt_task()
   (Qais Yousef)

 - Preempt SCHED_IDLE entities in strict cgroup hierarchies
   (Tianchen Ding)

 - Clarify the documentation of time units for deadline scheduler
   parameters. (Christian Loehle)

 - Remove the HZ_BW chicken-bit feature flag introduced a year ago,
   the original change seems to be working fine.
   (Phil Auld)

 - Misc fixes and cleanups (Chen Yu, Dan Carpenter, Huang Shijie,
   Peilin He, Qais Yousefm and Vincent Guittot)

 Thanks,

Ingo

19 Sep 2024: dma-mapping updates for Linux 6.12 [+ + +]
dma-mapping updates for linux 6.12

 - support DMA zones for arm64 systems where memory starts at > 4GB
   (Baruch Siach, Catalin Marinas)
 - support direct calls into dma-iommu and thus obsolete dma_map_ops for
   many common configurations (Leon Romanovsky)
 - add DMA-API tracing (Sean Anderson)
 - remove the not very useful return value from various dma_set_* APIs
   (Christoph Hellwig)
 - misc cleanups and minor optimizations (Chen Y, Yosry Ahmed,
   Christoph Hellwig)

19 Sep 2024: drm for 6.12-rc1 [+ + +]
This is the main drm pull request for 6.12-rc1.

There are some minor conflicts with your tree but none seemed too
difficult to solve, let me know if there is any problems on your end.

This adds a couple of patches outside the drm core, all should be
acked appropriately, the string and pstore ones are the main ones that
come to mind.

Otherwise it's the usual drivers, xe is getting enabled by default on
some new hardware, we've changed the device number handling to allow
more devices, and we added some optional rust code to create QR codes
in the panic handler, an idea first suggested I think 10 years ago :-)

Fuller summary below,
Thanks,
Dave.

drm-next-2024-09-19:
drm next for 6.12-rc1

string:
- add mem_is_zero()

core:
- support more device numbers
- use XArray for minor ids
- add backlight constants
- Split dma fence array creation into alloc and arm

fbdev:
- remove usage of old fbdev hooks

kms:
- Add might_fault() to drm_modeset_lock priming
- Add dynamic per-crtc vblank configuration support

dma-buf:
- docs cleanup

buddy:
- Add start address support for trim function

printk:
- pass description to kmsg_dump

scheduler;
- Remove full_recover from drm_sched_start

ttm:
- Make LRU walk restartable after dropping locks
- Allow direct reclaim to allocate local memory

panic:
- add display QR code (in rust)

displayport:
- mst: GUID improvements

bridge:
- Silence error message on -EPROBE_DEFER
- analogix: Clean aup
- bridge-connector: Fix double free
- lt6505: Disable interrupt when powered off
- tc358767: Make default DP port preemphasis configurable
- lt9611uxc: require DRM_BRIDGE_ATTACH_NO_CONNECTOR
- anx7625: simplify OF array handling
- dw-hdmi: simplify clock handling
- lontium-lt8912b: fix mode validation
- nwl-dsi: fix mode vsync/hsync polarity

xe:
- Enable LunarLake and Battlemage support
- Introducing Xe2 ccs modifiers for integrated and discrete graphics
- rename xe perf to xe observation
- use wb caching on DGFX for system memory
- add fence timeouts
- Lunar Lake graphics/media/display workarounds
- Battlemage workarounds
- Battlemage GSC support
- GSC and HuC fw updates for LL/BM
- use dma_fence_chain_free
- refactor hw engine lookup and mmio access
- enable priority mem read for Xe2
- Add first GuC BMG fw
- fix dma-resv lock
- Fix DGFX display suspend/resume
- Use xe_managed for kernel BOs
- Use reserved copy engine for user binds on faulting devices
- Allow mixing dma-fence jobs and long-running faulting jobs
- fix media TLB invalidation
- fix rpm in TTM swapout path
- track resources and VF state by PF

i915:
- Type-C programming fix for MTL+
- FBC cleanup
- Calc vblank delay more accurately
- On DP MST, Enable LT fallback for UHBR<->non-UHBR rates
- Fix DP LTTPR detection
- limit relocations to INT_MAX
- fix long hangs in buddy allocator on DG2/A380

amdgpu:
- Per-queue reset support
- SDMA devcoredump support
- DCN 4.0.1 updates
- GFX12/VCN4/JPEG4 updates
- Convert vbios embedded EDID to drm_edid
- GFX9.3/9.4 devcoredump support
- process isolation framework for GFX 9.4.3/4
- take IOMMU mappings into account for P2P DMA

amdkfd:
- CRIU fixes
- HMM fix
- Enable process isolation support for GFX 9.4.3/4
- Allow users to target recommended SDMA engines
- KFD support for targetting queues on recommended SDMA engines

radeon:
- remove .load and drm_dev_alloc
- Fix vbios embedded EDID size handling
- Convert vbios embedded EDID to drm_edid
- Use GEM references instead of TTM
- r100 cp init cleanup
- Fix potential overflows in evergreen CS offset tracking

msm:
- DPU:
- implement DP/PHY mapping on SC8180X
- Enable writeback on SM8150, SC8180X, SM6125, SM6350
- DP:
- Enable widebus on all relevant chipsets
- MSM8998 HDMI support
- GPU:
- A642L speedbin support
- A615/A306/A621 support
- A7xx devcoredump support

ast:
- astdp: Support AST2600 with VGA
- Clean up HPD
- Fix timeout loop for DP link training
- reorganize output code by type (VGA, DP, etc)
- convert to struct drm_edid
- fix BMC handling for all outputs

exynos:
- drop stale MAINTAINERS pattern
- constify struct

loongson:
- use GEM refcount over TTM

mgag200:
- Improve BMC handling
- Support VBLANK intterupts
- transparently support BMC outputs

nouveau:
- Refactor and clean up internals
- Use GEM refcount over TTM's

gm12u320:
- convert to struct drm_edid

gma500:
- update i2c terms

lcdif:
- pixel clock fix

host1x:
- fix syncpoint IRQ during resume
- use iommu_paging_domain_alloc()

imx:
- ipuv3: convert to struct drm_edid

omapdrm:
- improve error handling
- use common helper for_each_endpoint_of_node()

panel:
- add support for BOE TV101WUM-LL2 plus DT bindings
- novatek-nt35950: improve error handling
- nv3051d: improve error handling
- panel-edp: add support for BOE NE140WUM-N6G; revert support for
  SDC ATNA45AF01
- visionox-vtdr6130: improve error handling; use
  devm_regulator_bulk_get_const()
- boe-th101mb31ig002: Support for starry-er88577 MIPI-DSI panel plus
  DT; Fix porch parameter
- edp: Support AOU B116XTN02.3, AUO B116XAN06.1, AOU B116XAT04.1,
  BOE NV140WUM-N41, BOE NV133WUM-N63, BOE NV116WHM-A4D, CMN N116BCA-EA2,
  CMN N116BCP-EA2, CSW MNB601LS1-4
- himax-hx8394: Support Microchip AC40T08A MIPI Display panel plus DT
- ilitek-ili9806e: Support Densitron DMT028VGHMCMI-1D TFT plus DT
- jd9365da: Support Melfas lmfbx101117480 MIPI-DSI panel plus DT; Refactor
  for code sharing
- panel-edp: fix name for HKC MB116AN01
- jd9365da: fix "exit sleep" commands
- jdi-fhd-r63452: simplify error handling with DSI multi-style
  helpers
- mantix-mlaf057we51: simplify error handling with DSI multi-style
  helpers
- simple:
  support Innolux G070ACE-LH3 plus DT bindings
  support On Tat Industrial Company KD50G21-40NT-A1 plus DT bindings
- st7701:
  decouple DSI and DRM code
  add SPI support
  support Anbernic RG28XX plus DT bindings

mediatek:
- support alpha blending
- remove cl in struct cmdq_pkt
- ovl adaptor fix
- add power domain binding for mediatek DPI controller

renesas:
- rz-du: add support for RZ/G2UL plus DT bindings

rockchip:
- Improve DP sink-capability reporting
- dw_hdmi: Support 4k@60Hz
- vop: Support RGB display on Rockchip RK3066; Support 4096px width

sti:
- convert to struct drm_edid

stm:
- Avoid UAF wih managed plane and CRTC helpers
- Fix module owner
- Fix error handling in probe
- Depend on COMMON_CLK
- ltdc: Fix transparency after disabling plane; Remove unused interrupt

tegra:
- gr3d: improve PM domain handling
- convert to struct drm_edid
- Call drm_atomic_helper_shutdown()

vc4:
- fix PM during detect
- replace DRM_ERROR() with drm_error()
- v3d: simplify clock retrieval

v3d:
- Clean up perfmon

virtio:
- add DRM capset
drm next for 6.12-rc1

string:
- add mem_is_zero()

core:
- support more device numbers
- use XArray for minor ids
- add backlight constants
- Split dma fence array creation into alloc and arm

fbdev:
- remove usage of old fbdev hooks

kms:
- Add might_fault() to drm_modeset_lock priming
- Add dynamic per-crtc vblank configuration support

dma-buf:
- docs cleanup

buddy:
- Add start address support for trim function

printk:
- pass description to kmsg_dump

scheduler;
- Remove full_recover from drm_sched_start

ttm:
- Make LRU walk restartable after dropping locks
- Allow direct reclaim to allocate local memory

panic:
- add display QR code (in rust)

displayport:
- mst: GUID improvements

bridge:
- Silence error message on -EPROBE_DEFER
- analogix: Clean aup
- bridge-connector: Fix double free
- lt6505: Disable interrupt when powered off
- tc358767: Make default DP port preemphasis configurable
- lt9611uxc: require DRM_BRIDGE_ATTACH_NO_CONNECTOR
- anx7625: simplify OF array handling
- dw-hdmi: simplify clock handling
- lontium-lt8912b: fix mode validation
- nwl-dsi: fix mode vsync/hsync polarity

xe:
- Enable LunarLake and Battlemage support
- Introducing Xe2 ccs modifiers for integrated and discrete graphics
- rename xe perf to xe observation
- use wb caching on DGFX for system memory
- add fence timeouts
- Lunar Lake graphics/media/display workarounds
- Battlemage workarounds
- Battlemage GSC support
- GSC and HuC fw updates for LL/BM
- use dma_fence_chain_free
- refactor hw engine lookup and mmio access
- enable priority mem read for Xe2
- Add first GuC BMG fw
- fix dma-resv lock
- Fix DGFX display suspend/resume
- Use xe_managed for kernel BOs
- Use reserved copy engine for user binds on faulting devices
- Allow mixing dma-fence jobs and long-running faulting jobs
- fix media TLB invalidation
- fix rpm in TTM swapout path
- track resources and VF state by PF

i915:
- Type-C programming fix for MTL+
- FBC cleanup
- Calc vblank delay more accurately
- On DP MST, Enable LT fallback for UHBR<->non-UHBR rates
- Fix DP LTTPR detection
- limit relocations to INT_MAX
- fix long hangs in buddy allocator on DG2/A380

amdgpu:
- Per-queue reset support
- SDMA devcoredump support
- DCN 4.0.1 updates
- GFX12/VCN4/JPEG4 updates
- Convert vbios embedded EDID to drm_edid
- GFX9.3/9.4 devcoredump support
- process isolation framework for GFX 9.4.3/4
- take IOMMU mappings into account for P2P DMA

amdkfd:
- CRIU fixes
- HMM fix
- Enable process isolation support for GFX 9.4.3/4
- Allow users to target recommended SDMA engines
- KFD support for targetting queues on recommended SDMA engines

radeon:
- remove .load and drm_dev_alloc
- Fix vbios embedded EDID size handling
- Convert vbios embedded EDID to drm_edid
- Use GEM references instead of TTM
- r100 cp init cleanup
- Fix potential overflows in evergreen CS offset tracking

msm:
- DPU:
- implement DP/PHY mapping on SC8180X
- Enable writeback on SM8150, SC8180X, SM6125, SM6350
- DP:
- Enable widebus on all relevant chipsets
- MSM8998 HDMI support
- GPU:
- A642L speedbin support
- A615/A306/A621 support
- A7xx devcoredump support

ast:
- astdp: Support AST2600 with VGA
- Clean up HPD
- Fix timeout loop for DP link training
- reorganize output code by type (VGA, DP, etc)
- convert to struct drm_edid
- fix BMC handling for all outputs

exynos:
- drop stale MAINTAINERS pattern
- constify struct

loongson:
- use GEM refcount over TTM

mgag200:
- Improve BMC handling
- Support VBLANK intterupts
- transparently support BMC outputs

nouveau:
- Refactor and clean up internals
- Use GEM refcount over TTM's

gm12u320:
- convert to struct drm_edid

gma500:
- update i2c terms

lcdif:
- pixel clock fix

host1x:
- fix syncpoint IRQ during resume
- use iommu_paging_domain_alloc()

imx:
- ipuv3: convert to struct drm_edid

omapdrm:
- improve error handling
- use common helper for_each_endpoint_of_node()

panel:
- add support for BOE TV101WUM-LL2 plus DT bindings
- novatek-nt35950: improve error handling
- nv3051d: improve error handling
- panel-edp: add support for BOE NE140WUM-N6G; revert support for
  SDC ATNA45AF01
- visionox-vtdr6130: improve error handling; use
  devm_regulator_bulk_get_const()
- boe-th101mb31ig002: Support for starry-er88577 MIPI-DSI panel plus
  DT; Fix porch parameter
- edp: Support AOU B116XTN02.3, AUO B116XAN06.1, AOU B116XAT04.1,
  BOE NV140WUM-N41, BOE NV133WUM-N63, BOE NV116WHM-A4D, CMN N116BCA-EA2,
  CMN N116BCP-EA2, CSW MNB601LS1-4
- himax-hx8394: Support Microchip AC40T08A MIPI Display panel plus DT
- ilitek-ili9806e: Support Densitron DMT028VGHMCMI-1D TFT plus DT
- jd9365da: Support Melfas lmfbx101117480 MIPI-DSI panel plus DT; Refactor
  for code sharing
- panel-edp: fix name for HKC MB116AN01
- jd9365da: fix "exit sleep" commands
- jdi-fhd-r63452: simplify error handling with DSI multi-style
  helpers
- mantix-mlaf057we51: simplify error handling with DSI multi-style
  helpers
- simple:
  support Innolux G070ACE-LH3 plus DT bindings
  support On Tat Industrial Company KD50G21-40NT-A1 plus DT bindings
- st7701:
  decouple DSI and DRM code
  add SPI support
  support Anbernic RG28XX plus DT bindings

mediatek:
- support alpha blending
- remove cl in struct cmdq_pkt
- ovl adaptor fix
- add power domain binding for mediatek DPI controller

renesas:
- rz-du: add support for RZ/G2UL plus DT bindings

rockchip:
- Improve DP sink-capability reporting
- dw_hdmi: Support 4k@60Hz
- vop: Support RGB display on Rockchip RK3066; Support 4096px width

sti:
- convert to struct drm_edid

stm:
- Avoid UAF wih managed plane and CRTC helpers
- Fix module owner
- Fix error handling in probe
- Depend on COMMON_CLK
- ltdc: Fix transparency after disabling plane; Remove unused interrupt

tegra:
- gr3d: improve PM domain handling
- convert to struct drm_edid
- Call drm_atomic_helper_shutdown()

vc4:
- fix PM during detect
- replace DRM_ERROR() with drm_error()
- v3d: simplify clock retrieval

v3d:
- Clean up perfmon

virtio:
- add DRM capset

19 Sep 2024: xen: branch for v6.12-rc1 [+ + +]
Please git pull the following tag:


xen: branch for v6.12-rc1

It contains the following patches:

- A 7 patch series fixing a boot problem as a Xen dom0 on some AMD systems
- A 3 patch series fixing Xen PVH boot problems with KASAN enabled
- A fix for a build warning
- 2 fixes in swiotlb-xen

Thanks.

Juergen

 
18 Sep 2024: Devicetree updates for v6.12 [+ + +]

There's one trivial context conflict in wakeup-source.txt with the input 
tree.

Rob


Devicetree updates for v6.12:

DT Bindings:
- Drop duplicate devices in trivial-devices.yaml

- Add a common serial peripheral device schema and reference it in
  serial device schemas.

- Convert nxp,lpc1850-wdt, zii,rave-wdt, ti,davinci-wdt,
  snps,archs-pct, fsl,bcsr, fsl,fpga-qixis-i2c, fsl,fpga-qixis,
  fsl,cpm-enet, fsl,cpm-mdio, fsl,ucc-hdlc, maxim,ds26522,
  aspeed,ast2400-cvic, aspeed,ast2400-vic, fsl,ftm-timer,
  ti,davinci-timer, fsl,rcpm, and qcom,ebi2 to DT schema

- Add support for rockchip,rk3576-wdt, qcom,apss-wdt-sa8255p,
  fsl,imx8qm-irqsteer, qcom,pm6150-vib, qcom,sa8255p-pdc, isil,isl69260,
  ti,tps546d24, and lpc32xx DMA mux

- Drop duplicate nvidia,tegra186-ccplex-cluster.yaml and
  mediatek,mt6795-sys-clock.yaml

- Add arm,gic ESPI and EPPI interrupt type specifiers

- Add another batch of legacy compatible strings which we have no
  intention of documenting

- Add dmas/dma-names properties to FSL lcdif

- Fix wakeup-source reference to m8921-keypad.yaml

- Treewide fixes of typos in bindings

DT Core:
- Update dtc/libfdt to upstream version v1.7.0-95-gbcd02b523429

- More conversions to scoped iterators and __free() initializer

- Handle overflows in address resources on 32-bit systems

- Extend extracting compatible strings in sources from function
  parameters

- Use of_property_present() in DT unittest

- Clean-up of_irq_to_resource() to use helpers

- Support #msi-cells=<0> in of_msi_get_domain()

- Improve the kerneldoc for of_property_match_string()

- kselftest: Ignore nodes that have ancestors disabled

18 Sep 2024: platform-drivers-x86 for 6.12-1 [+ + +]
Here is the main PDx86 PR for 6.12.

Highlights:
 -  asus-wmi: Add support for vivobook fan profiles
 -  dell-laptop: Add knobs to change battery charge settings
 -  lg-laptop: Add operation region support
 -  intel-uncore-freq: Add support for efficiency latency control
 -  intel/ifs: Add SBAF test support
 -  intel/pmc: Ignore all LTRs during suspend
 -  platform/surface: Support for arm64 based Surface devices
 -  wmi: Pass event data directly to legacy notify handlers
 -  x86/platform/geode: switch GPIO buttons and LEDs to software properties
 -  bunch of small cleanups, fixes, hw-id additions, etc.

Regards,

Hans


platform-drivers-x86 for v6.12-1

Highlights:
 -  asus-wmi: Add support for vivobook fan profiles
 -  dell-laptop: Add knobs to change battery charge settings
 -  lg-laptop: Add operation region support
 -  intel-uncore-freq: Add support for efficiency latency control
 -  intel/ifs: Add SBAF test support
 -  intel/pmc: Ignore all LTRs during suspend
 -  platform/surface: Support for arm64 based Surface devices
 -  wmi: Pass event data directly to legacy notify handlers
 -  x86/platform/geode: switch GPIO buttons and LEDs to software properties
 -  bunch of small cleanups, fixes, hw-id additions, etc.

The following is an automated git shortlog grouped by driver:

Documentation:
 -  admin-guide: pm: Add efficiency vs. latency tradeoff to uncore documentation

ISST:
 -  Simplify isst_misc_reg() and isst_misc_unreg()

MAINTAINERS:
 -  adjust file entry in INTEL MID PLATFORM
 -  Add Intel MID section

Merge tag 'hwmon-for-v6.11-rc7' into review-hans:
 - Merge tag 'hwmon-for-v6.11-rc7' into review-hans

Merge tag 'platform-drivers-x86-v6.11-3' into review-hans:
 - Merge tag 'platform-drivers-x86-v6.11-3' into review-hans

acer-wmi:
 -  Use backlight power constants

asus-laptop:
 -  Use backlight power constants

asus-nb-wmi:
 -  Use backlight power constants

asus-wmi:
 -  don't fail if platform_profile already registered
 -  add debug print in more key places
 -  Use backlight power constants
 -  add support for vivobook fan profiles

dell-laptop:
 -  remove duplicate code w/ battery function
 -  Add knobs to change battery charge settings

dt-bindings:
 -  platform: Add Surface System Aggregator Module
 -  serial: Allow embedded-controller as child node

eeepc-laptop:
 -  Use backlight power constants

eeepc-wmi:
 -  Use backlight power constants

fujitsu-laptop:
 -  Use backlight power constants

hid-asus:
 -  use hid for brightness control on keyboard

ideapad-laptop:
 -  Make the scope_guard() clear of its scope
 -  move ACPI helpers from header to source file
 -  Use backlight power constants

int3472:
 -  Use str_high_low()
 -  Use GPIO_LOOKUP() macro
 -  make common part a separate module

intel-hid:
 -  Use string_choices API instead of ternary operator

intel/pmc:
 -  Ignore all LTRs during suspend
 -  Remove unused param idx from pmc_for_each_mode()

intel_scu_ipc:
 -  Move intel_scu_ipc.h out of arch/x86/include/asm

intel_scu_wdt:
 -  Move intel_scu_wdt.h to x86 subfolder

lenovo-ymc:
 -  Ignore the 0x0 state

lg-laptop:
 -  Add operation region support

oaktrail:
 -  Use backlight power constants

panasonic-laptop:
 -  Add support for programmable buttons

platform/mellanox:
 -  mlxbf-pmc: fix lockdep warning

platform/olpc:
 -  Remove redundant null pointer checks in olpc_ec_setup_debugfs()

platform/surface:
 -  Add OF support

platform/x86/amd:
 -  pmf: Add quirk for TUF Gaming A14

platform/x86/amd/pmf:
 -  Update SMU metrics table for 1AH family series
 -  Relocate CPU ID macros to the PMF header
 -  Add support for notifying Smart PC Solution updates

platform/x86/intel-uncore-freq:
 -  Add efficiency latency control to sysfs interface
 -  Add support for efficiency latency control
 -  Do not present separate package-die domain

platform/x86/intel/ifs:
 -  Fix SBAF title underline length
 -  Add SBAF test support
 -  Add SBAF test image loading support
 -  Refactor MSR usage in IFS test code

platform/x86/intel/pmc:
 -  Show live substate requirements

platform/x86/intel/pmt:
 -  Use PMT callbacks

platform/x86/intel/vsec:
 -  Add PMT read callbacks

platform/x86/intel/vsec.h:
 -  Move to include/linux

samsung-laptop:
 -  Use backlight power constants

serial-multi-instantiate:
 -  Don't require both I2C and SPI

thinkpad_acpi:
 -  Fix uninitialized symbol 's' warning
 -  Add Thinkpad Edge E531 fan support

touchscreen_dmi:
 -  add nanote-next quirk

trace:
 -  platform/x86/intel/ifs: Add SBAF trace support

wmi:
 -  Call both legacy and WMI driver notify handlers
 -  Merge get_event_data() with wmi_get_notify_data()
 -  Remove wmi_get_event_data()
 -  Pass event data directly to legacy notify handlers

x86-android-tablets:
 -  Adjust Xiaomi Pad 2 bottom bezel touch buttons LED
 -  Fix spelling in the comments

x86/platform/geode:
 -  switch GPIO buttons and LEDs to software properties

18 Sep 2024: HID for 6.12 [+ + +]
please pull from

nus-2024091602


to receive HID subsystem queue for 6.12 merge window, namely:

=3D=3D=3D=3D=3D

- New HID over SPI driver for Goodix devices that don't follow Microsoft's=
=20
  HID-over-SPI specification, so a separate driver is needed. Currently=20
  supported device is GT7986U touchscreen (Charles Wang)

- support for new hardware features in Wacom driver (high-res wheel=20
  scrolling, touchstrings with relative motions, support for two=20
  touchrings) (Jason Gerecke)

- support for customized vendor firmware loading in intel-ish driver=20
  (Zhang Lixu)

- fix for theoretical race condition in i2c-hid (Dmitry Torokhov)

- support for HIDIOCREVOKE -- evdev's EVIOCREVOKE equivalent in hidraw=20
  (Peter Hutterer)

- initial hidraw selftest implementation (Benjamin Tissoires)

- constification of device-specific report descriptors (Thomas Wei=DFschuh)

- other small assorted fixes and device ID / quirk additions

=3D=3D=3D=3D=3D

Thanks.

18 Sep 2024: Performance events changes for v6.12 [+ + +]



   [ Merge note: this pull request depends on you having pulled perf-urgent-2024-09-18 already. ]

Performance events changes for v6.12:

 - Implement per-PMU context rescheduling to significantly improve single-PMU
   performance, and related cleanups/fixes. (by Peter Zijlstra and Namhyung Kim)

 - Fix ancient bug resulting in a lot of events being dropped erroneously
   at higher sampling frequencies. (by Luo Gengkun)

 - uprobes enhancements:

     - Implement RCU-protected hot path optimizations for better performance:

         "For baseline vs SRCU, peak througput increased from 3.7 M/s (million uprobe
          triggerings per second) up to about 8 M/s. For uretprobes it's a bit more
          modest with bump from 2.4 M/s to 5 M/s.

          For SRCU vs RCU Tasks Trace, peak throughput for uprobes increases further from
          8 M/s to 10.3 M/s (+28%!), and for uretprobes from 5.3 M/s to 5.8 M/s (+11%),
          as we have more work to do on uretprobes side.

          Even single-thread (no contention) performance is slightly better: 3.276 M/s to
          3.396 M/s (+3.5%) for uprobes, and 2.055 M/s to 2.174 M/s (+5.8%)
          for uretprobes."

          (by Andrii Nakryiko et al)

     - Document mmap_lock, don't abuse get_user_pages_remote(). (by Oleg Nesterov)

     - Cleanups & fixes to prepare for future work:

        - Remove uprobe_register_refctr()
- Simplify error handling for alloc_uprobe()
        - Make uprobe_register() return struct uprobe *
        - Fold __uprobe_unregister() into uprobe_unregister()
        - Shift put_uprobe() from delete_uprobe() to uprobe_unregister()
        - BPF: Fix use-after-free in bpf_uprobe_multi_link_attach()

          (by Oleg Nesterov)

 - New feature & ABI extension: allow events to use PERF_SAMPLE READ with
   inheritance, enabling sample based profiling of a group of counters over
   a hierarchy of processes or threads.  (by Ben Gainey)

 - Intel uncore & power events updates:

      - Add Arrow Lake and Lunar Lake support
      - Add PERF_EV_CAP_READ_SCOPE
      - Clean up and enhance cpumask and hotplug support

        (by Kan Liang)

      - Add LNL uncore iMC freerunning support
      - Use D0:F0 as a default device

        (by Zhenyu Wang)

 - Intel PT: fix AUX snapshot handling race. (by Adrian Hunter)

 - Misc fixes and cleanups. (by James Clark, Jiri Olsa, Oleg Nesterov and Peter Zijlstra)

Thanks,

Ingo

 
17 Sep 2024: dlm updates for 6.12 [+ + +]


Summary:

- Remove some unnecesary hold/unhold rsb refcounting
  in cases where an existing refcount is known to exist.
- Remove some unnecessary checking for zero nodeids, which
  should never exist, and add some warning if they do.
- Make the slow freeing of structs in release_lockspace()
  async, run from a workqueue.
- Prior rcu freeing allows some further struct lookups to
  run without a lock.
- Use blocking kernel_connect on sockets to avoid EINPROGRESS.

Thanks,
Dave


17 Sep 2024: LKMM changes for v6.12 [+ + +]


lkmm: Add documentation and mailing list

This pull request contains documentation updates from Andrea Parri and
Akira Yokosawa.  Also, there is now an lkmm@lists.linux.dev, and Boqun
Feng's update adds this to the LKMM MAINTAINERS entry.

Not included in this pull request are a couple of more commits from
Puranjay Mohan adding more atomic operations to LKMM, but these await a
herdtools7 release that includes tool-side support for this functionality.
With luck, I will send a separate pull request for these later in the
merge window.

17 Sep 2024: power sequencing updates for v6.12-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


There's one change adding support for a new PMU model and another adding
documentation for the subsystem which probably should have been part of
the initial commit but better late than never.

Details are in the signed tag.

Thanks,
Bartosz Golaszewski

power sequencing updates for v6.12-rc1

- add support for the new PMU variant inside the WCN6855 chipset
- add documentation for the subsystem

17 Sep 2024: gpio updates for v6.12-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


Here are the updates from the GPIO tree for the next release. We have one
new driver, some improvements to core GPIO code, various changes in
drivers and their DT bindings as well fixes to kerneldocs.

Overall it has been a slow cycle, most likely due to the summertime
vacation period and the changelog reflects it.

The merge from the MFD tree is there to pull dependencies for the new
driver.

There is a trivial conflict with the SoC tree (just drop
arch/arm/mach-ep93xx/vision_ep9307.c).


Bartosz Golaszewski

gpio updates for v6.12-rc1

Core GPIOLIB:
- provide and add users for a macro allowing to iterate over accepted
  GPIO property names of consumer device nodes
- remove legacy definitions that are no longer used
- put legacy GPIO devres helpers together with the rest of the deprecated
  code
- implement and use swnode_gpio_get_reference(): a wrapper simplifying
  the underlying calls to fwnode_property_get_reference_args()
- use IS_ERR_OR_NULL() where it makes sense
- replace of_find_property() with of_property_present()
- simplify code with the scoped variant of OF-node children iterator

Documentation:
- update GPIO kerneldocs with Return sections
- fix "Excess struct member description" warnings now being triggered
  with W=1

New drivers:
- add support for Analog Devices ADP5585

Driver improvements:
- add support for wake-on-GPIO to gpio-mpc8xxx
- use GPIO_LOOKUP_IDX() in gpio-virtuser
- use devm_clk_get_[optional_]enabled() where applicable in several
  drivers
- replace OF-specific functions with provider-agnostic alternatives where
  possible
- drop support for legacy platform data from gpio-ath79 and gpio-davinci
- refactor gpio-stmpe
- improve error reporting in gpio-pca953x
- add support for reading the direction of pins for some models to
  gpio-vf610

DT bindings:
- convert the bindings for nxp,lpc3220 to YAML
- add gpio-reserved-ranges to gpio-davinci
- simplify the GPIO hog schema
- fix a GPIO hog issue in bindings for fcs,fxl6408

Other:
- fix format specifiers in user-space tools
- remove leftover files on make clean in tools/gpio/

17 Sep 2024: irq/domain for v6.12-rc1 [+ + +]
please pull the latest irq/domain branch from:

09-17


Two small updates for interrupt domains:

  - Remove a stray '-' in the domain name

  - Consolidate and clarify the bus token checks so they explicitely check
    for DOMAIN_BUS_ANY instead of unspecified checks for zero.

Thanks,

tglx

17 Sep 2024: x86/misc for v6.12-rc1 [+ + +]
please pull the latest x86/misc branch from:

-17


Miscellaneous updates for x86:

  - Rework kcpuid to handle the the autogenerated CSV file correctly and
    update the CSV file to cover the whole zoo of CPUID.

  - Avoid memcpy() for ia32 syscall_get_arguments() and use direct
    assignments as fortified memcpy() is unhappy about writing/reading
    beyond the end of the addresses destination/source struct member

  - A few new PCI IDs for AMD

  - Update MAINTAINERS to cover x86 specific selftests


Thanks,

tglx

17 Sep 2024: x86/apic for v6.12-rc1 [+ + +]
please pull the latest x86/apic branch from:

-17


Updates for the x86 APIC code:

  - Handle an allocation failure in the IO/APIC code gracefully instead of
    crashing the machine.

  - Remove support for APIC local destination mode on 64bit

    Logical destination mode of the local APIC is used for systems with up
    to 8 CPUs. It has an advantage over physical destination mode as it
    allows to target multiple CPUs at once with IPIs. That advantage was
    definitely worth it when systems with up to 8 CPUs were state of the
    art for servers and workstations, but that's history.

    In the recent past there were quite some reports of new laptops failing
    to boot with logical destination mode, but they work fine with physical
    destination mode. That's not a suprise because physical destination
    mode is guaranteed to work as it's the only way to get a CPU up and
    running via the INIT/INIT/STARTUP sequence. Some of the affected
    systems were cured by BIOS updates, but not all OEMs provide them.

    As the number of CPUs keep increasing, logical destination mode becomes
    less used and the benefit for small systems, like laptops, is not
    really worth the trouble. So just remove logical destination mode
    support for 64bit and be done with it.

  - Code and comment cleanups in the APIC area.

Thanks,

tglx

17 Sep 2024: x86/mm for v6.12-rc1 [+ + +]
please pull the latest x86/mm branch from:



Updates for x86 memory management:

 - Make LAM enablement safe vs. kernel threads using a process mm
   temporarily as switching back to the process would not update CR3 and
   therefore not enable LAM causing faults in user space when using tagged
   pointers. Cure it by synchronizing LAM enablement via IPIs to all CPUs
   which use the related mm.

 - Cure a LAM harmless inconsistency between CR3 and the state during
   context switch. It's both confusing and prone to lead to real bugs

 - Handle alt stack handling for threads which run with a non-zero
   protection key. The non-zero key prevents the kernel to access the
   alternate stack. Cure it by temporarily enabling all protection keys for
   the alternate stack setup/restore operations.

 - Provide a EFI config table identity mapping for kexec kernel to prevent
   kexec fails because the new kernel cannot access the config table array

 - Use GB pages only when a full GB is mapped in the identity map as
   otherwise the CPU can speculate into reserved areas after the end of
   memory which causes malfunction on UV systems.

 - Remove the noisy and pointless SRAT table dump during boot

 - Use is_ioremap_addr() for iounmap() address range checks instead of
   high_memory. is_ioremap_addr() is more precise.


Thanks,

tglx

17 Sep 2024: x86/timers for v6.12-rc1 [+ + +]
please pull the latest x86/timers branch from:

09-17

 match comment

Updates for x86 timers:

  - Use the topology information of number of packages for making the
    decision about TSC trust instead of using the number of online nodes
    which is not reflecting the real topology.

  - Stop the PIT timer 0 when its not in use as to stop pointless emulation
    in the VMM.

  - Fix the PIT timer stop sequence for timer 0 so it truly stops both real
    hardware and buggy VMM emulations.

Thanks,

tglx

17 Sep 2024: x86/fred for v6.12-rc1 [+ + +]
please pull the latest x86/fred branch from:

-17

 of context switch

Updates for x86 FRED:

  - Enable FRED right after init_mem_mapping() because at that point the
    early IDT fault handler is replaced by the real fault handler. The real
    fault handler retrieves the faulting address from the stack frame and
    not from CR2 when the FRED feature is set. But that obviously only
    works when FRED is enabled in the CPU as well.

  - Set SS to __KERNEL_DS when enabling FRED to prevent a corner case where
    ERETS can observe a SS mismatch and raises a #GP.


Thanks,

tglx

17 Sep 2024: x86/platform for v6.12-rc1 [+ + +]
please pull the latest x86/platform branch from:

4-09-17

_info()

Remove a stale declaration from the UV platform code

Thanks,

tglx

17 Sep 2024: x86/core for v6.12-rc1 [+ + +]
please pull the latest x86/core branch from:

-17


Enable UBSAN traps for x86, which provides better reporting through
metadata encodeded into UD1.

Thanks,

tglx

17 Sep 2024: x86/build for v6.12-rc1 [+ + +]
please pull the latest x86/build branch from:

9-17


Updates for KCOV instrumentation on x86:

  - Prevent spurious KCOV coverage in common_interrupt()

  - Fixup the KCOV Makefile directive which got stale due to a source file
    rename

  - Exclude stack unwinding from KCOV as it creates large amounts of
    uninteresting coverage

  - Provide a self test to validate that KCOV coverage of the interrupt
    handling code starts not before preempt count got updated.

Thanks,

tglx

17 Sep 2024: x86/fpu for v6.12-rc1 [+ + +]
please pull the latest x86/fpu branch from:

17

iles

Provide FPU buffer layout in core dumps:

  Debuggers have guess the FPU buffer layout in core dumps, which is error
  prone. This is because AMD and Intel layouts differ.

  To avoid buggy heuristics add a ELF section which describes the buffer
  layout which can be retrieved by tools.

Thanks,

tglx

17 Sep 2024: pmdomain/cpuidle-psci updates for v6.12 [+ + +]
Here's the PR with pmdomain and cpuidle-psci updates for v6.12. Details about
the highlights are as usual found in the signed tag.


Kind regards
Ulf Hansson


pmdomain core:
 - Add support for s2idle for CPU PM domains on PREEMPT_RT
 - Add device managed version of dev_pm_domain_attach|detach_list()
 - Improve layout of the debugfs summary table

pmdomain providers:
 - amlogic: Remove obsolete vpu domain driver
 - bcm: raspberrypi: Add support for devices used as wakeup-sources
 - imx: Fixup clock handling for imx93 at driver remove
 - rockchip: Add gating support for RK3576
 - rockchip: Add support for RK3576 SoC
 - Some OF parsing simplifications
 - Some simplifications by using dev_err_probe() and guard()

pmdomain consumers:
 - qcom/media/venus: Convert to the device managed APIs for PM domains

cpuidle-psci:
 - Add support for s2idle/s2ram for the hierarchical topology on PREEMPT_RT
 - Some OF parsing simplifications

 
16 Sep 2024: KUnit update for Linux 6.12-rc1 [+ + +]
Hi Linus,


This kunit update for Linux 6.12-rc1 consists of:

-- a new int_pow test suite
-- documentation update to clarify filename best practices
-- kernel-doc fix for EXPORT_SYMBOL_IF_KUNIT
-- change to build compile_commands.json automatically instead
    of requiring a manual build.

diff is attached.

thanks,
-- Shuah

linux_kselftest-kunit-6.12-rc1

This kunit update for Linux 6.12-rc1 consists of:

-- a new int_pow test suite
-- documentation update to clarify filename best practices
-- kernel-doc fix for EXPORT_SYMBOL_IF_KUNIT
-- change to build compile_commands.json automatically instead
    of requiring a manual build.

 
17 Sep 2024: Hyper-V next for v6.12 [+ + +]
hyperv-next for v6.12
  - Optimize boot time by concurrent execution of hv_synic_init() (Saurabh Sengar)
  - Use helpers to read control registers in hv_snp_boot_ap() (Yosry Ahmed)
  - Add memory allocation check in hv_fcopy_start (Zhu Jun)
 
16 Sep 2024: Kselftest update for Linux 6.12-rc1 [+ + +]
Hi Linus,


This kselftest update for Linux 6.12-rc1 consists of:

-- test coverage for dup_fd() failure handling in unshare_fd()
-- new selftest for the acct() syscall
-- basic uprobe testcase
-- several small fixes and cleanups to existing tests
-- user and strscpy removal as they became kunit tests
-- fixes to build failures and warnings

diff is attached.

thanks,
-- Shuah

linux_kselftest-next-6.12-rc1

This kselftest update for Linux 6.12-rc1 consists of:

-- test coverage for dup_fd() failure handling in unshare_fd()
-- new selftest for the acct() syscall
-- basic uprobe testcase
-- several small fixes and cleanups to existing tests
-- user and strscpy removal as they became kunit tests
-- fixes to build failures and warnings

16 Sep 2024: nolibc for 6.12-rc1 [+ + +]
Hi Linus,


This nolibc update for Linux 6.12-rc1 consists of:

Highlights

* Clang support (including LTO)

Other Changes

* stdbool.h support
* argc/argv/envp arguments for constructors
* Small #include ordering fix

Test Results:

Passed:
tools/testing/selftests/nolibc/run-tests.sh
tools/testing/selftests/nolibc/run-tests.sh -m user

diff is attached.

thanks,
-- Shuah


linux_kselftest-nolibc-6.12-rc1

This nolibc update for Linux 6.12-rc1 consists of:

Highlights
16 Sep 2024: jfs updates for v6.12 [+ + +]
A few fixes for jfs

16 Sep 2024: overlayfs updates for 6.12 [+ + +]

This branch has been sitting in linux-next for over a week and
it has gone through the usual overlayfs test routines.

The branch merges cleanly with master branch of the moment.

Thanks,
Amir.

overlayfs updates for 6.12

- Increase robustness of overlayfs to crashes in the case of underlying
  filesystems that to not guarantee metadata ordering to persistent storage
  (problem was reported with ubifs).

- Deny mount inside container with features that require root privileges
  to work properly, instead of failing operations later.

- Some clarifications to overlayfs documentation.

16 Sep 2024: hwmon updates for v6.12 [+ + +]


Thanks,
Guenter
------

hwmon updates for v6.12

* New drivers

  - Driver for Sophgo SG2042 external hardware monitor

  - Thermal sensor driver for Surface Aggregator Module

* Added support to existing drivers

  - oxp-sensors: Support for multiple new devices.

  - nct6775: Added G15CF to ASUS WMI monitoring list

* Modernizations

  - ina2xx: Driver cleanup and update to use with_info API

  - lm92: Driver cleanup and update to use regmap and with_info API

  - lm95234: Driver cleanup and update to use regmap and with_info API

  - max1619: Driver cleanup and update to use regmap and with_info API

  - max1668: Driver cleanup and update to use regmap and with_info API

  - max6697: Driver cleanup and update to use regmap and with_info API

* API updates

  - Removed unused devm_hwmon_device_unregister() API function

* Other notable changes

  - Implement and use generic bus access delay for pmbus drivers

  - Use with scoped for each OF child loop in several drivers

  - Module unloading fixes for gsc-hwmon and ntc_thermistor drivers

  - Converted various drivers to use multi-byte regmap operations

  - adt7475: Improved devicetree based configuration

  - ltc2947: Move to firmware agnostic API

  - ltc2978: Converted devicetree description to yaml

  - max16065: Addressed overflows when writing limit attributes

* Various other minor cleanups, fixes and improvements

16 Sep 2024: MMC updates for v6.12 [+ + +]
Here's the pull-request for MMC v6.12.

Please note, this pull-request also introduces a new subsystem for so called
Replay Protected Memory Block (RPMB) in drivers/misc/. The first provider
that implements RPMB support is the MMC subsystem for eMMC cards, while the
consumer is the tee/optee subsystem.

More details are available in the commit message that introduces the RPMB
subsystem along with the usual highlights for MMC in the signed tag.


Kind regards
Ulf Hansson

MMC core:
 - Add documentation for the mmc-test driver
 - Register the eMMC RPMB partition with the RPMB subsystem
 - Some various cleanups

MMC host:
 - dw_mmc-rockchip: Add support for the RK3576 variant
 - renesas_sdhi: Add support for the RZ/V2H(P) variant
 - sdhci_am654: Add a retry mechanism for tuning
 - sdhci-atmel: Convert DT bindings to json schema
 - sdhci-of-dwcmshc: Add eMMC HW reset support for BlueField-3 SoC
 - sdhci-of-dwcmshc: Add support for the RK3576 variant
 - sdhci-of-dwcmshc: Add support for the Sophgo SG2042 variant
 - sdhci-of-ma35d1: Add new driver for the Nuvoton MA35D1 SDHCI

Misc/Tee:
 - Add Replay Protected Memory Block (RPMB) subsystem
 - Let optee probe RPMB device using RPMB subsystem

16 Sep 2024: livepatching for 6.12 [+ + +]
please pull the latest changes for the kernel livepatching from



- Small documentation improvement.

16 Sep 2024: m68k updates for v6.12 [+ + +]
m68k updates for v6.12

  - Use swap() helper for __arch_xchg(),
  - Fix kernel_clone_args.flags in m68k_clone(),
  - Defconfig updates.

Thanks for pulling!

16 Sep 2024: pwm: Changes for 6.12-rc1 [+ + +]

Hello Linus,

the following changes since commit 10c48e9a8fd5e524d37559cf4a06039b4c25db48:

  pwm: stm32: Use the right CCxNP bit in stm32_pwm_enable() (2024-09-05 11:=
12:01 +0200)

are available in the Git repository at:

wm/for-6.12-rc1

for you to fetch changes up to d242feaf81d63b25d8c1fb1a68738dc33966a376:

  pwm: stm32: Fix a typo (2024-09-16 15:24:59 +0200)

This is mostly what is in next for a while, I just found a broken commit
hash in a Fixes line during my last-minute-pre-PR checks, so I rewrote
00576dc859b82267e65b600dedc762d258f35e43 to
a550d6ae4d73dc4b9f1a2b3ad3d8d9e355b396be. The commits above changed
their IDs accordingly and the top commit is relatively new (but an
obvious spelling fix in a code comment, so should be harmless).


Greetings to Vienna,
Uwe

pwm: Changes for v6.12-rc1

This pull request contains some cleanups to the core and some mostly
minor updates to a bunch of drivers and device tree bindings. One thing
worth pointing out is that it contains an immutable branch containing
support for a new mfd chip (Analog Devices ADP5585) with several sub
drivers. So expect to get the four affected commits also from my fellow
MFD and GPIO maintainers.

Thanks go to Andrew Kreimer, Clark Wang, Conor Dooley, David Lechner,
Dmitry Rokosov, Frank Li, Geert Uytterhoeven, George Stark, Jiapeng
Chong, Krzysztof Kozlowski, Laurent Pinchart, Liao Chen, Liu Ying, Rob
Herring and Wolfram Sang for code contributions and reviews and to Lee
Jones for preparing the above mentioned immutable branch.

16 Sep 2024: Documentation for 6.12 [+ + +]
Another relatively mundane cycle for docs:

- The beginning of an EEVDF scheduler document

- More Chinese translations

- A rethrashing of our bisection documentation

...plus the usual array of smaller fixes, and more than the usual number of
typo fixes.

16 Sep 2024: random number generator updates for 6.12-rc1 [+ + +]
Originally I'd planned on sending each of the vDSO getrandom() architecture
ports to their respective arch trees. But as we started to work on this, we
found lots of interesting issues in the shared code and infrastructure, the
fixes for which the various archs needed to base their work. So in the end,
this turned into a nice collaborative effort fixing up issues and porting to
5 new architectures -- arm64, powerpc64, powerpc32, s390x, and loongarch64 --
with everybody pitching in and commenting on each other's code. It was a fun
development cycle.

This pull request contains:

- Numerous fixups to the vDSO selftest infrastructure, getting it running
  successfully on more platforms, and fixing bugs in it.

- Additions to the vDSO getrandom & chacha selftests. Basically every time
  manual review unearthed a bug in a revision of an arch patch, or an
  ambiguity, the tests were augmented. By the time the last arch was submitted
  for review, s390x, v1 of the series was essentially fine right out of the
  gate.

- Fixes to the the generic C implementation of vDSO getrandom, to build and
  run successfully on all archs, decoupling it from assumptions we had
  (unintentionally) made on x86_64 that didn't carry through to the other
  architectures.

- Port of vDSO getrandom to LoongArch64, from Xi Ruoyao and acked by Huacai
  Chen.

- Port of vDSO getrandom to ARM64, from Adhemerval Zanella and acked by Will
  Deacon.

- Port of vDSO getrandom to PowerPC, in both 32-bit and 64-bit varieties, from
  Christophe Leroy and acked by Michael Ellerman.

- Port of vDSO getrandom to S390X from Heiko Carstens, the arch maintainer.

While it'd be natural for there to be things to fix up over the course of the
6.12 cycle, these patches got a decent amount of review from a fairly diverse
crew of folks on the mailing lists, and, for the most part, they've been
cooking in linux-next, which has been helpful for ironing out build issues.

In terms of architectures, I think that mostly takes care of the important
64-bit archs with hardware still being produced and running production loads
in settings where vDSO getrandom is likely to help. Arguably there's still
RISC-V left, and we'll see for 6.13 whether they find it useful and submit a
port.

I haven't seen any merge conflicts from Stephen with linux-next. But this pull
does touch lots of different archs, so I was thinking it'd probably make sense
to merge this early in the cycle, before merging the architectures pulls from
the various archs. But you know best there, of course.

On a more personal note, sorry I'm unable to make it to Vienna this year; it
would have been nice to talk about things face to face. We'll see about next
year.


Thanks,
Jason

Random number generator updates for Linux 6.12-rc1.
16 Sep 2024: chrome-platform changes for v6.12 [+ + +]

Hi Linus,


Thanks,
TzungBi
------

chrome platform changes for 6.12

* Improvements

  - Adjust DMI match table for Framework Laptop for improving
    maintainabilities for both legacy and new models.

  - Add .remove driver callback for cros_ec_typec for allowing the
    driver to be rebound.

  - Use kmemdup_array() for taking care possible overflows.

16 Sep 2024: IOMMU Updates for Linux v6.12 [+ + +]
IOMMU Updates for Linux v6.12

Including:

- Core changes:
  - Allow ATS on VF when parent device is identity mapped.
  - Optimize unmap path on ARM io-pagetable implementation.
  - Use of_property_present().

- ARM-SMMU changes:
  - SMMUv2:
    - Devicetree binding updates for Qualcomm MMU-500 implementations.
    - Extend workarounds for broken Qualcomm hypervisor to avoid
      touching features that are not available (e.g. 16KiB page
      support, reserved context banks).
  - SMMUv3:
    - Support for NVIDIA's custom virtual command queue hardware.
    - Fix Stage-2 stall configuration and extend tests to cover this
      area.
    - A bunch of driver cleanups, including simplification of the
      master rbtree code.
  - Plus minor cleanups and fixes across both drivers.

- Intel VT-d changes:
  - Retire si_domain and convert to use static identity domain.
  - Batched IOTLB/dev-IOTLB invalidation.
  - Small code refactoring and cleanups.

- AMD-Vi changes:
  - Cleanup and refactoring of io-pagetable code.
  - Add parameter to limit the used io-pagesizes.
  - Other cleanups and fixes.

16 Sep 2024: hardening updates for v6.12-rc1 [+ + +]
string_choice additions, with some more straggling flexible array fixes,
selftest build improvements, and a new check for nonstring arguments.

A notable conflict is that str_up_down() got defined in drm too. So it
needs to be removed during the merge, which is rather awkward. It was
solved in linux-next with this:
https://lore.kernel.org/linux-next/20240909195939.067c1c13@canb.auug.org.au/

Thanks!

-Kees

hardening updates for v6.12-rc1

- lib/string_choices: Add str_up_down() helper (Michal Wajdeczko)

- lib/string_choices: Add str_true_false()/str_false_true() helper
  (Hongbo Li)

- lib/string_choices: Introduce several opposite string choice helpers
  (Hongbo Li)

- lib/string_helpers: rework overflow-dependent code (Justin Stitt)

- fortify: refactor test_fortify Makefile to fix some build problems
  (Masahiro Yamada)

- string: Check for "nonstring" attribute on strscpy() arguments

- virt: vbox: Replace 1-element arrays with flexible arrays

- media: venus: hfi_cmds: Replace 1-element arrays with flexible arrays

16 Sep 2024: core/debugobjects for v6.12-rc1 [+ + +]
please pull the latest core/debugobjects branch from:

s-2024-09-16



A set of updates for debugobjects:

  - Use the threshold to check for the pool refill condition and not the
    run time recorded all time low fill value, which is lower than the
    threshold and therefore causes refills to be delayed.

  - KCSAN annotation updates and simplification of the fill_pool() code.

Thanks,

tglx

16 Sep 2024: irq/core for v6.12-rc1 [+ + +]
please pull the latest irq/core branch from:

-16


Updates for the interrupt subsystem:

 - Core:
- Remove a global lock in the affinity setting code

  The lock protects a cpumask for intermediate results and the lock
  causes a bottleneck on simultaneous start of multiple virtual
  machines. Replace the lock and the static cpumask with a per CPU
  cpumask which is nicely serialized by raw spinlock held when
  executing this code.

- Provide support for giving a suffix to interrupt domain names.

  That's required to support devices with subfunctions so that the
  domain names are distinct even if they originate from the same
  device node.

- The usual set of cleanups and enhancements all over the place

  - Drivers:

- Support for longarch AVEC interrupt chip

- Refurbishment of the Armada driver so it can be extended for new
          variants.

- The usual set of cleanups and enhancements all over the place

Thanks,

tglx

16 Sep 2024: execve updates for v6.12-rc1 [+ + +]
merge conflict between this and mm, which was resolved in -next with:
https://lore.kernel.org/linux-next/20240909171843.78c294da@canb.auug.org.au/

Thanks!

-Kees

execve updates for v6.12-rc1

- binfmt_elf: Dump smaller VMAs first in ELF cores (Brian Mak)

- binfmt_elf: mseal address zero (Jeff Xu)

- binfmt_elf, coredump: Log the reason of the failed core dumps
  (Roman Kisel)

16 Sep 2024: timers/core for v6.12-rc1 [+ + +]
please pull the latest timers/core branch from:

-09-16

ards

Updates for timers and timekeeping:

  - Core:

- Overhaul of posix-timers in preparation of removing the
  workaround for periodic timers which have signal delivery
  ignored.

        - Remove the historical extra jiffie in msleep()

  msleep() adds an extra jiffie to the timeout value to ensure
  minimal sleep time. The timer wheel ensures minimal sleep
  time since the large rewrite to a non-cascading wheel, but the
  extra jiffie in msleep() remained unnoticed. Remove it.

        - Make the timer slack handling correct for realtime tasks.

  The procfs interface is inconsistent and does neither reflect
  reality nor conforms to the man page. Show the correct 0 slack
  for real time tasks and enforce it at the core level instead of
  having inconsistent individual checks in various timer setup
  functions.

        - The usual set of updates and enhancements all over the place.

  - Drivers:

        - Allow the ACPI PM timer to be turned off during suspend
=09
- No new drivers

- The usual updates and enhancements in various drivers

Thanks,

tglx

16 Sep 2024: timers/clocksource for v6.12-rc1 [+ + +]
please pull the latest timers/clocksource branch from:

ce-2024-09-16

certainty_margin


Updates for the clocksource watchdog:

  - Make the uncertainty margin handling more robust to prevent false
    positives

  - Clarify comments


Thanks,

tglx

16 Sep 2024: smp/core for v6.12-rc1 [+ + +]
please pull the latest smp/core branch from:

-16


A set of updates for CPU hotplug:

  - Prepare the core for supporting parallel hotplug on loongarch

  - A small set of cleanups and enhancements


Thanks,

tglx

16 Sep 2024: core/debugobjects for v6.12-rc1 [+ + +]
please pull the latest core/debugobjects branch from:

s-2024-09-16



A set of updates for debugobjects:

  - Use the threshold to check for the pool refill condition and not the
    run time recorded all time low fill value, which is lower than the
    threshold and therefore causes refills to be delayed.

  - KCSAN annotation updates and simplification of the fill_pool() code.

Thanks,

tglx

16 Sep 2024: pstore updates for v6.12-rc1 [+ + +]

Thanks!

-Kees

pstore updates for v6.12-rc1

- ramoops: Fix .rst typo (Steven Rostedt)

- pstore: replace spinlock_t by raw_spinlock_t (Wen Yang)

16 Sep 2024: SPI updates for v6.12 [+ + +]
spi: Updates for v6.12

This is quite a quiet release for sPI.  The one new core feature here is
support for configuring the state of the MOSI pin when the bus is idle,
there are some devices which are very fragile in this regard even when
the chip select signal is not asserted.  Otherwise we have some new
driver support, a bunch of small fixes and some general cleanup work.

 - Support for configuring the state of the MOSI pin when the the bus is
   idle.
 - Add the Elgin JG0309-01 in spidev.
 - Support for Marvell xSPI, Mediatek MTK7981, Microchip PIC64GX,
   NXP i.MX8ULP, and Rockchip RK3576 controllers.

I also accidentally pulled in an IIO DT bindings update due to a typo
when applying the MOSI idle state patches.

16 Sep 2024: regulator updates for v6.12 [+ + +]
regulator: Updates for v6.12

This release is almost all cleanup work of various kinds, while the
diffstat for the core is quite large this is almost all cleanups and
documentation improvments with some small fixes rather than any new
feature work.  We do have support for a couple of new devices but these
are small additions to existing drivers rather than new drivers.

 - Removal of the SM5703 driver which does not have it's dependencies
   available.
 - Support for Allwinner AXP717, and Qualcomm WCN6855.

The Allwinner support shares some commits with the MFD tree.

16 Sep 2024: regmap updates for v6.12 [+ + +]
regmap: Updates for v6.12

The main update here is Matti's work allowing regmap irqdomains to be
given custom names (allowing multiple interrupt controllers associatd
with a single struct device), this pulls in some commits from Thomas'
tree which it depends on.  Otherwise there's a bit of work on improving
handling of regmaps protected with spinlocks when used with complex
cache types, fixing some valid but harmless lockdep reports seen with
some new driver work.

 
15 Sep 2024: power-supply changes for 6.12 [+ + +]

Hi Linus,

Lot's of small things this time. The pull contains two merges of
immutable branches, one for the AXP717 support, which is shared
with MFD and one for the usb_types change, which is shared with
extcon to fix up a newly introduced driver using usb_types (also
touching a couple of other subsystems). Everything but the last
two commits have been in linux-next for at least 10 days. I only
pushed the last two commits some minutes ago. Those two are fixes
originally intended for 6.11. I received them a few days ago and
gave them some testing while travelling to Vienna. I independently
received a second patch fixing the issue, so it should be fixed
soon and I will be on vacation with limited network access for 3
weeks after LPC. Thus I think its better to have them included now
even though they received limited testing.

Greetings,

-- Sebastian


power supply and reset changes for the 6.12 series

 * power-supply core
   - introduce power_supply_show_enum_with_available() helper
   - change usb_types from an array into a bitmask
   - fix early usage of power_supply_property_is_writeable() resulting
     in sysfs files not being writable
   - fix missing temp1_max_alarm attribute in power-supply's hwmon devices
 * drivers
   - max1720x: expose nvmem device
   - brcmstb: cleanup driver to use latest APIs
   - max77693: expose input and charging current limit
   - max17042_battery: fix state of charge reading for devices without
     current sensing
   - axp20x_battery: add AXP717 support
   - axp20x_battery: fix min/max voltage properties
   - axp20x_usb_power: add AXP717 support
   - axp20x_usb_power: add DT based input current limit
 * Documentation updates
 * misc. minor cleanups and fixes

15 Sep 2024: hsi changes for 6.12 [+ + +]

Hi Linus,

HSI changes for the 6.12 series

 * omap-ssi: remove unnecessary debugfs_create_dir() error check

15 Sep 2024: Networking for v6.12 [+ + +]
Networking changes for 6.12.

The zero-copy changes are relatively significant, but regression risk
should be contained. The feature needs to be used to cause trouble.
The new code did trigger a PowerPC64 bug with GCC 14:

  https://lore.kernel.org/netdev/20240913125302.0a06b4c7@canb.auug.org.au/

a fix for which Michael will bring via his tree:

  https://lore.kernel.org/all/87jzffq9ge.fsf@mail.lhotse/

Unideal, not sure if you'll be willing to pull without that fix but
since we caught this recently I figured we'll defer to you during
the MW instead of trying to fix it cross-tree.

Also it feels like we got an order of magnitude more semi-automated
"refactoring" chaff than usual, I wonder if it's just us.

Core & protocols
15 Sep 2024: mtd: Changes for 6.12-rc1 [+ + +]
This is the MTD PR for v6.12-rc1.

Thanks,
Miqu=C3=A8l

* MTD changes

No particularly important patchset this cycle, but we have a few usual
improvements: like using a better/more recent helper or checking a
return value.

* Raw NAND changes

The use of for_each_child_of_node_scoped() has been spread into the
subsystem drivers. Aside from that, a couple of exit path have been
fixed (mtk, denali), the TI GPMC bindings have been enhanced to comply
with up-to-date partition descriptions and as always there is a load of
small and misc fixes.

* SPI-NAND changes

The most impacting series this cycle is bringing support for continuous
reads in the SPI-NAND subsystem. This is a feature already merged in the
raw NAND subsystem which allows optimizing the internal fetch times in
the chip while reading sequential pages within an eraseblock. For now
only Macronix NANDs benefit from this feature. While we are talking
about Macronix, some of their chip need an explicit action for selecting
a different plane, and support for it has also been brought.

The bitflip threshold has also been set to the same arbitrary level as
in the raw NAND subsystem to optimize wear leveling decisions, and
finally support for a new Winbond chip has been added.

* SPI NOR changes

Notable changes:
- Add Write Protect support for N25Q064A.
- New flash support for Zetta ZD25Q128C and Spansion S28HS256T.
- Fix a NULL dereference in probe path for flashes without a name. The
  probe path tries to access the name without checking its existence
  first. S28HS256T is the first flash to define its entry without a
  name, uncovering this issue.

15 Sep 2024: First batch of KVM changes for Linux 6.12 [+ + +]
ARM:

* New Stage-2 page table dumper, reusing the main ptdump infrastructure

* FP8 support

* Nested virtualization now supports the address translation (FEAT_ATS1A)
  family of instructions

* Add selftest checks for a bunch of timer emulation corner cases

* Fix multiple cases where KVM/arm64 doesn't correctly handle the guest
  trying to use a GICv3 that wasn't advertised

* Remove REG_HIDDEN_USER from the sysreg infrastructure, making
  things little simpler

* Prevent MTE tags being restored by userspace if we are actively
  logging writes, as that's a recipe for disaster

* Correct the refcount on a page that is not considered for MTE tag
  copying (such as a device)

* When walking a page table to split block mappings, synchronize only
  at the end the walk rather than on every store

* Fix boundary check when transfering memory using FFA

* Fix pKVM TLB invalidation, only affecting currently out of tree
  code but worth addressing for peace of mind

LoongArch:

* Revert qspinlock to test-and-set simple lock on VM.

* Add Loongson Binary Translation extension support.

* Add PMU support for guest.

* Enable paravirt feature control from VMM.

* Implement function kvm_para_has_feature().

RISC-V:

* Fix sbiret init before forwarding to userspace

* Don't zero-out PMU snapshot area before freeing data

* Allow legacy PMU access from guest

* Fix to allow hpmcounter31 from the guest

 
14 Sep 2024: sound updates for 6.12-rc1 (early PR) [+ + +]
please pull sound updates for v6.12-rc1 from:


The topmost commit is 64c0ce555ad2d84f497f5f584ddd31e87ac690a2


sound updates for 6.12-rc1

A fairly big update at this time, both in core and driver sides.

The core received rewrites in PCM buffer allocation handling and
locking optimizations, PCM rate updates followed by lots of cleanups.

In ASoC side, the legacy Intel drivers have been deprecated by AVS
drivers which leaded to the significant amount of code reduction.
SoundWire driver updates and other cleanups contributed more code
reduction, too.

USB-audio driver received a large cleanup of its big quirk table, and
the old snd_print*() API usages in many legacy drivers are replaced
with the standard print API.

Here are some highlights:

Core:
- More optimized locking in ALSA control code
- Rewrites of memalloc helpers for better DMA API usage
- Drop of obsoleted vmalloc PCM buffer helper API
- Continued MIDI2 UMP updates
- Support of a new user-space driven timer instance
- Update for more PCM support rates and cleanups
- Xrun counter report in the proc files

ASoC:
- Continued simplification and cleanup works for ASoC
- Extensive cleanups and refactoring of the Soundwire drivers
- Removal of Intel machine support obsoleted by the AVS driver
- Lots of DT schema conversions
- Machine support for many AMD and Intel x86 platforms
- Support for AMD ACP 7.1, Mediatek MT6367 and MT8365, Realtek RTL1320
  SoundWire and rev C, and Texas Instruments TAS2563

USB-audio:
- Add support of multiple control interfaces
- A large rewrite of quirk table with macros
- Support for RME Digiface USB

HD-audio:
- Cleanup of quirk code for Samsung Galaxy laptops
- Clean up of detection of Cirrus codecs
- C-Media CM9825 HD-audio codec support

Others:
- Rewrites to standard print API in a lot of legacy drivers


14 Sep 2024: KCSAN changes for v6.12 [+ + +]
When the merge window opens, please pull the latest KCSAN git commit from:


kcsan: Use min() to fix Coccinelle warning.

Courtesy of Thorsten Blum.

14 Sep 2024: RCU changes for v6.12 [+ + +]
When the merge window opens, please pull this RCU update from:




Following are the merge conflicts with other trees:

1. Merge conflicts with slab tree

Stephen's resolution: https://lore.kernel.org/lkml/20240812124748.3725011b@canb.auug.org.au/

In case you might want to refer to it, a sample tree with resolutions applied is at


2. Merge conflict with kvm-fixes tree

Stephen's resolution: https://lore.kernel.org/lkml/20240905154122.4d1f8ca5@canb.auug.org.au/

In case you might want to refer to it, a sample tree with resolutions applied is at

RCU pull request for v6.12

This pull request contains the following branches:

context_tracking.15.08.24a: Rename context tracking state related
        symbols and remove references to "dynticks" in various context
        tracking state variables and related helpers; force
        context_tracking_enabled_this_cpu() to be inlined to avoid
        leaving a noinstr section.

csd.lock.15.08.24a: Enhance CSD-lock diagnostic reports; add an API
        to provide an indication of ongoing CSD-lock stall.

nocb.09.09.24a: Update and simplify RCU nocb code to handle
        (de-)offloading of callbacks only for offline CPUs; fix RT
        throttling hrtimer being armed from offline CPU.

rcutorture.14.08.24a: Remove redundant rcu_torture_ops get_gp_completed
        fields; add SRCU ->same_gp_state and ->get_comp_state
        functions; add generic test for NUM_ACTIVE_*RCU_POLL* for
        testing RCU and SRCU polled grace periods; add CFcommon.arch
        for arch-specific Kconfig options; print number of update types
        in rcu_torture_write_types();
        add rcutree.nohz_full_patience_delay testing to the TREE07
        scenario; add a stall_cpu_repeat module parameter to test
        repeated CPU stalls; add argument to limit number of CPUs a
        guest OS can use in torture.sh;

rcustall.09.09.24a: Abbreviate RCU CPU stall warnings during CSD-lock
        stalls; Allow dump_cpu_task() to be called without disabling
        preemption; defer printing stall-warning backtrace when holding
        rcu_node lock.

srcu.12.08.24a: Make SRCU gp seq wrap-around faster; add KCSAN checks
        for concurrent updates to ->srcu_n_exp_nodelay and
        ->reschedule_count which are used in heuristics governing
        auto-expediting of normal SRCU grace periods and
        grace-period-state-machine delays; mark idle SRCU-barrier
        callbacks to help identify stuck SRCU-barrier callback.

rcu.tasks.14.08.24a: Remove RCU Tasks Rude asynchronous APIs as they
        are no longer used; stop testing RCU Tasks Rude asynchronous
        APIs; fix access to non-existent percpu regions; check
        processor-ID assumptions during chosen CPU calculation for
        callback enqueuing; update description of rtp->tasks_gp_seq
        grace-period sequence number; add rcu_barrier_cb_is_done()
        to identify whether a given rcu_barrier callback is stuck;
        mark idle Tasks-RCU-barrier callbacks; add
        *torture_stats_print() functions to print detailed
        diagnostics for Tasks-RCU variants; capture start time of
        rcu_barrier_tasks*() operation to help distinguish a hung
        barrier operation from a long series of barrier operations.

rcu_scaling_tests.15.08.24a:
        refscale: Add a TINY scenario to support tests of Tiny RCU
        and Tiny SRCU; Optimize process_durations() operation;

        rcuscale: Dump stacks of stalled rcu_scale_writer() instances;
        dump grace-period statistics when rcu_scale_writer() stalls;
        mark idle RCU-barrier callbacks to identify stuck RCU-barrier
        callbacks; print detailed grace-period and barrier diagnostics
        on rcu_scale_writer() hangs for Tasks-RCU variants; warn if
        async module parameter is specified for RCU implementations
        that do not have async primitives such as RCU Tasks Rude;
        make all writer tasks report upon hang; tolerate repeated
        GFP_KERNEL failure in rcu_scale_writer(); use special allocator
        for rcu_scale_writer(); NULL out top-level pointers to heap
        memory to avoid double-free bugs on modprobe failures; maintain
        per-task instead of per-CPU callbacks count to avoid any issues
        with migration of either tasks or callbacks; constify struct
        ref_scale_ops.

fixes.12.08.24a: Use system_unbound_wq for kfree_rcu work to avoid
        disturbing isolated CPUs.

misc.11.08.24a: Warn on unexpected rcu_state.srs_done_tail state;
        Better define "atomic" for list_replace_rcu() and
        hlist_replace_rcu() routines; annotate struct
        kvfree_rcu_bulk_data with __counted_by().

 
13 Sep 2024: KVM: x86 pull requests for 6.12 [+ + +]
There's a trivial (and amusing) conflict with KVM s390 in the selftests pull
request (we both added "config" to the .gitignore, within a few days of each
other, after the goof being around for a good year or more).

Note, the pull requests are relative to v6.11-rc4.  I got a late start, and for
some reason thought kvm/next would magically end up on rc4 or later.

Note #2, I had a brainfart and put the testcase for verifying KVM's fastpath
correctly exits to userspace when needed in selftests, whereas the actual KVM
fix is in misc.  So if you run KVM selftests in the middle of pulling everything,
expect the debug_regs test to fail.
13 Sep 2024: Smack patches for 6.12 [+ + +]
Here is the Smack pull request for v6.12.

There are 2 patches. One is a simple indentation correction.
The other corrects a potentially rcu unsafe pointer assignment.
Both have time in next and pass all tests.

Smack changes for v6.12
- rcu pointer assignment in smk_set_cipso
- indentation in smack_ip_output

 
14 Sep 2024: erofs updates for 6.12-rc1 [+ + +]
Could you consider this pull request for 6.12-rc1? It's a bit earlier
due to our mid-autumn festival holidays next week.

In this cycle, we'd like to add file-backed mount support, which has
has been a strong requirement for years.  It is especially useful when
there are thousands of images running on the same host for containers
and other sandbox use cases, unlike OS image use cases.

Without file-backed mounts, it's hard for container runtimes  to manage
and isolate so many unnecessary virtual block devices safely and
efficiently, therefore file-backed mounts are highly preferred.
For EROFS users, ComposeFS [1], containerd, and Android APEXes [2] will
directly benefit from it, and I've seen no risk in implementing it as
a completely immutable filesystem.

The previous experimental feature "EROFS over fscache" is now marked as
deprecated because:

 - Fscache is no longer an independent subsystem and has been merged
   into netfs, which was somewhat unexpected when it was proposed.

 - New HSM "fanotify pre-content hooks" [3] will be landed upstream.
   These hooks will replace "EROFS over fscache" in a simpler way, as
   EROFS won't be bother with kernel caching anymore.  Userspace
   programs can also manage their own caching hierarchy more flexibly.

Once the HSM "fanotify pre-content hooks" is landed, I will remove the
fscache backend entirely as an internal dependency cleanup.  More
backgrounds are listed in the original patchset [4].

In addition to that, there are bugfixes and cleanups as usual as shown
below.  All commits have been in -next and no potential merge conflict
is observed.

Thanks,
Gao Xiang

[1] https://github.com/containers/storage/pull/2039 
[2] https://lore.kernel.org/r/CAB=BE-R3wU7hBBaeAXdkDp2kvODxSFWNQtcmc5tCppN5qwdQgw@mail.gmail.com
[3] https://lore.kernel.org/r/cover.1725481503.git.josef@toxicpanda.com
[4] https://lore.kernel.org/r/20240830032840.3783206-1-hsiangkao@linux.alibaba.com 

Changes since last update:

 - Support file-backed mounts for containers and sandboxes;

 - Mark the experimental fscache backend as deprecated;

 - Handle overlapped pclusters caused by crafted images properly;

 - Fix a failure path which could cause infinite loops in
   z_erofs_init_decompressor();

 - Get rid of unnecessary NOFAILs;

 - Harmless on-disk hardening & minor cleanups.

 
13 Sep 2024: arm64 updates for 6.12 [+ + +]
Like a bunch of folks, I'll be living off conference coffee and canapes
for the next week or so, so here's the arm64 pull request for 6.12
before the chaos descends and the malnutrition sets in.

There's the usual summary in the tag, but the highlights are support for
Arm's "Permission Overlay Extension" using memory protection keys,
support for running as a protected guest on Android as well as perf
support for a bunch of new interconnect PMUs.

There's a trivial conflict with the kvmarm tree which was resolved in
linux-next as per [1]. Any issues, just yell.


Will

[1] https://lore.kernel.org/r/20240905160856.14e95d14@canb.auug.org.au

--->8

arm64 updates for 6.12

ACPI:
* Enable PMCG erratum workaround for HiSilicon HIP10 and 11 platforms.
* Ensure arm64-specific IORT header is covered by MAINTAINERS.

CPU Errata:
* Enable workaround for hardware access/dirty issue on Ampere-1A cores.

Memory management:
* Define PHYSMEM_END to fix a crash in the amdgpu driver.
* Avoid tripping over invalid kernel mappings on the kexec() path.
* Userspace support for the Permission Overlay Extension (POE) using
  protection keys.

Perf and PMUs:
* Add support for the "fixed instruction counter" extension in the CPU
  PMU architecture.
* Extend and fix the event encodings for Apple's M1 CPU PMU.
* Allow LSM hooks to decide on SPE permissions for physical profiling.
* Add support for the CMN S3 and NI-700 PMUs.

Confidential Computing:
* Add support for booting an arm64 kernel as a protected guest under
  Android's "Protected KVM" (pKVM) hypervisor.

Selftests:
* Fix vector length issues in the SVE/SME sigreturn tests
* Fix build warning in the ptrace tests.

Timers:
* Add support for PR_{G,S}ET_TSC so that 'rr' can deal with
  non-determinism arising from the architected counter.

Miscellaneous:
* Rework our IPI-based CPU stopping code to try NMIs if regular IPIs
  don't succeed.
* Minor fixes and cleanups.

13 Sep 2024: printk for 6.12 [+ + +]
please pull the latest printk changes from



This is the "last" part of the support for the new nbcon consoles.
Where "nbcon" stays for "No Big console lock CONsoles" aka not under
the console_lock.

New callbacks are added to struct console:

  - write_thread() for flushing nbcon consoles in task context.

  - write_atomic() for flushing nbcon consoles in atomic context,
    including NMI.

  - con->device_lock() and device_unlock() for taking the driver
    specific lock, for example, port->lock.

New printk-specific kthreads are created:

  - per-console kthreads which get responsible for flushing normal
    priority messages on nbcon consoles.

  - thread which gets responsible for flushing normal priority messages
    on all consoles when CONFIG_RT enabled.

The new callbacks are called under a special per-console lock which has
already been added back in v6.7. It allows to distinguish three severities:
normal, emergency, and panic. A context with a higher priority could take
over the ownership when it is safe even in the middle of handling a record.
The panic context could do it even when it is not safe. But it is allowed
only for the final desperate flush before entering the infinite loop.

The new lock helps to flush the messages directly in emergency and panic
contexts. But it is not enough in all situations:

  - console_lock() is still need for synchronization against boot consoles.

  - con->device_lock() is need for synchronization against other operations
    on the same HW, e.g. serial port speed setting, non-printk related
    read/write.

The dependency on con->device_lock() is mutual. Any code taking the driver
specific lock has to acquire the related nbcon console context as well.
For example, see the new uart_port_lock() API. It provides the necessary
synchronization against emergency and panic contexts where the messages
are flushed only under the new per-console lock.

Maybe surprisingly, a quite tricky part is the decision how to flush
the consoles in various situations. It has to take into account:

  - message priority: normal, emergency, panic

  - scheduling context: task, atomic, deferred_legacy

  - registered consoles: boot, legacy, nbcon

  - threads are running: early boot, suspend, shutdown, panic

  - caller: printk(), pr_flush(), printk_flush_in_panic(),
 console_unlock(), console_start(), ...

The primary decision is made in printk_get_console_flush_type(). It creates
a hint what the caller should do:

  - flush nbcon consoles directly or via the kthread

  - call the legacy loop (console_unlock()) directly or via irq_work

The existing behavior is preserved for the legacy consoles. The only
exception is that they are not longer flushed directly from printk() in
panic() before CPUs are stopped. But this blocking happens only when at
least one nbcon console is registered. The motivation is to increase
a chance to produce the crash dump. They legacy consoles might create
a deadlock in compare with nbcon consoles. The nbcon console should
allow to see the messages even when the crash dump fails.

There are three possible ways how nbcon consoles are flushed:

  - The per-nbcon-console kthread is responsible for flushing messages
    added with the normal priority. This is the default mode.

  - The legacy loop, aka console_unlock(), is used when there is still
    a boot console registered. There is no easy way how to match an early
    console driver with a nbcon console driver. And the console_lock()
    provides the only reliable serialization at the moment.

    The legacy loop uses either con->write_atomic() or con->write_thread()
    callbacks depending on whether it is allowed to schedule. The atomic
    variant has to be used from printk().

  - In other situations, the messages are flushed directly using
    write_atomic() which can be called in any context, including NMI.
    It is primary needed during early boot or shutdown, in emergency
    situations, and panic.

The emergency priority is used by a code called within
nbcon_cpu_emergency_enter()/exit(). At the moment, it is used in four
situations: WARN(), Oops, lockdep, and RCU stall reports.

Finally, there is no nbcon console at the moment. It means that the changes
should _not_ modify the existing behavior. The only exception is CONFIG_RT
which would force offloading the legacy loop, for normal priority context,
into the dedicated kthread.


Two thirds of the changes has already been in the pull request for 6.11.
The user-visible change is that the flushing is no longer postponed
in the emergency sections. The logic has been further simplified
by using printk_get_console_flush_type() already at this stage.

The new third of the changes added the write_thread() callback,
implemented the kthreads, and updated procfs and sysfs interfaces.

13 Sep 2024: i2c-host for v6.12 [+ + +]
Hi Wolfram,

This turned out to be a fairly loaded pull request, covering a
variety of topics. There are four new platforms added, but the
bulk of it consists of cleanups and refactors.

I didn’t plan to have a second pull request during this merge
window. Everything that was submitted is included in this one.

Wishing you a great weekend and a fantastic conference week,
which I’m sorry to miss!

Andi

The DesignWare and the Renesas I2C drivers have received most of
the changes in this pull request.

The first has has undergone through a series of cleanups that
have been sent to the mailing list a year ago for the first time
and finally get merged in this pull request. They are many, from
typos (e.g. i2/i2c), to cosmetics, to refactoring (e.g. move
inline functions to librarieas) and many others.

Besides that, all the DesignWare Kconfig options have been
grouped under the I2C_DESIGNWARE_CORE and this required some
adaptation in many of the kernel configuration files for
different arm and mips boards.

Follows the list of the rest of the changes grouped by type of
change.

Cleanups
--------
The Qualcomm Geni platform improves the exit path in the runtime
resume function.

The Intel LJCA driver loses "target_addr" parameter in
ljca_i2c_stop() because it was unused.

The MediaTek controller intializes the restart_flag in the
transfer function using the ternary conditional operator ("? :")
instead of initializing it in different parts.

Constified a few global data structures in the virtio driver.

The Renesas driver simplifies the bus speed handling in the init
function making it more readable.

Improved an if/else statement in probe function of the Renesas
R-Car driver.

The iMX/MXC driver switches to using the RUNTIME_PM_OPS() instead
of SET_RUNTIME_PM_OPS().

Still in the iMX/MXC driver a comma ',' has been replaced by a
semicolon ';', while in different drivers the ',' has been
removed from the '{ }' delimiters.

Finally three devm_clk_get_enabled() have been used to simplify
the devm_clk_get/clk_prepare_enable tuple in the Renesas EMEV2,
Ingenic and MPC drivers.

Refactors
---------
The Nuvoton fixes a potential out of boundary array access. This
is not a bug fix because the issue could never occur due to
hardware not having the properties listed in the array. The
change makes the driver more future proof and, at the same time,
silences code analyzers.

Improvements
13 Sep 2024: LoongArch KVM changes for v6.12 [+ + +]
LoongArch KVM changes for v6.12

1. Revert qspinlock to test-and-set simple lock on VM.
2. Add Loongson Binary Translation extension support.
3. Add PMU support for guest.
4. Enable paravirt feature control from VMM.
5. Implement function kvm_para_has_feature().

 
12 Sep 2024: sched_ext: Initial pull request for v6.12 [+ + +]
sched_ext: Initial pull request for v6.12

This is the initial pull request of sched_ext. The v7 patchset
(https://lkml.kernel.org/r/20240618212056.2833381-1-tj@kernel.org) is
applied on top of tip/sched/core + bpf/master as of Jun 18th.

  tip/sched/core 793a62823d1c ("sched/core: Drop spinlocks on contention iff kernel is preempti
ble")
  bpf/master f6afdaf72af7 ("Merge branch 'bpf-support-resilient-split-btf'")

Since then, the following pulls were made:

- v6.11-rc1 is pulled to keep up with the mainline.

- tip/sched/core was pulled several times:

  - 7b9f6c864a34, 0df340ceae2e, 5ac998574f93, 0b1777f0fa04: To resolve
    conflicts. See each commit for details on conflicts and their
    resolutions.

  - d7b01aef9dbd: To receive fd03c5b85855 ("sched: Rework pick_next_task()")
    and related commits. @prev in added to sched_class->put_prev_task() and
    put_prev_task() is reordered after ->pick_task(), which makes
    sched_class->switch_class() unnecessary. The follow-up commits update
    sched_ext accordingly and drop sched_class->switch_class().

- bpf/master was pulled to receive baebe9aaba1e ("bpf: allow passing struct
  bpf_iter_<type> as kfunc arguments") and related changes in preparation
  for the DSQ iterator patchset

To obtain the net sched_ext changes, diff against:


which is the merge of:

  tip/sched/core bc9057da1a22 ("sched/cpufreq: Use NSEC_PER_MSEC for deadline task")
  bpf/master 2ad6d23f465 ("selftests/bpf: Do not update vmlinux.h unnecessarily")

Since the v7 patchset, the following changes were made:

- cpuperf support which was a part of the v6 patchset was posted separately
  and then applied after reviews.

- cgroup support which was a part of the v6 patchset was posted seprately,
  iterated and then applied.

- Improve integration with sched core.

- Double locking usage in migration paths dropped. Depend on
  TASK_ON_RQ_MIGRATING synchronization instead.

- The BPF scheduler couldn't directly dispatch to the local DSQ of another
  CPU using a SCX_DSQ_LOCAL_ON verdict. This caused difficulties around
  handling non-wakeup enqueues. Updated so that SCX_DSQ_LOCAL_ON can be used
  in the enqueue path too.

- DSQ iterator which was a part of the v6 patchset was posted separately.
  The iterator itself was applied after a couple revisions. The associated
  selective consumption kfunc can use further improvements and is still
  being worked on.

- scx_bpf_dispatch[_vtime]_from_dsq() added to increase flexibility. A task
  can now be transferred between two DSQs from almost any context. This
  involved significant refactoring of migration code.

- Various fixes and improvements.

As the branch is based on top of tip/sched/core + bpf/master, please merge
after both are applied.

12 Sep 2024: workqueue: Changes for v6.12 [+ + +]
workqueue: Changes for v6.12

Nothing major:

- workqueue.panic_on_stall boot param added.

- alloc_workqueue_lockdep_map() added (used by DRM).

- Other cleanusp and doc updates.

12 Sep 2024: cgroup: Changes for v6.12 [+ + +]
cgroup: Changes for v6.12

- cpuset isolation improvements.

- cpuset cgroup1 support is split into its own file behind the new config
  option CONFIG_CPUSET_V1. This makes it the second controller which makes
  cgroup1 support optional after memcg.

- Handling of unavailable v1 controller handling improved during cgroup1
  mount operations.

- union_find applied to cpuset. It makes code simpler and more efficient.

- Reduce spurious events in pids.events.

- Cleanups and other misc changes.

- Contains a merge of cgroup/for-6.11-fixes to receive cpuset fixes that
  further changes build upon.

12 Sep 2024: Thermal control updates for v6.12-rc1 [+ + +]
The next week will be all conference travel for me and I'll be traveling in
the week after it too, so here's an early request to pull thermal control
updates for 6.12-rc1.

To receive them, please pull from the tag

 thermal-6.12-rc1


 Merge tag 'thermal-v6.12-rc1' of
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux into


 thermal: of: Fix OF node leak in of_thermal_zone_find() error paths

to receive thermal control updates for 6.12-rc1.

These mostly continue to rework the thermal core and the thermal zone
driver interface to make the code more straightforward and reduce bloat.
The most significant piece of this work is a change of the code related
to binding cooling devices to thermal zones which, among other things,
replaces two previously existing thermal zone operations with one
allowing driver implementations to be much simpler.

There is also a new thermal core testing module allowing mock thermal
zones to be created and controlled via debugfs in order to exercise the
thermal core functionality.  It is expected to be used for implementing
thermal core self tests in the future.

Apart from the above, there are assorted thermal driver updates.

Specifics:

 - Update some thermal drivers to eliminate thermal_zone_get_trip()
   calls from them and get rid of that function (Rafael Wysocki).

 - Update the thermal sysfs code to store trip point attributes in trip
   descriptors and get to trip points via attribute pointers (Rafael
   Wysocki).

 - Move the computation of the low and high boundaries for
   thermal_zone_set_trips() to __thermal_zone_device_update() (Daniel
   Lezcano).

 - Introduce a debugfs-based facility for thermal core testing (Rafael
   Wysocki).

 - Replace the thermal zone .bind() and .unbind() callbacks for binding
   cooling devices to thermal zones with one .should_bind() callback
   used for deciding whether or not a given cooling devices should be
   bound to a given trip point in a given thermal zone (Rafael Wysocki).

 - Eliminate code that has no more users after the other changes, drop
   some redundant checks from the thermal core and clean it up (Rafael
   Wysocki).

 - Fix rounding of delay jiffies in the thermal core (Rafael Wysocki).

 - Refuse to accept trip point temperature or hysteresis that would lead
   to an invalid threshold value when setting them via sysfs (Rafael
   Wysocki).

 - Adjust states of all uninitialized instances in the .manage()
   callback of the Bang-bang thermal governor (Rafael Wysocki).

 - Drop a couple of redundant checks along with the code depending on
   them from the thermal core (Rafael Wysocki).

 - Rearrange the thermal core to avoid redundant checks and simplify
   control flow in a couple of code paths (Rafael Wysocki).

 - Add power domain DT bindings for new Amlogic SoCs (Georges Stark).

 - Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() in the ST
   driver and add a Kconfig dependency on THERMAL_OF subsystem for the
   STi driver (Raphael Gallais-Pou).

 - Simplify the error code path in the probe functions in the brcmstb
   driver with the help of dev_err_probe() (Yan Zhen).

 - Make imx_sc_thermal use dev_err_probe() (Alexander Stein).

 - Remove trailing space after \n newline in the Renesas driver (Colin
   Ian King).

 - Add DT binding compatible string for the SA8255p to the tsens thermal
   driver (Nikunj Kela).

 - Use the devm_clk_get_enabled() helpers to simplify the init routine
   in the sprd thermal driver (Huan Yang).

 - Remove __maybe_unused notations for the functions by using the new
   RUNTIME_PM_OPS() and SYSTEM_SLEEP_PM_OPS() macros on the IMx and
   Qoriq drivers (Fabio Estevam)

 - Remove unused declarations from the ti-soc-thermal driver's header
   file as the functions in question were removed previously (Zhang
   Zekun).

Thanks!



12 Sep 2024: ACPI updates for v6.12-rc1 [+ + +]
The next week will be all conference travel for me and I'll be traveling in
the week after it too, so here's an early request to pull ACPI updates for
6.12-rc1.

To receive them, please pull from the tag

 acpi-6.12-rc1




 Linux 6.11-rc7

These update the ACPICA code in the kernel to upstream version 20240827,
add support for ACPI-based enumeration of interrupt controllers on
RISC-V along with some related irqchip updates, clean up the ACPI device
object sysfs interface, add some quirks for backlight handling and IRQ
overrides, fix assorted issues and clean up code.

Specifics:

 - Check return value in acpi_db_convert_to_package() (Pei Xiao).

 - Detect FACS and allow setting the waking vector on reduced-hardware
   ACPI platforms (Jiaqing Zhao).

 - Allow ACPICA to represent semaphores as integers (Adrien Destugues).

 - Complete CXL 3.0 CXIMS structures support in ACPICA (Zhang Rui).

 - Make ACPICA support SPCR version 4 and add RISC-V SBI Subtype to
   DBG2 (Sia Jee Heng).

 - Implement the Dword_PCC Resource Descriptor Macro in ACPICA (Jose
   Marinho).

 - Correct the typo in struct acpi_mpam_msc_node member (Punit Agrawal).

 - Implement ACPI_WARNING_ONCE() and ACPI_ERROR_ONCE() and use them to
   prevent a Stall() violation warning from being printed every time
   this takes place (Vasily Khoruzhick).

 - Allow PCC Data Type in MCTP resource (Adam Young).

 - Fix memory leaks on acpi_ps_get_next_namepath()
   and acpi_ps_get_next_field() failures  (Armin Wolf).

 - Add support for suppressing leading zeros in hex strings when
   converting them to integers and update integer-to-hex-string
   conversions in ACPICA (Armin Wolf).

 - Add support for Windows 11 22H2 _OSI string (Armin Wolf).

 - Avoid warning for Dump Functions in ACPICA (Adam Lackorzynski).

 - Add extended linear address mode to HMAT MSCIS in ACPICA (Dave
   Jiang).

 - Handle empty connection_node in iasl (Aleksandrs Vinarskis).

 - Allow for more flexibility in _DSM args (Saket Dumbre).

 - Setup for ACPICA release 20240827 (Saket Dumbre).

 - Add ACPI device enumeration support for interrupt controller probing
   including taking dependencies into account (Sunil V L).

 - Implement ACPI-based interrupt controller probing on RISC-V (Sunil V L).

 - Add ACPI support for AIA in riscv-intc and add ACPI support to
   riscv-imsic, riscv-aplic, and sifive-plic (Sunil V L).

 - Do not release locks during operation region accesses in the ACPI EC
   driver (Rafael Wysocki).

 - Fix up the _STR handling in the ACPI device object sysfs interface,
   make it represent the device object attributes as an attribute group
   and make it rely on driver core functionality for sysfs attribute
   management (Thomas Wei=C3=9Fschuh).

 - Extend error messages printed to the kernel log when acpi_evaluate_dsm()
   fails to include revision and function number (David Wang).

 - Add a new AMDI0015 platform device ID to the ACPi APD driver for AMD
   SoCs (Shyam Sundar S K).

 - Use the driver core for the async probing management in the ACPI
   battery driver (Thomas Wei=C3=9Fschuh).

 - Remove redundant initialization of a local variable to NULL from the
   ACPI battery driver (Ilpo J=C3=A4rvinen).

 - Remove unneeded check in tps68470_pmic_opregion_probe() (Aleksandr
   Mishin).

 - Add support for setting the EPP register through the ACPI CPPC sysfs
   interface if it is in FFH (Mario Limonciello).

 - Fix MASK_VAL() usage in the ACPI CPPC library (Cl=C3=A9ment L=C3=A9ger).

 - Reduce the log level of a per-CPU message about idle states in the
   ACPI processor driver (Li RongQing).

 - Fix crash in exit_round_robin() in the ACPI processor aggregator
   device (PAD) driver (Seiji Nishikawa).

 - Add force_vendor quirk for Panasonic Toughbook CF-18 in the ACPI
   backlight driver (Hans de Goede).

 - Make the DMI checks related to backlight handling on Lenovo Yoga
   Tab 3 X90F less strict (Hans de Goede).

 - Enforce native backlight handling on Apple MacbookPro9,2 (Esther
   Shimanovich).

 - Add IRQ override quirks for Asus Vivobook Go E1404GAB and MECHREV
   GM7XG0M, and refine the TongFang GMxXGxx quirk (Li Chen, Tamim Khan,
   Werner Sembach).

 - Quirk ASUS ROG M16 to default to S3 sleep (Luke D. Jones).

 - Define and use symbols for device and class name lengths in the ACPI
   bus type code and make the code use strscpy() instead of strcpy() in
   several places (Muhammad Qasim Abdul Majeed).

Thanks!



12 Sep 2024: Power management updates for v6.12-rc1 [+ + +]
The next week will be all conference travel for me and I'll be traveling in
the week after it too, so here's an early request to pull power management
updates for 6.12-rc1.

To receive them, please pull from the tag

 pm-6.12-rc1




 Linux 6.11-rc7

By the number of new lines of code, the most visible change here is the
addition of hybrid CPU capacity scaling support to the intel_pstate
driver.  Next are the amd-pstate driver changes related to the
calculation of the AMD boost numerator and preferred core detection.

As far as new hardware support is concerned, the intel_idle driver will
now handle Granite Rapids Xeon processors natively, the intel_rapl power
capping driver will recognize family 1Ah of AMD processors and Intel
ArrowLake-U chipos, and intel_pstate will handle Granite Rapids and
Sierra Forest chips in the out-of-band (OOB) mode.

Apart from the above, there is a usual collection of assorted fixes
and code cleanups in many places and there are tooling updates.

Specifics:

 - Remove LATENCY_MULTIPLIER from cpufreq (Qais Yousef).

 - Add support for Granite Rapids and Sierra Forest in OOB mode to the
   intel_pstate cpufreq driver (Srinivas Pandruvada).

 - Add basic support for CPU capacity scaling on x86 and make the
   intel_pstate driver set asymmetric CPU capacity on hybrid systems
   without SMT (Rafael Wysocki).

 - Add missing MODULE_DESCRIPTION() macros to the powerpc cpufreq
   driver (Jeff Johnson).

 - Several OF related cleanups in cpufreq drivers (Rob Herring).

 - Enable COMPILE_TEST for ARM drivers (Rob Herring).

 - Introduce quirks for syscon failures and use socinfo to get revision
   for TI cpufreq driver (Dhruva Gole, Nishanth Menon).

 - Minor cleanups in amd-pstate driver (Anastasia Belova, Dhananjay
   Ugwekar).

 - Minor cleanups for loongson, cpufreq-dt and powernv cpufreq drivers
   (Danila Tikhonov, Huacai Chen, and Liu Jing).

 - Make amd-pstate validate return of any attempt to update EPP limits,
   which fixes the masking hardware problems (Mario Limonciello).

 - Move the calculation of the AMD boost numerator outside of amd-pstate,
   correcting acpi-cpufreq on systems with preferred cores (Mario
   Limonciello).

 - Harden preferred core detection in amd-pstate to avoid potential
   false positives (Mario Limonciello).

 - Add extra unit test coverage for mode state machine (Mario
   Limonciello).

 - Fix an "Uninitialized variables" issue in amd-pstate (Qianqiang Liu).

 - Add Granite Rapids Xeon support to intel_idle (Artem Bityutskiy).

 - Disable promotion to C1E on Jasper Lake and Elkhart Lake in
   intel_idle (Kai-Heng Feng).

 - Use scoped device node handling to fix missing of_node_put() and
   simplify walking OF children in the riscv-sbi cpuidle driver (Krzysztof
   Kozlowski).

 - Remove dead code from cpuidle_enter_state() (Dhruva Gole).

 - Change an error pointer to NULL to fix error handling in the
   intel_rapl power capping driver (Dan Carpenter).

 - Fix off by one in get_rpi() in the intel_rapl power capping
   driver (Dan Carpenter).

 - Add support for ArrowLake-U to the intel_rapl power capping
   driver (Sumeet Pawnikar).

 - Fix the energy-pkg event for AMD CPUs in the intel_rapl power capping
   driver (Dhananjay Ugwekar).

 - Add support for AMD family 1Ah processors to the intel_rapl power
   capping driver (Dhananjay Ugwekar).

 - Remove unused stub for saveable_highmem_page() and remove deprecated
   macros from power management documentation (Andy Shevchenko).

 - Use ysfs_emit() and sysfs_emit_at() in "show" functions in the PM
   sysfs interface (Xueqin Luo).

 - Update the maintainers information for the operating-points-v2-ti-cpu DT
   binding (Dhruva Gole).

 - Drop unnecessary of_match_ptr() from ti-opp-supply (Rob Herring).

 - Add missing MODULE_DESCRIPTION() macros to devfreq governors (Jeff
   Johnson).

 - Use devm_clk_get_enabled() in the exynos-bus devfreq driver (Anand
   Moon).

 - Use of_property_present() instead of of_get_property() in the imx-bus
   devfreq driver (Rob Herring).

 - Update directory handling and installation process in the pm-graph
   Makefile and add .gitignore to ignore sleepgraph.py artifacts to
   pm-graph (Amit Vadhavana, Yo-Jung Lin).

 - Make cpupower display residency value in idle-info (Aboorva
   Devarajan).

 - Add missing powercap_set_enabled() stub function to cpupower (John
   B. Wyatt IV).

 - Add SWIG support to cpupower (John B. Wyatt IV).

Thanks!



12 Sep 2024: Btrfs updates for 6.12 [+ + +]
Hi,

this update brings mostly refactoring, cleanups, minor performance
optimizations and usual fixes. The folio API conversions are most
noticeable.

There's one less visible change that could have a high impact. The
extent lock scope for read is reduced, not held for the entire
operation. In the buffered read case it's left to page or inode lock,
some direct io read synchronization is still needed.

This used to prevent deadlocks induced by page faults during direct io,
so there was a 4K limitation on the requests, e.g. for io_uring. In the
future this will allow smoother integration with iomap where the extent
read lock was a major obstacle.


User visible changes:

- the FSTRIM ioctl updates the processed range even after an error or
  interruption

- cleaner thread is woken up in SYNC ioctl instead of waking the
  transaction thread that can take some delay before waking up the
  cleaner, this can speed up cleaning of deleted subvolumes

- print an error message when opening a device fail, e.g. when it's
  unexpectedly read-only

Core changes:

- improved extent map handling in various ways (locking, iteration, ...)

- new assertions and locking annotations

- raid-stripe-tree locking fixes

- use xarray for tracking dirty qgroup extents, switched from rb-tree

- turn the subpage test to compile-time condition if possible (e.g. on
  x86_64 with 4K pages), this allows to skip a lot of ifs and remove
  dead code

- more preparatory work for compression in subpage mode

Cleanups and refactoring

- folio API conversions, many simple cases where page is passed so
  switch it to folios

- more subpage code refactoring, update page state bitmap processing

- introduce auto free for btrfs_path structure, use for the simple cases

12 Sep 2024: AFFS updates for 6.12 [+ + +]
Hi,

please pull the following cleanups removing unused code and updating
definition of flexible struct array.

Thanks.

12 Sep 2024: iommu/arm-smmu: Updates for 6.12 [+ + +]
Hi Joerg,

support for NVIDIA's virtual command queue implementation for SMMUv3,
but everything is summarised in the tag.

** Please note **: I've already pushed this to the arm/smmu branch for
-next coverage, but I thought sending a pull request was still useful
for the records and the signed tag. If you want to recreate the branch,
please feel free.

See you at LPC!

Cheers,

Will

--->8

Arm SMMU updates for 6.12

- SMMUv2:
  * Devicetree binding updates for Qualcomm MMU-500 implementations.
  * Extend workarounds for broken Qualcomm hypervisor to avoid touching
    features that are not available (e.g. 16KiB page support, reserved
    context banks).

- SMMUv3:
  * Support for NVIDIA's custom virtual command queue hardware.
  * Fix Stage-2 stall configuration and extend tests to cover this area.
  * A bunch of driver cleanups, including simplification of the master
    rbtree code.

- Plus minor cleanups and fixes across both drivers.

12 Sep 2024: MIPS changes for v6.12 [+ + +]
- use devm_clk_get_enabled() helper
- prototype fixes
- cleanup unused stuff

 
11 Sep 2024: x86/sgx for 6.12-rc1 [+ + +]
in the SGX NUMA allocator. It's probably only triggerable today on
servers with buggy BIOSes, but it's theoretically possible it can
happen on less goofy systems.

--

Fix deadlock in SGX NUMA node search

11 Sep 2024: USB-serial updates for 6.12-rc1 [+ + +]
USB-serial updates for 6.12-rc1

Here are the USB-serial updates for 6.12-rc1, including:

 - fix kobil_sct initial terminal settings
 - set driver owner when registering drivers

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

 
10 Sep 2024: cpupower second update for Linux 6.12-rc1 [+ + +]
Hi Rafael,


This cpupower second update for Linux 6.12-rc1 consists of a fix
and a new feature.

-- adds missing powercap_set_enabled() stub function
-- adds SWIG bindings files for libcpupower

SWIG is a tool packaged in Fedora and other distros that can generate
bindings from C and C++ code for several languages including Python,
Perl, and Go.

These bindings allows users to easily write scripts that use and extend
libcpupower's functionality. Currently, only Python is provided in the
makefile, but additional languages may be added if there is demand.

Note that while SWIG itself is GPL v3+ licensed; the resulting output,
the bindings code, is permissively licensed + the license of the .o
files. Please see the following for more details.

- https://swig.org/legal.html.
- https://lore.kernel.org/linux-pm/Zqv9BOjxLAgyNP5B@hatbackup

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.12-rc1-2

This cpupower second update for Linux 6.12-rc1 consists of a fix
and a new feature.

-- adds missing powercap_set_enabled() stub function
-- adds SWIG bindings files for libcpupower

SWIG is a tool packaged in Fedora and other distros that can generate
bindings from C and C++ code for several languages including Python,
Perl, and Go.

These bindings allows users to easily write scripts that use and extend
libcpupower's functionality. Currently, only Python is provided in the
makefile, but additional languages may be added if there is demand.

Note that while SWIG itself is GPL v3+ licensed; the resulting output,
the bindings code, is permissively licensed + the license of the .o
files. Please see the following for more details.

- https://swig.org/legal.html.
- https://lore.kernel.org/linux-pm/Zqv9BOjxLAgyNP5B@hatbackup

 
9 Sep 2024: x86/bugs for v6.12-rc1 [+ + +]
please pull the x86/bugs lineup for v6.12-rc1.

Thx.

---

- Add CONFIG_ option for every hw CPU mitigation. The intent is to support
  configurations and scenarios where the mitigations code is irrelevant

- Other small fixlets and improvements

9 Sep 2024: x86/cpu for v6.12-rc1 [+ + +]
please pull the x86/cpu lineup for v6.12-rc1.

Thx.

---

- Add the final conversions to the new Intel VFM CPU model matching macros
  which include the vendor and finally drop the old ones which hardcode family 6

9 Sep 2024: x86/sev for v6.12-rc1 [+ + +]
please pull some x86 SEV cleanups for v6.12-rc1.

Thx.

---

- A bunch of cleanups to the sev-guest driver. All in preparation for
  future SEV work

9 Sep 2024: ras/core for v6.12-rc1 [+ + +]
please pull some x86 RAS updates for v6.12-rc1.

Thx.

---

- Reorganize the struct mce populating functions so that MCA errors
  reported through BIOS' BERT method can report the correct CPU number
  the error has been detected on

9 Sep 2024: x86/microcode for v6.12-rc1 [+ + +]
please pull the x86/microcode lineup for v6.12-rc1.

Thx.

---

- Simplify microcode patches loading on AMD Zen and newer by using the family,
  model and stepping encoded in the patch revision number

- Fix a silly clang warning

9 Sep 2024: EDAC updates for v6.12 [+ + +]
please pull EDAC updates for v6.12.

Like you said "All the actual work should be done before the
merge window" and before we bring you the pull requests live, written with
a pen and paper, lemme send you some now so that there's less stress next
week.

Thx.

---

- Drop a now obsolete ppc4xx_edac driver

- Fix conversion to physical memory addresses on Intel's Elkhart Lake and Ice
  Lake hardware when the system address is above the (Top-Of-Memory) TOM
  address

- Pay attention to the memory hole on Zynq UltraScale+ MPSoC DDR controllers
  when injecting errors for testing purposes

- Add support for translating normalized error addresses reported by an AMD
  memory controller into system physical addresses using an UEFI mechanism
  called platform runtime mechanism (PRM).

- The usual cleanups and fixes

9 Sep 2024: extcon next for v6.12 [+ + +]
Dear Greg,

This is extcon-next pull request for v6.12. I add detailed description of

Best Regards,
Chanwoo Choi


Update extcon next for v6.12

Detailed description for this pull request:
- Add missing child node port on exttcon-ptn5150 binding document

- Convert extcon-usb-gpio.txt to yaml format for binding document

- Add new LC824206XA microUSB switch driver
 : Add a new driver for the ON Semiconductor LC824206XA microUSB switch and
   accessory detector chip. It has been tested on a Lenovo Yoga Tablet 2 Pro
   1380. And this driver is only used on x86/ACPI (non devicetree) devices,
   Therefor there is no devicetree bindings documentation.

- Apply immutable branch between power_supply and extcon tree for extcon-lc824206xa.c
 
8 Sep 2024: GIT PULL] devfreq next for 6.12 [+ + +]
Dear Rafael,

This is devfreq-next pull request for v6.12. I add detailed description of
following updates.

Best Regards,
Chanwoo Choi

Update devfreq next for v6.12

Detailed description for this pull request:
- Add missing MODULE_DESCRIPTION() macros for devfreq governors.
- Use Use devm_clk_get_enabled() helpers for exyns-bus devfreq driver.
- Use of_property_present() instead of of_get_property() for imx-bus devfreq driver.
 
6 Sep 2024: timer drivers material for v6.12-rc1 [+ + +]
Hi Thomas,

please consider pulling the new timer drivers material. This cycle 
mainly provided a few changes related to fixes and devm_* variant.

- Add the DT binding for the rk3576 compatible (Detlev Casanova)

- Use for_each_available_child_of_node_scoped() to remove the
   of_node_put() calls in the loop (Zhang Zekun)

- Add the ability to register external callbacks for suspend/resume on
   ACPI PM driver and enable to turn it off when suspended (Marek
   Maslanka)

- Use the devm_clk_get_enabled() variant on the ingenic timer (Huan
   Yang)

- Add missing iounmap() on errors in msm_dt_timer_init() (Ankit
   Agrawal)

- Add missing clk_disable_unprepare() in init routine error code path
   on the asm9260 and the cadence_ttc timers (Gaosheng Cui)

- Use request_percpu_irq() instead of request_irq() in order to fix a
   wrong address space access reported by sparse (Uros Bizjak)

- Fix comment format for the pmc_core_acpi_pm_timer_suspend_resume()
   function (Marek Maslanka)

6 Sep 2024: interconnect changes for 6.12 [+ + +]
This is the pull request with interconnect changes for the v6.12-rc1 merge
window. It contains some new drivers, fixes and clean-ups. As always, the
summary is in the signed tag.

All patches have been in linux-next for almost two weeks. There are no

Thanks,
Georgi

interconnect changes for 6.12

This pull request contains the interconnect changes for the 6.12-rc1 merge
window. It contains new drivers and fixes with the following highlights:

Driver changes:
- New driver for MSM8976 platforms
- New driver for MSM8937 platforms
- Enable sync_state for SM8250 platforms
- Enable QoS support for QCS404
- Add ab_coeff bandwidth adjustments for MSM8953
- Drop the unsupported yet DISP nodes on SM8350 platforms
- Fix missed num_nodes initialization in icc-clk driver
- Misc DT and documentation fixes

Signed-off-by: Georgi Djakov <djakov@kernel.org>

6 Sep 2024: memory: drivers for v6.12, part two [+ + +]
Hi,

Second pull request, on top of previous one.

Best regards,
Krzysztof


Memory controller drivers for v6.12, part two

1. Renesas RPC-IF: adjust default setting for pins to accommodate
   different flash devices, which should fix 4-bit flash writes with
   Renesas AT25QL128A flash.

2. Simplify a bit probe() in PL172 and PL353-SMC.

6 Sep 2024: arm64: dts: minor improvements for v6.12 [+ + +]
Minor improvements in ARM64 DTS for v6.12

1. APM: correct node name to match bindings.
2. Spreadtrum: correct node names to match bindings, order properties to
   match DTS coding style and put SPDX identifier at top of the file as
   expected usually.

6 Sep 2024: clk: samsung: drivers for v6.12 [+ + +]
Samsung SoC clock drivers changes for 6.12

1. Exynos850: Add clock for Thermal Management Unit.
2. Exynos7885: Fix duplicated ID in the header, add missing TOP PLLs and
   add clocks for USB block in the FSYS clock controller.
3. ExynosAutov9: Add DPUM clock controller
4. ExynosAutov920: Add new (first) clock controllers: TOP and PERIC0
   (and a bit more complete bindings).

 
4 Sep 2024: cpupower update for Linux 6.12-rc1 [+ + +]
Hi Rafael,


This cpupower update for Linux 6.12-rc1 consists of an enhancement
to cpuidle tool to display the residency value of cpuidle states.
This addition provides a clearer and more detailed view of idle
state information when using cpuidle-info.

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.12-rc1

This cpupower update for Linux 6.12-rc1 consists of an enhancement
to cpuidle tool to display the residency value of cpuidle states.
This addition provides a clearer and more detailed view of idle
state information when using cpuidle-info.

4 Sep 2024: clk: imx: Updates for v6.12 [+ + +]
i.MX clocks changes for 6.12

- Use clk_hw pointer instead of fw_name for acm_aud_clk[0-1]_sel clocks
  on i.MX8Q as parents in ACM provider
- Add i.MX95 NETCMIX support to the block control provider
- Fix parents for ENETx_REF_SEL clocks on i.MX6UL

 
3 Sep 2024: arm64: dts: ti: K3 devicetree updates for v6.12 [+ + +]
Hi,

This includes ti-k3-dt-fixes-for-v6.11 changes provided by https://lore.ker=
nel.org/all/20240806122659.vmasq2qjy6457bbs@peroxide/
and sent up the chain https://lore.kernel.org/all/3e7ea374-c321-4f80-b22b-9=
6ce34cfaa3e@app.fastmail.com/

Changelog narrative is for changes since ti-k3-dt-fixes-for-v6.11:

TI K3 device tree updates for v6.12

Generic Fixups/Cleanups:

- AM62, AM62A, AM64, AM65, AM62P: ESM node cleanups
- J784s4, J721s2, J721e, AM65: FSS (Flash subsystem) fixups for ranges
- j721e/j7200/j721s2/am68/am69 SK/SoM, IOT2050: Disable of R5F lockstep
- j721e/j7200/j721s2/am68/am69 reserve GP timers for firmware usage.
- Misc device tree warning fixups: Serdes simple-mfd fixes for
  am654-serdes-ctrl; rename of gpio-hog nodes; mux-controller node names

SoC Specific features and Fixes:

New boards:
- AM67A/J722s based BeagleBoard.org Foundation's BeagleY-AI

AM62:
- Thermal throttling enabled

AM62A:
- Add E5010 JPEG encoder

AM62P:
- gpio-reserved ranges
- SK: drop cts/rts for wakeup_uart0 firmware console pinmux

J722s: (AM62P variant)
- IPC/Remote proc for C7x and R5F
- gpio-reserved ranges
- EVM: Add main_uart5 description and CAN support.

AM64x:
- adc description fixes for dtbs_check warnings
- tqma64xxl and phyboard-electra: Add PRUSS ICSSG capability
- CPSW Ethernet is now disabled by default at SoC level and enabled explici=
tly
  at board level.
- USB property to add fall back to j721e

AM65x:
- IOT2050: Add overlays for M.2, add Eth phy LED description
- idk: Fixes for DMA causing dtbs_check warning, Add MCAN

J721e:
- SK and beagleboneai64: Fixes for inverted C6x carveouts

J721s2:
- AM68-SK: Fixes for mmc clkb internal mux, ospi partition for uboot.backup
  alignment fixup.

J784s4:
- WDT clock ID fix.
- EVM: Use 4 lanes for PCIe0.

3 Sep 2024: arm64: defconfig: TI K3 platform updates for v6.12 [+ + +]
Hi,

TI K3 defconfig updates for v6.12

- Enable E5010 JPEG Encoder as kernel module

3 Sep 2024: soc: ti: Driver updates for v6.12 [+ + +]
Hi,

TI SoC driver updates for v6.12

- pm33xx/knav_qmss_queue/pruss: Cleanups around device_node scope based cle=
anups
- knav: Additional fixes around of property
- k3-ringacc: Optimizations for data structure

3 Sep 2024: SOC FSL for 6.12 (retry) [+ + +]
Hi Arnd,


There are no conflicts with latest linux-next tree.

Thanks
Christophe

- A series from Hervé Codina that bring support for the newer version
of QMC (QUICC Multi-channel Controller) and TSA (Time Slots Assigner)
found on MPC 83xx micro-controllers.

- Misc changes for qbman freescale drivers for removing a redundant
warning and using iommu_paging_domain_alloc()

 
2 Sep 2024: [PULL REQUEST] Intel IOMMU updates for v6.12 [+ + +]
Hi Joerg,

 
27 Aug 2024: memory: drivers for v6.12 [+ + +]
Hi,

I might have one more smaller pull request coming later.

Best regards,
Krzysztof


Memory controller drivers for v6.12

1. Tegra210 EMC: Driver refactoring and rework.
2. Tegra186 EMC: Drop unused function.
3. FSL WEIM: Correct fsl,weim-cs-timing property to properly validate it
   as an array.
4. TI AEMIF: Drop platform data support.
5. TI EMIF: Switch to of_property_read_bool().

6. Several cleanups in multiple drivers: TI AEMIF and EMIF, Tegra
   EMC/MC, Atmel EBI, Samsung Exynos5422 DMC, STM32 FMC2 EBI, OMAP GPMC,
   PL172 and PL1353 SMC.  These are mostly code simplifying around
   probe() like using
    - devm_clk_get_enabled(),
    - dev_err_probe(),
    - scoped device node handling (cleanup.h),
    - scoped for each OF child loops,
    - scoped/guard locks.

27 Aug 2024: pinctrl: samsung: drivers for v6.12 [+ + +]
Samsung pinctrl drivers changes for v6.12

1. Few cleanups: use more appropriate of_property_present(), use scoped
   OF nodes handling and switch to kmemdup_array().

2. Implement configuring pull-up and pull-down via GPIOLIB.

27 Aug 2024: samsung: drivers for v6.12 [+ + +]
Samsung SoC drivers for v6.12

1. Improve Samsung USI (Universal Serial Interface) DT binding,
2. Cleanup old Samsung MFC TXT binding.

 
24 Aug 2024: nolibc for 6.12-rc1 [+ + +]
Hi Shuah,

nolibc changes for 6.12

Highlights
 
21 Aug 2024: RISC-V T-HEAD Devicetrees for v6.12 [+ + +]
Hi Arnd,

have been in linux-next since August 9th.

Thanks,
Drew

T-HEAD Devicetrees for v6.12

Add SPI controller node to th1520.dtsi and enable spi0 on the BeagleV
Ahead and LicheePi 4A.

The TH1520 AP_SYS clock driver landed in v6.11 so convert multiple
peripherals like mmc and uart from fixed clocks to the clock controller.

All of these patches have been in linux-next since next-20240809.

Signed-off-by: Drew Fustini <drew@pdp7.com>

 
7 Aug 2024: LOCKDEP changes for v6.12 [+ + +]
Hi Peter & Ingo,

Per discussion:

https://lore.kernel.org/lkml/20240802151619.GN39708@noisy.programming.kicks-ass.net/

I'm sending a PR with some lockdep changes to tip.


Lockdep changes for v6.12:

- Fixes a deadlock in lockdep by avoiding calling rcu with the graph
  lock held.
- Uses str_plural() to fix Coccinelle warning.
- Uses seq_putc() instead of seq_printf() to print a single character in
  lockdep proc file.


Regards,
Boqun