Commit Graph

367 Commits

Author SHA1 Message Date
Carlos Llamas cb5b1d91a0 ANDROID: binder: KMI-break workaround for binder_alloc
Work-around the KMI to backport patches from [1].

Bug: 451083029
Bug: 410746221
Link: https://lore.kernel.org/all/20241210143114.661252-1-cmllamas@google.com/ [1]
Change-Id: I7ced0d1b3c576a02b27ed0bc53b312bf3501efaa
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2025-10-15 13:28:38 +00:00
Carlos Llamas e6cf4b4e36 BACKPORT: FROMGIT: binder: add tracepoint for netlink reports
Add a tracepoint to capture the same details that are being sent through
the generic netlink interface during transaction failures. This provides
a useful debugging tool to observe the events independently from the
netlink listeners.

Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20250727182932.2499194-6-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 372832477
(cherry picked from commit 8a61a53b07f23ff12330086b293b6b492d35b8a0
 git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-next)
Change-Id: I5185383180787d1a237b8f583306055081a9f0d9
[cmllamas: fixed missing t->is_reply]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2025-08-27 13:00:40 -07:00
Li Li 2e05770b48 BACKPORT: FROMGIT: binder: introduce transaction reports via netlink
Introduce a generic netlink multicast event to report binder transaction
failures to userspace. This allows subscribers to monitor these events
and take appropriate actions, such as stopping a misbehaving application
that is spamming a service with huge amount of transactions.

The multicast event contains full details of the failed transactions,
including the sender/target PIDs, payload size and specific error code.
This interface is defined using a YAML spec, from which the UAPI and
kernel headers and source are auto-generated.

Signed-off-by: Li Li <dualli@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20250727182932.2499194-4-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 372832477
(cherry picked from commit 63740349eba78f242bcbf60d5244d7f2b2600853
 git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-next)
[cmllamas: fix missing t->is_reply, fix ABI header include issue]
Change-Id: I7013f9bba450f7ab3331dd850314a7b62af58818
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2025-08-27 13:00:40 -07:00
Carlos Llamas ffa4f0a23f BACKPORT: FROMGIT: binder: pre-allocate binder_transaction
Move the allocation of 'struct binder_transaction' to the beginning of
the binder_transaction() function, along with the initialization of all
the members that are known at that time. This minor refactoring helps to
consolidate the usage of transaction information at later points.

This patch is in preparation for binder's generic netlink implementation
and no functional changes are intended.

Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20250727182932.2499194-2-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 372832477
(cherry picked from commit 4afc5bf0a1849f0ed3ea1d9fd9d0e79b23a67f96
 git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-next)
[cmllamas: fix minor conflicts with t->priority]
Change-Id: I588319183f1d69e3694b00341432d6d4eee0a697
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2025-08-27 13:00:40 -07:00
Muduo Qin a78c22c33d ANDROID: vendor_hooks:vendor hooks for binder thread info
the first one is the lifecycle that they are added to thread pool,
and they are released. another is that the data is readed by thread.

Bug: 333839270

Change-Id: I41d58474aa66533a2104c07aae525bf09e32df4d
Signed-off-by: Muduo Qin <muduo.qin@tcl.corp-partner.google.com>
(cherry picked from commit b98dd52b77f25f724052221c54b4e197692406e7)
2025-08-26 22:57:23 -07:00
Greg Kroah-Hartman 5bf4b91e33 Merge tag 'android16-6.12.30_r00' into android16-6.12
This merges the android16-6.12.30_r00 tag into the android16-6.12 branch,
catching it up with the latest LTS releases.

It contains the following commits:

* 398edeaf7e Merge android16-6.12 into android16-6.12-lts
* 360b34f1a9 FROMGIT: mm: page_alloc: tighten up find_suitable_fallback()
* 4e89551038 UPSTREAM: mm/page_alloc: clarify should_claim_block() commentary
* 2505a76e67 UPSTREAM: mm/page_alloc: clarify terminology in migratetype fallback code
* 9407ed7ee3 BACKPORT: mm: page_alloc: group fallback functions together
* fc396aefad UPSTREAM: mm: page_alloc: remove remnants of unlocked migratetype updates
* f87e594933 UPSTREAM: mm/page_alloc: add some detailed comments in can_steal_fallback
* a3db058b64 Merge android16-6.12 into android16-6.12-lts
* 60eb68c4d8 Revert "virtio_ring: add a func argument 'recycle_done' to virtqueue_reset()"
* 81930ac28a Revert "virtio_net: ensure netdev_tx_reset_queue is called on bind xsk for tx"
*   dba4f359fc Merge 6.12.30 into android16-6.12-lts
|\
| * e0e2f78243 Linux 6.12.30
| * 25e07c8403 drm/amdgpu: fix pm notifier handling
| * 8e7583fb85 phy: tegra: xusb: remove a stray unlock
| * 5924b32446 usb: typec: ucsi: displayport: Fix deadlock
| * bca94cc345 drm/tiny: panel-mipi-dbi: Use drm_client_setup_with_fourcc()
| * 5ed066083f drm/panel-mipi-dbi: Run DRM default client setup
| * 25998ed87f drm/fbdev-dma: Support struct drm_driver.fbdev_probe
| * d22496de50 Bluetooth: btnxpuart: Fix kernel panic during FW release
| * 7ca84f6a22 iio: light: opt3001: fix deadlock due to concurrent flag access
| * 58517eae32 accel/ivpu: Fix fw log printing
| * 0923a7d55a accel/ivpu: Refactor functions in ivpu_fw_log.c
| * 1516c55872 accel/ivpu: Reset fw log on cold boot
| * 1c302f64ea accel/ivpu: Rename ivpu_log_level to fw_log_level
| * 74953f93f4 mm/page_alloc: fix race condition in unaccepted memory handling
| * 260ca2e961 drm/xe/gsc: do not flush the GSC worker from the reset path
| * 6b2d1fbd41 CIFS: New mount option for cifs.upcall namespace resolution
| * 23dc14c52d dmaengine: idxd: Refactor remove call with idxd_cleanup() helper
| * 017d4012dc dmaengine: idxd: fix memory leak in error handling path of idxd_pci_probe
| * 868dbce755 dmaengine: idxd: fix memory leak in error handling path of idxd_alloc
| * 21f9f5cd9a dmaengine: idxd: Add missing idxd cleanup to fix memory leak in remove call
| * e0ba67b10d dmaengine: idxd: Add missing cleanups in cleanup internals
| * 80b0260227 dmaengine: idxd: Add missing cleanup for early error out in idxd_setup_internals
| * 56e2f09083 dmaengine: idxd: fix memory leak in error handling path of idxd_setup_groups
| * 4958737c42 dmaengine: idxd: fix memory leak in error handling path of idxd_setup_engines
| * 5fcd392dae dmaengine: idxd: fix memory leak in error handling path of idxd_setup_wqs
| * 6b5d770e45 dmaengine: ti: k3-udma: Use cap_mask directly from dma_device structure instead of a local copy
| * 26e63b2fe3 dmaengine: ti: k3-udma: Add missing locking
| * fe0756daad mm: userfaultfd: correct dirty flags set for both present and swap pte
| * d005c81665 net: qede: Initialize qede_ll_ops with designated initializer
| * 20d6e621be ring-buffer: Fix persistent buffer when commit page is the reader page
| * 2b81e76db3 wifi: mt76: disable napi on driver removal
| * ec5d9a750e tpm: Mask TPM RC in tpm2_start_auth_session()
| * cac03fecbc spi: tegra114: Use value to check for invalid delays
| * d0df124437 smb: client: fix memory leak during error handling for POSIX mkdir
| * bffc3038a2 scsi: sd_zbc: block: Respect bio vector limits for REPORT ZONES buffer
| * c450f648d0 phy: renesas: rcar-gen3-usb2: Set timing registers only once
| * c78a5693bd phy: renesas: rcar-gen3-usb2: Fix role detection on unbind/bind
| * ed0e7d31d0 phy: Fix error handling in tegra_xusb_port_init
| * 1db527f0cb phy: tegra: xusb: Use a bitmask for UTMI pad power state tracking
| * ce14aa00dd tracing: samples: Initialize trace_array_printk() with the correct function
| * 589c9e66bd ftrace: Fix preemption accounting for stacktrace filter command
| * 7d353da580 ftrace: Fix preemption accounting for stacktrace trigger command
| * 511ceee899 kbuild: Disable -Wdefault-const-init-unsafe
| * 899e014e68 Drivers: hv: vmbus: Remove vmbus_sendpacket_pagebuffer()
| * 4400b05ffa Drivers: hv: Allow vmbus_sendpacket_mpb_desc() to create multiple ranges
| * 02a68f11ba arm64: dts: rockchip: Remove overdrive-mode OPPs from RK3588J SoC dtsi
| * 7f2e784f27 arm64: dts: amlogic: dreambox: fix missing clkc_audio node
| * b1d6694b39 hv_netvsc: Remove rmsg_pgcnt
| * 7a508c604c hv_netvsc: Preserve contiguous PFN grouping in the page buffer array
| * 24f05522c1 hv_netvsc: Use vmbus_sendpacket_mpb_desc() to send VMBus messages
| * fe1bebd0ed dma-buf: insert memory barrier before updating num_fences
| * 93152dac0b ALSA: usb-audio: Add sample rate quirk for Microdia JP001 USB Camera
| * c88f4ff535 ALSA: usb-audio: Add sample rate quirk for Audioengine D1
| * f8302100f4 ALSA: es1968: Add error handling for snd_pcm_hw_constraint_pow2()
| * 7f8d77f654 ACPI: PPTT: Fix processor subtable walk
| * a348ff3f5b gpio: pca953x: fix IRQ storm on system wake up
| * f0c0b8e6bc MAINTAINERS: Update Alexey Makhalov's email address
| * 64a33088ad drm/amd/display: Avoid flooding unnecessary info messages
| * 2d125a1f0d drm/amd/display: Correct the reply value when AUX write incomplete
| * 8d71c3231b drm/amdgpu: csa unmap use uninterruptible lock
| * e54f20c5a1 drm/amdgpu: fix incorrect MALL size for GFX1151
| * c75f3f9cbf Revert "drm/amd/display: Hardware cursor changes color when switched to software cursor"
| * 3ee6399854 btrfs: add back warning for mount option commit values exceeding 300
| * bf804f34ad btrfs: fix folio leak in submit_one_async_extent()
| * 6ea6cea17f btrfs: fix discard worker infinite loop after disabling discard
| * 12f69c4e30 LoongArch: uprobes: Remove redundant code about resume_era
| * 88650dde2e LoongArch: uprobes: Remove user_{en,dis}able_single_step()
| * c92b99c4c0 LoongArch: Fix MAX_REG_OFFSET calculation
| * 2135336574 LoongArch: Save and restore CSR.CNTC for hibernation
| * 66a309b4d5 LoongArch: Move __arch_cpu_idle() to .cpuidle.text section
| * 111e55db3c LoongArch: Prevent cond_resched() occurring within kernel-fpu
| * f8544be7e8 HID: bpf: abort dispatch if device destroyed
| * d32c1880b3 udf: Make sure i_lenExtents is uptodate on inode eviction
| * 0102989af4 sched_ext: bpf_iter_scx_dsq_new() should always initialize iterator
| * a0c2478218 dmaengine: Revert "dmaengine: dmatest: Fix dmatest waiting less when interrupted"
| * 1533677267 NFSv4/pnfs: Reset the layout state after a layoutreturn
| * 6dbf38159d tsnep: fix timestamping with a stacked DSA driver
| * a11b8c0be6 net/tls: fix kernel panic when alloc_page failed
| * abc43c1ffd mlxsw: spectrum_router: Fix use-after-free when deleting GRE net devices
| * 07c737d9ab wifi: mac80211: Set n_channels after allocating struct cfg80211_scan_request
| * 7db81acae0 octeontx2-pf: Do not reallocate all ntuple filters
| * 1977cec5be octeontx2-af: Fix CGX Receive counters
| * 256adb2da5 net: ethernet: mtk_eth_soc: fix typo for declaration MT7988 ESW capability
| * bf85a27605 octeontx2-pf: macsec: Fix incorrect max transmit size in TX secy
| * 38a2fdd3e9 netlink: specs: tc: all actions are indexed arrays
| * be64ab9c17 netlink: specs: tc: fix a couple of attribute names
| * 3f16340071 drm/xe: Save CTX_TIMESTAMP mmio value instead of LRC value
| * d2a9a92bb4 regulator: max20086: fix invalid memory access
| * 5451b834b3 qlcnic: fix memory leak in qlcnic_sriov_channel_cfg_cmd()
| * 1f80e6ff02 net/mlx5e: Disable MACsec offload for uplink representor profile
| * 462e224381 vsock/test: Fix occasional failure in SIOCOUTQ tests
| * 225e29465a net: dsa: b53: prevent standalone from trying to forward to other ports
| * bd99372178 ALSA: sh: SND_AICA should depend on SH_DMA_API
| * a3c147040b nvme-pci: acquire cq_poll_lock in nvme_poll_irqdisable
| * ddfa034da3 nvme-pci: make nvme_pci_npages_prp() __always_inline
| * 0251e13f3f net: dsa: sja1105: discard incoming frames in BR_STATE_LISTENING
| * 3e64d35475 net: cadence: macb: Fix a possible deadlock in macb_halt_tx.
| * 5ee626e473 ALSA: ump: Fix a typo of snd_ump_stream_msg_device_info
| * caac5761a6 ALSA: seq: Fix delivery of UMP events to group ports
| * 8ee6ec20dd net: mctp: Ensure keys maintain only one ref to corresponding dev
| * d308312acd tests/ncdevmem: Fix double-free of queue array
| * 38c937dbd4 selftests: ncdevmem: Switch to AF_INET6
| * 04db681f3c selftests: ncdevmem: Make client_ip optional
| * 0738648a7d selftests: ncdevmem: Unify error handling
| * eb15f4f380 selftests: ncdevmem: Separate out dmabuf provider
| * f3380d119f selftests: ncdevmem: Redirect all non-payload output to stderr
| * d4d1561d17 net: mctp: Don't access ifa_index when missing
| * 9e5efcff49 mctp: no longer rely on net->dev_index_head[]
| * 37050be74e tools/net/ynl: ethtool: fix crash when Hardware Clock info is missing
| * d1365ca80b net_sched: Flush gso_skb list too during ->change()
| * 28826a89fd Bluetooth: MGMT: Fix MGMT_OP_ADD_DEVICE invalid device flags
| * 10c7f1c647 RDMA/core: Fix "KASAN: slab-use-after-free Read in ib_register_device" problem
| * de7acdb462 spi: loopback-test: Do not split 1024-byte hexdumps
| * da824f1271 nfs: handle failure of nfs_get_lock_context in unlock path
| * 94e7272b63 HID: uclogic: Add NULL check in uclogic_input_configured()
| * a699995370 HID: thrustmaster: fix memory leak in thrustmaster_interrupts()
| * 336edd6b0f RDMA/rxe: Fix slab-use-after-free Read in rxe_queue_cleanup bug
| * c43b0a185f virtio_net: ensure netdev_tx_reset_queue is called on bind xsk for tx
| * 343a77562c virtio_ring: add a func argument 'recycle_done' to virtqueue_reset()
| * 1cf8bdd596 iio: chemical: sps30: use aligned_s64 for timestamp
| * 7b16d3c361 iio: adc: ad7768-1: Fix insufficient alignment of timestamp.
| * b9e0997f2e xhci: dbc: Avoid event polling busyloop if pending rx transfers are inactive.
| * 651eaaae6b xhci: dbc: Improve performance by removing delay in transfer event polling.
| * 5d9d62323e Revert "drm/amd: Stop evicting resources on APUs in suspend"
| * 4d45a5f1e2 drm/amd: Add Suspend/Hibernate notification callback support
| * ea0153e065 iio: pressure: mprls0025pa: use aligned_s64 for timestamp
| * 039681d656 iio: chemical: pms7003: use aligned_s64 for timestamp
| * b37c112ef2 iio: adc: ad7266: Fix potential timestamp alignment issue.
| * a065f78eba KVM: x86/mmu: Prevent installing hugepages when mem attributes are changing
| * 3d962ec543 KVM: Add member to struct kvm_gfn_range to indicate private/shared
| * 54401e29ab uio_hv_generic: Fix sysfs creation path for ring buffer
| * 7bf64cd0cc tpm: tis: Double the timeout B to 4s
| * 517c11fe4f tracing: probes: Fix a possible race in trace_probe_log APIs
| * f0d70d8dca cgroup/cpuset: Extend kthread_is_per_cpu() check to all PF_NO_SETAFFINITY tasks
| * 220444d209 arm64: dts: imx8mp-var-som: Fix LDO5 shutdown causing SD card timeout
| * 48fff1267e platform/x86: asus-wmi: Fix wlan_ctrl_by_user detection
| * 03e4ee3a9a platform/x86/amd/pmc: Declare quirk_spurious_8042 for MECHREVO Wujie 14XA (GX4HRXL)
| * bc4c54cbb4 binfmt_elf: Move brk for static PIE even if ASLR disabled
| * 97dd8c19f2 riscv: dts: sophgo: fix DMA data-width configuration for CV18xx
| * a0bde67526 drivers/platform/x86/amd: pmf: Check for invalid Smart PC Policies
| * 5022d7a392 drivers/platform/x86/amd: pmf: Check for invalid sideloaded Smart PC Policies
| * 10d1496f85 fs/xattr.c: fix simple_xattr_list to always include security.* xattrs
| * 61f489ca99 arm64: dts: rockchip: Assign RT5616 MCLK rate on rk3588-friendlyelec-cm3588
* | bdd44337d5 UPSTREAM: loop: don't require ->write_iter for writable files in loop_configure
* | 651f2e4fca Merge 6.12.29 into android16-6.12-lts
|\|
| * 5be5dbf91e Linux 6.12.29
| * 7e78061be7 x86/its: FineIBT-paranoid vs ITS
| * bb85c3abbf x86/its: Fix build errors when CONFIG_MODULES=n
| * 2a6194e124 selftest/x86/bugs: Add selftests for ITS
| * 88a817e60d x86/its: Use dynamic thunks for indirect branches
| * 15335117c5 x86/ibt: Keep IBT disabled during alternative patching
| * bd57853b86 x86/its: Align RETs in BHB clear sequence to avoid thunking
| * 9f132c0397 x86/its: Add support for RSB stuffing mitigation
| * 4dc1902fde x86/its: Add "vmexit" option to skip mitigation on some CPUs
| * 68d59e9ba3 x86/its: Enable Indirect Target Selection mitigation
| * 5100004723 x86/its: Add support for ITS-safe return thunk
| * 16a7d5b7a4 x86/its: Add support for ITS-safe indirect thunk
| * a6f2a436e9 x86/its: Enumerate Indirect Target Selection (ITS) bug
| * 76f847655b Documentation: x86/bugs/its: Add ITS documentation
| * f23d4f4aeb x86/speculation: Remove the extra #ifdef around CALL_NOSPEC
| * 9ebe6f1bd2 x86/speculation: Add a conditional CS prefix to CALL_NOSPEC
| * d2498bbb54 x86/speculation: Simplify and make CALL_NOSPEC consistent
| * 9d8295dcf2 x86/bhi: Do not set BHI_DIS_S in 32-bit mode
| * b86349f326 x86/bpf: Add IBHF call at end of classic BPF
| * 87a12b9b38 x86/bpf: Call branch history clearing sequence on exit
| * 2176530849 arm64: proton-pack: Add new CPUs 'k' values for branch mitigation
| * e5f5100f1c arm64: bpf: Only mitigate cBPF programs loaded by unprivileged users
| * 38c345fd54 arm64: bpf: Add BHB mitigation to the epilogue for cBPF programs
| * f2aebb8ec6 arm64: proton-pack: Expose whether the branchy loop k value
| * ec5bca57af arm64: proton-pack: Expose whether the platform is mitigated by firmware
| * 2a3915e861 arm64: insn: Add support for encoding DSB
| * 86b37810fa sched/eevdf: Fix se->slice being set to U64_MAX and resulting crash
| * 16bae58f73 mm: page_alloc: speed up fallbacks in rmqueue_bulk()
| * 564d25b1a6 mm: page_alloc: don't steal single pages from biggest buddy
| * 12abefb8c8 Bluetooth: btmtk: Remove the resetting step before downloading the fw
| * c7a9df4ef4 Bluetooth: btmtk: Remove resetting mt7921 before downloading the fw
| * 2482f7705b io_uring: always arm linked timeouts prior to issue
| * 6b0383a21d rust: clean Rust 1.88.0's `clippy::uninlined_format_args` lint
| * 1c25723831 rust: allow Rust 1.87.0's `clippy::ptr_eq` lint
| * 6aac2c5476 Revert "um: work around sched_yield not yielding in time-travel mode"
| * cd010271a9 do_umount(): add missing barrier before refcount checks in sync case
| * 3edac2949e io_uring/sqpoll: Increase task_work submission batch size
| * 944af45bb7 drm/xe/tests/mocs: Hold XE_FORCEWAKE_ALL for LNCF regs
| * 95a75ed2b0 drm/xe/tests/mocs: Update xe_force_wake_get() return handling
| * d6b013b44e riscv: misaligned: enable IRQs while handling misaligned accesses
| * 45a0697cee riscv: misaligned: factorize trap handling
| * 19fa2a4830 nvme: unblock ctrl state transition for firmware update
| * 7798edcc5b drm/panel: simple: Update timings for AUO G101EVN010
| * 184b147b9f loop: Add sanity check for read/write_iter
* | d2f3f294cf Merge a781ffe410 ("loop: factor out a loop_assign_backing_file helper") into android16-6.12-lts
|\|
| * a781ffe410 loop: factor out a loop_assign_backing_file helper
* | f6f856e093 Merge 5e1470b276 ("loop: refactor queue limits updates") into android16-6.12-lts
|\|
| * 5e1470b276 loop: refactor queue limits updates
* | b9315b0505 Merge 0558ce095b ("loop: Fix ABBA locking race") into android16-6.12-lts
|\|
| * 0558ce095b loop: Fix ABBA locking race
* | abbbbed768 Merge 722f6dece7 ("loop: Simplify discard granularity calc") into android16-6.12-lts
|\|
| * 722f6dece7 loop: Simplify discard granularity calc
* | f3c6606676 Merge 02a77b3020 ("loop: Use bdev limit helpers for configuring discard") into android16-6.12-lts
|\|
| * 02a77b3020 loop: Use bdev limit helpers for configuring discard
* | 6a0454f040 Merge 126be03494 ("riscv: misaligned: Add handling for ZCB instructions") into android16-6.12-lts
|\|
| * 126be03494 riscv: misaligned: Add handling for ZCB instructions
| * eaa30e1d0e MIPS: Fix MAX_REG_OFFSET
| * fb98c9e584 iio: adc: dln2: Use aligned_s64 for timestamp
| * ef5d6a4096 iio: accel: adxl355: Make timestamp 64-bit aligned using aligned_s64
| * afe8849597 types: Complement the aligned types with signed 64-bit one
| * 245e319019 iio: temp: maxim-thermocouple: Fix potential lack of DMA safe buffer.
| * e9bf391a9b iio: accel: adxl367: fix setting odr for activity time update
| * a2ad060643 usb: usbtmc: Fix erroneous generic_read ioctl return
| * 2073913776 usb: usbtmc: Fix erroneous wait_srq ioctl return
| * 29e1773746 usb: usbtmc: Fix erroneous get_stb ioctl error returns
| * 9d90c283ea USB: usbtmc: use interruptible sleep in usbtmc_read
| * 5ad298d6d4 usb: typec: ucsi: displayport: Fix NULL pointer access
| * 3366a19948 usb: typec: tcpm: delay SNK_TRY_WAIT_DEBOUNCE to SRC_TRYWAIT transition
| * 1c001b6dde usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs
| * 08eca452a6 usb: host: tegra: Prevent host controller crash when OTG port is used
| * d1c8fa4c6e usb: gadget: Use get_status callback to set remote wakeup capability
| * 43ae91f561 usb: gadget: tegra-xudc: ACK ST_RC after clearing CTRL_RUN
| * 75f23e49ad usb: gadget: f_ecm: Add get_status callback
| * fae7f44601 usb: cdnsp: fix L1 resume issue for RTL_REVISION_NEW_LPM version
| * 88d92cffc9 usb: cdnsp: Fix issue with resuming from L1
| * f6fdbe4d54 usb: dwc3: gadget: Make gadget_wakeup asynchronous
* | 23a88a6ad8 Merge d133023c9a ("ocfs2: stop quota recovery before disabling quotas") into android16-6.12-lts
|\|
| * d133023c9a ocfs2: stop quota recovery before disabling quotas
| * fe3d752a7a ocfs2: implement handshaking with ocfs2 recovery thread
| * f96041a959 ocfs2: switch osb->disable_recovery to enum
| * 1b3b915852 ocfs2: fix the issue with discontiguous allocation in the global_bitmap
| * b76eaef983 x86/microcode: Consolidate the loader enablement checking
| * d63851049f module: ensure that kobject_put() is safe for module type kobjects
| * d66a22f6a4 memblock: Accept allocated memory before use in memblock_double_array()
| * ed45af6841 clocksource/i8253: Use raw_spinlock_irqsave() in clockevent_i8253_disable()
| * abbc99e898 arm64: cpufeature: Move arm64_use_ng_mappings to the .data section to prevent wrong idmap generation
| * 55701e992b accel/ivpu: Increase state dump msg timeout
| * 8e9c8a0393 xenbus: Use kref to track req lifetime
| * 54dd5d6af7 xen: swiotlb: Use swiotlb bouncing if kmalloc allocation demands it
| * 571dcf3d27 smb: client: Avoid race in open_cached_dir with lease breaks
| * a9f28dbfdd usb: uhci-platform: Make the clock really optional
| * 92d0a28afb drm/amdgpu/hdp7: use memcfg register to post the write for HDP flush
| * df04418262 drm/amdgpu/hdp6: use memcfg register to post the write for HDP flush
| * 0a776c3054 drm/amdgpu/hdp5: use memcfg register to post the write for HDP flush
| * b6f0f3e6c7 drm/amdgpu/hdp5.2: use memcfg register to post the write for HDP flush
| * 4872de413e drm/amdgpu/hdp4: use memcfg register to post the write for HDP flush
| * a13f9ac569 drm/amd/display: Copy AUX read reply data whenever length > 0
| * 2d63e66f7b drm/amd/display: Fix wrong handling for AUX_DEFER case
| * 0e225bdba3 drm/amd/display: Remove incorrect checking in dmub aux handler
| * fc7ac4ad1d drm/amd/display: Fix the checking condition in dmub aux handling
| * 468034a06a drm/amd/display: more liberal vmin/vmax update for freesync
| * d8c4afe783 drm/amd/display: Fix invalid context error in dml helper
| * 19323f414b drm/amdgpu/vcn: using separate VCN1_AON_SOC offset
| * 206569cbf7 drm/xe: Add page queue multiplier
| * a5f162727b drm/v3d: Add job to pending list if the reset was skipped
| * dadf911610 iio: imu: st_lsm6dsx: fix possible lockup in st_lsm6dsx_read_tagged_fifo
| * a1cad8a3bc iio: imu: st_lsm6dsx: fix possible lockup in st_lsm6dsx_read_fifo
| * 82f6334a0b iio: imu: inv_mpu6050: align buffer for timestamp
| * c4dfff960b iio: adis16201: Correct inclinometer channel resolution
| * 4cbd37a12a iio: adc: rockchip: Fix clock initialization sequence
| * c9f8413b78 iio: adc: ad7606: fix serial register access
| * 7f37e31483 io_uring: ensure deferred completions are flushed for multishot
| * 4d41b9e4c9 drm/amd/display: Shift DMUB AUX reply command if necessary
| * d362b21fef KVM: SVM: Forcibly leave SMM mode on SHUTDOWN interception
| * 5156f7c484 selftests/mm: fix a build failure on powerpc
| * b21ec0726a selftests/mm: compaction_test: support platform with huge mount of memory
| * b543a5a73b mm/userfaultfd: fix uninitialized output field for -EAGAIN race
| * 6166c3cf40 mm/huge_memory: fix dereferencing invalid pmd migration entry
* | 8c70afee5a Revert "mm: vmalloc: support more granular vrealloc() sizing"
* | f6204ce2cd Merge 2910019b04 ("mm: vmalloc: support more granular vrealloc() sizing") into android16-6.12-lts
|\|
| * 2910019b04 mm: vmalloc: support more granular vrealloc() sizing
* | 9649374a04 Merge efb5973459 ("mm: fix folio_pte_batch() on XEN PV") into android16-6.12-lts
|\|
| * efb5973459 mm: fix folio_pte_batch() on XEN PV
| * d87392094f x86/mm: Eliminate window where TLB flushes may be inadvertently skipped
| * e8b1d65f0a staging: axis-fifo: Correct handling of tx_fifo_depth for size validation
| * 38a8982ca0 staging: axis-fifo: Remove hardware resets for user errors
| * 06753f4933 staging: bcm2835-camera: Initialise dev in v4l2_dev
| * 215e42e2f1 staging: iio: adc: ad7816: Correct conditional logic for store mode
| * 5bb112f160 rust: clean Rust 1.88.0's warning about `clippy::disallowed_macros` configuration
| * a85d8aed0c objtool/rust: add one more `noreturn` Rust function for Rust 1.87.0
| * 376b73292a rust: clean Rust 1.88.0's `unnecessary_transmutes` lint
| * 2943297acf Input: synaptics - enable InterTouch on TUXEDO InfinityBook Pro 14 v5
| * a82f4f5563 Input: synaptics - enable SMBus for HP Elitebook 850 G1
| * bbb5081015 Input: synaptics - enable InterTouch on Dell Precision M3800
| * bc4556bba1 Input: synaptics - enable InterTouch on Dynabook Portege X30L-G
| * 9d9074af50 Input: synaptics - enable InterTouch on Dynabook Portege X30-D
| * 38bb0170d6 Input: xpad - fix two controller table values
| * bf239d3835 Input: xpad - add support for 8BitDo Ultimate 2 Wireless Controller
| * 302a0cd0bb Input: xpad - fix Share button on Xbox One controllers
| * 619c05fb17 Input: mtk-pmic-keys - fix possible null pointer dereference
| * f36230dacd Input: cyttsp5 - fix power control issue on wakeup
| * ee25256789 Input: cyttsp5 - ensure minimum reset pulse width
* | 75d972f987 ANDROID: GKI: add netdev_stat_queue_sum to the virtual symbol list
* | 388a174371 Merge de02eb727f ("virtio-net: fix total qstat values") into android16-6.12-lts
|\|
| * de02eb727f virtio-net: fix total qstat values
* | ccbcf35213 Merge bb8f86f40e ("net: export a helper for adding up queue stats") into android16-6.12-lts
|\|
| * bb8f86f40e net: export a helper for adding up queue stats
| * 7eea40818e fbnic: Do not allow mailbox to toggle to ready outside fbnic_mbx_poll_tx_ready
| * 650e283b4c fbnic: Pull fbnic_fw_xmit_cap_msg use out of interrupt context
| * 9d9010879d fbnic: Improve responsiveness of fbnic_mbx_poll_tx_ready
| * 612a05c9f2 fbnic: Actually flush_tx instead of stalling out
| * fea860a2a6 fbnic: Gate AXI read/write enabling on FW mailbox
| * cd25fc4c56 fbnic: Fix initialization of mailbox descriptor rings
| * ce97489864 net: dsa: b53: do not set learning and unicast/multicast on up
| * e5b40f4a2b net: dsa: b53: fix learning on VLAN unaware bridges
| * ce1a289bf2 net: dsa: b53: fix toggling vlan_filtering
| * 2407c98a1b net: dsa: b53: do not program vlans when vlan filtering is off
| * 7dac025829 net: dsa: b53: do not allow to configure VLAN 0
| * 11c427a869 net: dsa: b53: always rejoin default untagged VLAN on bridge leave
| * 90b65bc357 net: dsa: b53: fix VLAN ID for untagged vlan on bridge leave
| * 42ab1f2b6f net: dsa: b53: fix flushing old pvid VLAN on pvid change
| * 4ed7e60313 net: dsa: b53: fix clearing PVID of a port
| * 46de8f2aa3 net: dsa: b53: keep CPU port always tagged again
| * 11dbd4e0a8 net: dsa: b53: allow leaky reserved multicast
| * b37e54259c bpf: Scrub packet on bpf_redirect_peer
| * e2ab67672b netfilter: ipset: fix region locking in hash types
| * 0160ac84fb ipvs: fix uninit-value for saddr in do_output_route4
| * 64385c0d02 erofs: ensure the extra temporary copy is valid for shortened bvecs
* | bca3c97937 Merge 574686c807 ("ice: use DSN instead of PCI BDF for ice_adapter index") into android16-6.12-lts
|\|
| * 574686c807 ice: use DSN instead of PCI BDF for ice_adapter index
| * 62946989e6 ice: Initial support for E825C hardware in ice_adapter
| * 4555c4a13a wifi: mac80211: fix the type of status_code for negotiated TID to Link Mapping
| * c33927f385 can: gw: fix RCU/BH usage in cgw_create_job()
| * 8f24cc6a72 can: mcp251xfd: fix TDC setting for low data bit rates
| * 2ecce25ea2 can: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe
| * 79a6945e3d net: ethernet: mtk_eth_soc: do not reset PSE when setting FE
| * aac9d5fa53 net: ethernet: mtk_eth_soc: reset all TX queues on DMA free
| * 35be4c0cdf gre: Fix again IPv6 link-local address generation.
| * 94a6f6c204 virtio-net: free xsk_buffs on error in virtnet_xsk_pool_enable()
| * edd53ee790 virtio_net: xsk: bind/unbind xsk for tx
| * 98cd7ed927 sch_htb: make htb_deactivate() idempotent
| * 5c3b8f0575 s390/entry: Fix last breaking event handling in case of stack corruption
| * 2148d34371 ksmbd: fix memory leak in parse_lease_state()
| * ec334aaab7 openvswitch: Fix unsafe attribute parsing in output_userspace()
| * 9e9841e232 ksmbd: Fix UAF in __close_file_table_ids
| * d62ba16563 ksmbd: prevent out-of-bounds stream writes by validating *pos
| * c57301e332 ksmbd: prevent rename with empty string
| * 1b7b1cbc6e can: rockchip_canfd: rkcanfd_remove(): fix order of unregistration calls
| * 12ef60f1b9 can: mcp251xfd: mcp251xfd_remove(): fix order of unregistration calls
| * c488f8b53e s390/pci: Fix duplicate pci_dev_put() in disable_slot() when PF has child VFs
| * afa5cdce06 vfio/pci: Align huge faults to order
| * 9423f6da82 wifi: cfg80211: fix out-of-bounds access during multi-link element defragmentation
| * be54b750c3 s390/pci: Fix missing check for zpci_create_device() error return
| * e0a8e3ca07 can: mcan: m_can_class_unregister(): fix order of unregistration calls
| * 14ee85b748 firmware: arm_scmi: Fix timeout checks on polling path
| * fe3da1bfd8 arm64: dts: imx8mm-verdin: Link reg_usdhc2_vqmmc to usdhc2
| * ff7d691921 Revert "btrfs: canonicalize the device path before adding it"
| * 61e0fc3312 fs/erofs/fileio: call erofs_onlinefolio_split() after bio_add_folio()
| * b32411f045 dm: add missing unlock on in dm_keyslot_evict()
* | 26bd1ac1ad Merge android16-6.12 into android16-6.12-lts
* | ad2b007ef4 Revert "cpufreq: Fix setting policy limits when frequency tables are used"
* | 834bfca137 Revert "xsk: Fix race condition in AF_XDP generic RX path"
* | 62cd1edf4d Merge 6.12.28 into android16-6.12-lts
|\|
| * f08cdc6cc9 Linux 6.12.28
| * db62809197 dm: fix copying after src array boundaries
| * dd329f04dd drm/amd/display: Fix slab-use-after-free in hdcp
| * 75096780a4 drm/amd/display: Add scoped mutexes for amdgpu_dm_dhcp
| * e1eea69858 drivers: base: handle module_kobject creation
| * 69113bf740 kernel: globalize lookup_or_create_module_kobject()
| * 3b41b5efae kernel: param: rename locate_module_kobject
| * 7509810606 Revert "drm/meson: vclk: fix calculation of 59.94 fractional rates"
| * e993398cbd arm64: dts: st: Use 128kB size for aliased GIC400 register access on stm32mp25 SoCs
| * aa4ea53554 arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs
| * 7ac0df4f35 ARM: dts: opos6ul: add ksz8081 phy properties
| * a3ab5c9443 arm64: dts: imx95: Correct the range of PCIe app-reg region
| * cc67657f63 firmware: arm_ffa: Skip Rx buffer ownership release if not acquired
| * 969d8beaa2 firmware: arm_scmi: Balance device refcount when destroying devices
| * 752600f1ac drm/xe: Ensure fixed_slice_mode gets set after ccs_mode change
| * 0e6325c183 sch_ets: make est_qlen_notify() idempotent
| * 15fa905db2 sch_qfq: make qfq_qlen_notify() idempotent
| * d06476714d sch_hfsc: make hfsc_qlen_notify() idempotent
| * 353add4cad sch_drr: make drr_qlen_notify() idempotent
| * 0a188c0e19 sch_htb: make htb_qlen_notify() idempotent
| * bccc7df3ce accel/ivpu: Add handling of VPU_JSM_STATUS_MVNCI_CONTEXT_VIOLATION_HW
| * 079d2622f8 accel/ivpu: Fix locking order in ivpu_job_submit
| * 3e3062be7d accel/ivpu: Abort all jobs after command queue unregister
| * a39b5b6a6e accel/ivpu: Update VPU FW API headers
| * 1ebbfee889 accel/ivpu: Fix a typo
| * a735c9205d accel/ivpu: Use xa_alloc_cyclic() instead of custom function
| * aaba59961d accel/ivpu: Make DB_ID and JOB_ID allocations incremental
| * f4ae68eae9 net: Fix the devmem sock opts and msgs for parisc
| * 6b6cd38910 bcachefs: Remove incorrect __counted_by annotation
| * dab2a13059 mm, slab: clean up slab->obj_exts always
| * e10ec6e32b blk-mq: create correct map for fallback case
| * 1e15804c04 net: vertexcom: mse102x: Fix RX error handling
| * 2e5b8eb6b4 net: vertexcom: mse102x: Add range check for CMD_RTS
| * 98abf83672 net: vertexcom: mse102x: Fix LEN_MASK
| * 6abbffa736 net: vertexcom: mse102x: Fix possible stuck of SPI interrupt
| * 7f9c3e2213 net: hns3: defer calling ptp_clock_register()
| * 6a6d547a7f net: hns3: fixed debugfs tm_qset size
| * ee2642bbae net: hns3: fix an interrupt residual problem
| * d4cd766731 net: hns3: store rx VLAN tag offload state for VF
| * c8d788f800 octeon_ep: Fix host hang issue during device reboot
| * bcb9d6a222 net: fec: ERR007885 Workaround for conventional TX
| * 189b05f189 net: lan743x: Fix memleak issue when GSO enabled
| * 8a543d825e ptp: ocp: Fix NULL dereference in Adva board SMA sysfs operations
| * c0dba059b1 net: use sock_gen_put() when sk_state is TCP_TIME_WAIT
| * a90146b73c bnxt_en: fix module unload sequence
| * b41a49d543 ASoC: simple-card-utils: Fix pointer check in graph_util_parse_link_direction
| * 9b552c84cd nvmet-tcp: select CONFIG_TLS from CONFIG_NVME_TARGET_TCP_TLS
| * 15ea0b6164 nvme-tcp: select CONFIG_TLS from CONFIG_NVME_TCP_TLS
| * 60331309e7 nvme-tcp: fix premature queue removal and I/O failover
| * 2da8fe5a10 bnxt_en: Fix ethtool -d byte order for 32-bit values
| * 44807af79e bnxt_en: Fix out-of-bound memcpy() during ethtool -w
| * 454a4450b0 bnxt_en: Fix coredump logic to free allocated buffer
| * 626af9b8e8 bnxt_en: call pci_alloc_irq_vectors() after bnxt_reserve_rings()
| * aa15f389fc bnxt_en: Add missing skb_mark_for_recycle() in bnxt_rx_vlan()
| * 808a7304b5 bnxt_en: Fix ethtool selftest output in one of the failure cases
| * e039b00ddb bnxt_en: Fix error handling path in bnxt_init_chip()
| * 9bc347854d ALSA: hda/realtek: Fix built-mic regression on other ASUS models
| * 6effe1c0fa net: ipv6: fix UDPv6 GSO segmentation with NAT
| * dcb5a2b961 net: dsa: felix: fix broken taprio gate states after clock jump
| * 317013d1ad net: ethernet: mtk_eth_soc: fix SER panic with 4GB+ RAM
| * 56b958a5b5 igc: fix lock order in igc_ptp_reset
| * df1ff481fa idpf: protect shutdown from reset
| * bf0ec3aac1 idpf: fix potential memory leak on kcalloc() failure
| * d206ea7681 net: mdio: mux-meson-gxl: set reversed bit when using internal phy
| * e9b65c9561 net: dlink: Correct endianness handling of led_mode
| * 7fc2c784dd drm/mipi-dbi: Fix blanking for non-16 bit formats
| * d0d7c93b4b drm/tests: shmem: Fix memleak
| * 5ad0b1b554 nvme-pci: fix queue unquiesce check on slot_reset
| * 226beac560 ALSA: ump: Fix buffer overflow at UMP SysEx message conversion
| * 6b1355860d scsi: ufs: core: Remove redundant query_complete trace
| * d14f88bd0f idpf: fix offloads support for encapsulated packets
| * 073791e9cf ice: Check VF VSI Pointer Value in ice_vc_add_fdir_fltr()
| * 53bc0b5517 net_sched: qfq: Fix double list add in class with netem as child qdisc
| * 1f01e9f961 net_sched: ets: Fix double list add in class with netem as child qdisc
| * 2e7093c7a8 net_sched: hfsc: Fix a UAF vulnerability in class with netem as child qdisc
| * 26e75716b9 net_sched: drr: Fix double list add in class with netem as child qdisc
| * c649b9653e pds_core: remove write-after-free of client_id
| * f41e27b746 pds_core: specify auxiliary_device to be created
| * 1d69ab8503 pds_core: make pdsc_auxbus_dev_del() void
| * aea3ca60fa net: ethernet: mtk_eth_soc: sync mtk_clks_source_name array
| * 5257a0f1ec net: ethernet: mtk-star-emac: rearm interrupts in rx_poll only when advised
| * 8d40bf73fa net: ethernet: mtk-star-emac: fix spinlock recursion issues on rx/tx poll
| * 950832771e rtase: Modify the condition used to detect overflow in rtase_calc_time_mitigation
| * 4911412efd bnxt_en: improve TX timestamping FIFO configuration
| * ddc1e64c29 octeon_ep_vf: Resolve netdevice usage count issue
| * 6e6325d487 net: mscc: ocelot: delete PVID VLAN when readding it as non-PVID
| * 432572d536 Bluetooth: L2CAP: copy RX timestamp to new fragments
| * cfe006c8a6 Bluetooth: btintel_pcie: Add additional to checks to clear TX/RX paths
| * b70b41591e Bluetooth: btusb: avoid NULL pointer dereference in skb_dequeue()
| * c7bd5c9ba1 Bluetooth: btintel_pcie: Avoid redundant buffer allocation
| * 620810ac1f Bluetooth: hci_conn: Fix not setting timeout for BIG Create Sync
| * eb8b860e87 Bluetooth: hci_conn: Fix not setting conn_timeout for Broadcast Receiver
| * fe81c26d2d Bluetooth: hci_conn: Remove alloc from critical section
| * 3104b7d559 ASoC: amd: acp: Fix NULL pointer deref in acp_i2s_set_tdm_slot
| * 92d812df3b accel/ivpu: Correct DCT interrupt handling
| * 174161d6f0 net/mlx5: E-switch, Fix error handling for enabling roce
| * 488ab6d41f net/mlx5e: Fix lock order in mlx5e_tx_reporter_ptpsq_unhealthy_recover
| * c022830c2a net/mlx5e: TC, Continue the attr process even if encap entry is invalid
| * 51599d07c7 net/mlx5: E-Switch, Initialize MAC Address for Default GID
| * b67fee5837 net/mlx5e: Use custom tunnel header for vxlan gbp
| * 65d3c57061 xsk: Fix race condition in AF_XDP generic RX path
| * 5cb9e07f84 vxlan: vnifilter: Fix unlocked deletion of default FDB entry
| * ec1643d1ba powerpc/boot: Fix dash warning
| * 791a2d9e87 wifi: plfxlc: Remove erroneous assert in plfxlc_mac_release
| * 50d1982dba wifi: iwlwifi: fix the check for the SCRATCH register upon resume
| * 33bf992088 wifi: iwlwifi: don't warn if the NIC is gone in resume
| * bb0d602899 drm/i915/pxp: fix undefined reference to `intel_pxp_gsccs_is_ready_for_sessions'
| * f7dc50604c ALSA: hda/realtek - Enable speaker for HP platform
| * 7867992c3e ASoC: Intel: sof_sdw: Add NULL check in asoc_sdw_rt_dmic_rtd_init()
| * ae462ead89 powerpc/boot: Check for ld-option support
| * fcf36f6ed4 pinctrl: imx: Return NULL if no group is matched and found
| * 7f5476d80f book3s64/radix : Align section vmemmap start address to PAGE_SIZE
| * 29a4a29112 ASoC: soc-pcm: Fix hw_params() and DAPM widget sequence
| * 2029a38b6c ASoC: cs-amp-lib-test: Don't select SND_SOC_CS_AMP_LIB
| * 220395054c ASoC: soc-core: Stop using of_property_read_bool() for non-boolean properties
| * b93e1cad05 drm/amd/display: Default IPS to RCG_IN_ACTIVE_IPS2_IN_OFF
| * 1f27a3e93b tracing: Fix oob write in trace_seq_to_buffer()
| * 962d88304c cpufreq: Fix setting policy limits when frequency tables are used
| * 573b047229 cpufreq: Avoid using inconsistent policy->min and policy->max
| * 553d723e1a smb: client: fix zero length for mkdir POSIX create context
| * d5ec1d7950 ksmbd: fix use-after-free in session logoff
| * e18c616718 ksmbd: fix use-after-free in kerberos authentication
| * 8fb3b6c85b ksmbd: fix use-after-free in ksmbd_session_rpc_open
| * d211757918 platform/x86/intel-uncore-freq: Fix missing uncore sysfs during CPU hotplug
| * 2fcb183768 platform/x86/amd: pmc: Require at least 2.5 seconds between HW sleep cycles
| * 2e303d0107 iommu: Fix two issues in iommu_copy_struct_from_user()
| * 677714d779 iommu/vt-d: Apply quirk_iommu_igfx for 8086:0044 (QM57/QS57)
| * ccc50fcba3 iommu/arm-smmu-v3: Fix pgsize_bit for sva domains
| * 98e634aa4b iommu/arm-smmu-v3: Fix iommu_device_probe bug due to duplicated stream ids
| * 10d901a95f iommu/amd: Fix potential buffer overflow in parse_ivrs_acpihid
| * 43eb647e84 drm: Select DRM_KMS_HELPER from DRM_DEBUG_DP_MST_TOPOLOGY_REFS
| * 989f9c6a61 drm/amdgpu: Fix offset for HDP remap in nbio v7.11
| * 510aea4ef0 dm: always update the array size in realloc_argv on success
| * af2a88817f dm-integrity: fix a warning on invalid table line
| * f451082572 dm-bufio: don't schedule in atomic context
| * efebca5970 x86/boot/sev: Support memory acceptance in the EFI stub under SVSM
| * bdb435ef98 wifi: brcm80211: fmac: Add error handling for brcmf_usb_dl_writeimage()
| * 0988dd0263 tracing: Do not take trace_event_sem in print_event_fields()
| * da77a7594f spi: tegra114: Don't fail set_cs_timing when delays are zero
| * 20a28e0ece mmc: renesas_sdhi: Fix error handling in renesas_sdhi_probe
| * 9c4ddea497 mm/memblock: repeat setting reserved region nid if array is doubled
| * eb9b72e4fe mm/memblock: pass size instead of end to memblock_set_node()
| * f102342360 irqchip/qcom-mpm: Prevent crash when trying to handle non-wake GPIOs
| * 6569501c70 amd-xgbe: Fix to ensure dependent features are toggled with RX checksum offload
| * 44ee0afc9d perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPU's value.
| * 6dcf83f504 perf/x86/intel: Only check the group flag for X86 leader
| * cf21e890f5 parisc: Fix double SIGFPE crash
| * 090c8714ef arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays
| * 4f4388a550 i2c: imx-lpi2c: Fix clock count when probe defers
| * 833ef30f01 EDAC/altera: Set DDR and SDMMC interrupt mask before registration
| * 349dac4052 EDAC/altera: Test the correct error reg offset
| * b771b20172 drm/nouveau: Fix WARN_ON in nouveau_fence_context_kill()
| * f1dfc94584 drm/fdinfo: Protect against driver unbind
| * d31806f14c cpufreq: intel_pstate: Unchecked MSR aceess in legacy mode
| * f46fd2f024 btrfs: fix COW handling in run_delalloc_nocow()
| * b80db09b61 btrfs: adjust subpage bit start based on sectorsize
| * 38d9ca7405 binder: fix offset calculation in debug log
| * fdf0ae5e9e ALSA: usb-audio: Add second USB ID for Jabra Evolve 65 headset
| * 0aaae77be5 ALSA: usb-audio: Add retry on -EPROTO from usb_set_interface()
| * 222b6685ef Revert "rndis_host: Flag RNDIS modems as WWAN devices"
| * 351378ae7b Bluetooth: btusb: Add 13 USB device IDs for Qualcomm WCN785x
| * 78945de256 Bluetooth: btusb: Add new VID/PID for WCN785x
| * 5ab19c342f Bluetooth: btusb: Add ID 0x2c7c:0x0130 for Qualcomm WCN785x
| * c6e1913e76 Bluetooth: btusb: Add one more ID 0x13d3:0x3623 for Qualcomm WCN785x
| * 8ee592df65 Bluetooth: btusb: Add one more ID 0x0489:0xe0f3 for Qualcomm WCN785x
| * a9bfc823d0 Bluetooth: btusb: add Foxconn 0xe0fc for Qualcomm WCN785x
* | 7ef2a3c257 Merge 6.12.27 into android16-6.12-lts
|\|
| * b801eaa96a Linux 6.12.27
| * 92c6f8c577 bpf: Fix BPF_INTERNAL namespace import
* | 4268a279b0 Merge branch 'android16-6.12' into android16-6.12-lts
* | 2348274c38 ANDROID: GKI: fix up new enum ABI break for PERR_REMOTE
* | 54ab26576b ANDROID: GKI: fix up CRC issue with msi.c
* | edd5c4a4db ANDROID: GKI: fix up crc issue in crypto_get_default_null_skcipher()
* | 5562e5e9bc Revert "usb: typec: class: Fix NULL pointer access"
* | 9bc73ad3e8 Revert "usb: typec: class: Invalidate USB device pointers on partner unregistration"
* | f382226159 Revert "usb: typec: class: Unlocked on error in typec_register_partner()"
* | d21d9b7966 Revert "xhci: Handle spurious events on Etron host isoc enpoints"
* | afca077cf3 Revert "usb: xhci: Fix Short Packet handling rework ignoring errors"
* | 51b29671f8 Revert "block: remove the write_hint field from struct request"
* | 69db030430 Revert "block: remove the ioprio field from struct request"
* | 0051f90803 Revert "block: make sure ->nr_integrity_segments is cloned in blk_rq_prep_clone"
* | c03fd6f483 Revert "module: sign with sha512 instead of sha1 by default"
* | 452a0ec59d ANDROID: GKI: Remove CONFIG_UBSAN_SIGNED_WRAP from gki_defconfig
* | db596bb60e Merge 6.12.26 into android16-6.12-lts
|\|
| * c72e4daa7a Linux 6.12.26
| * 6b9ebcbd31 mq-deadline: don't call req_get_ioprio from the I/O completion handler
| * ccc4e973fd arm64: dts: ti: k3-j784s4-j742s2-main-common: Correct the GICD size
| * 4b814a1c0c crypto: Kconfig - Select LIB generic option
| * ab5281d21e usb: typec: class: Unlocked on error in typec_register_partner()
| * ff4226252c objtool: Silence more KCOV warnings, part 2
| * 4dc5c03fbd objtool: Ignore end-of-section jumps for KCOV/GCOV
| * 1b7647efad usb: xhci: Fix Short Packet handling rework ignoring errors
| * 1042d22942 nvme: fixup scan failure for non-ANA multipath controllers
| * 8bfe4f02b6 MIPS: cm: Fix warning if MIPS_CM is disabled
| * 62bf68561d media: i2c: imx214: Fix uninitialized variable in imx214_set_ctrl()
| * 67727c5764 crypto: lib/Kconfig - Hide arch options from user
| * 4833d0a92b iommu: Handle race with default domain setup
| * 49d628cb24 net: dsa: mv88e6xxx: enable STU methods for 6320 family
| * ff83998b6f net: dsa: mv88e6xxx: enable .port_set_policy() for 6320 family
| * 7dd0c1b86e net: dsa: mv88e6xxx: enable PVT for 6321 switch
| * f4106753ae net: dsa: mv88e6xxx: fix atu_move_port_mask for 6341 family
| * 324fd0ba93 Revert "net: dsa: mv88e6xxx: fix internal PHYs for 6320 family"
| * 40966fc993 usb: typec: class: Invalidate USB device pointers on partner unregistration
| * 45314999f9 ext4: goto right label 'out_mmap_sem' in ext4_setattr()
| * 9f609f04c2 comedi: jr3_pci: Fix synchronous deletion of timer
| * 33e131a104 vmxnet3: Fix malformed packet sizing in vmxnet3_process_xdp
| * de7c24febd usb: typec: class: Fix NULL pointer access
| * 543e0f8765 selftests/bpf: Adjust data size to have ETH_HLEN
| * a9b0b9421e selftests/bpf: check program redirect in xdp_cpumap_attach
| * b84e7bc488 selftests/bpf: make xdp_cpumap_attach keep redirect prog attached
| * f8ed4bfb03 selftests/bpf: fix bpf_map_redirect call for cpu map test
| * 94d9c3366e xfs: flush inodegc before swapon
| * d6989af0cb xfs: rename xfs_iomap_swapfile_activate to xfs_vm_swap_activate
| * 8185e3ba71 xfs: Do not allow norecovery mount with quotacheck
| * 94c5584f36 xfs: do not check NEEDSREPAIR if ro,norecovery mount.
| * 2b344e779d driver core: fix potential NULL pointer dereference in dev_uevent()
| * 4f43c1bf2b driver core: introduce device_set_driver() helper
| * bfc66c4c28 Revert "drivers: core: synchronize really_probe() and dev_uevent()"
| * 185d376875 spi: spi-imx: Add check for spi_imx_setupxfer()
| * 54cbce4fe0 drm/amdgpu: Use the right function for hdp flush
| * 0fd149c262 drm/amdgpu: use a dummy owner for sysfs triggered cleaner shaders v4
| * 387461fba3 md/raid1: Add check for missing source disk in process_checks()
| * cd0d49958c x86/cpu: Add CPU model number for Bartlett Lake CPUs with Raptor Cove cores
| * 3027e5d811 ubsan: Fix panic from test_ubsan_out_of_bounds
| * 33903ad627 spi: tegra210-quad: add rate limiting and simplify timeout error message
| * 1b4cf6873a spi: tegra210-quad: use WARN_ON_ONCE instead of WARN_ON for timeouts
| * 8f805b3746 ksmbd: fix WARNING "do not call blocking ops when !TASK_RUNNING"
| * c9ffbc0792 riscv: Provide all alternative macros all the time
| * d53b2d49a8 iomap: skip unnecessary ifs_block_is_uptodate check
| * 2ef6eea2ef netfs: Only create /proc/fs/netfs with CONFIG_PROC_FS
| * 2d097dc242 x86/i8253: Call clockevent_i8253_disable() with interrupts disabled
| * 40216dc239 ASoC: fsl_asrc_dma: get codec or cpu dai from backend
| * 0f9802f174 scsi: pm80xx: Set phy_attached to zero when device is gone
| * acf1610d8b scsi: ufs: exynos: gs101: Put UFS device in reset on .suspend()
| * b7a05edb28 scsi: ufs: exynos: Move phy calls to .exit() callback
| * c0724ac138 scsi: ufs: exynos: Enable PRDT pre-fetching with UFSHCD_CAP_CRYPTO
| * 09c7a06928 scsi: ufs: exynos: Ensure pre_link() executes before exynos_ufs_phy_init()
| * 731047980d scsi: hisi_sas: Fix I/O errors caused by hardware port ID changes
| * b626bc3c1d ext4: make block validity check resistent to sb bh corruption
| * b14d986413 iommu: Clear iommu-dma ops on cleanup
| * 71c3d43c8f cifs: Fix querying of WSL CHR and BLK reparse points over SMB1
| * 9f8eeac3a6 timekeeping: Add a lockdep override in tick_freeze()
| * 1776d6d019 cifs: Fix encoding of SMB1 Session Setup Kerberos Request in non-UNICODE mode
| * f4cb2c042a nvmet-fc: put ref when assoc->del_work is already scheduled
| * 9635d486b6 nvmet-fc: take tgtport reference only once
| * bb4b487bbd x86/bugs: Don't fill RSB on context switch with eIBRS
| * 3b4fc0785a x86/bugs: Don't fill RSB on VMEXIT with eIBRS+retpoline
| * 5c41b7913f x86/bugs: Use SBPB in write_ibpb() if applicable
| * 6f3e9b2566 selftests/mincore: Allow read-ahead pages to reach the end of the file
| * f1e28d46a0 x86/xen: disable CPU idle and frequency drivers for PVH dom0
| * 5e58b93a12 gpiolib: of: Move Atmel HSMCI quirk up out of the regulator comment
| * fecf44d473 objtool: Stop UNRET validation on UD2
| * ee5521176a nvme: multipath: fix return value of nvme_available_path
| * b9c89c97d7 nvme: re-read ANA log page after ns scan completes
| * 5f3f3087a2 drm/xe/xe3lpg: Apply Wa_14022293748, Wa_22019794406
| * bbf2d06052 drm/amdgpu: Increase KIQ invalidate_tlbs timeout
| * bd12979c19 ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls
| * bff38d184b ACPI: EC: Set ec_no_wakeup for Lenovo Go S
| * 24ede35eb2 nvme: requeue namespace scan on missed AENs
| * 781c870bdc xen: Change xen-acpi-processor dom0 dependency
| * 90dc6c1e3b perf/core: Fix WARN_ON(!ctx) in __free_event() for partial init
| * d6b66c20d5 selftests: ublk: fix test_stripe_04
| * a4e99cd415 cgroup/cpuset: Don't allow creation of local partition over a remote one
| * daed646d3c KVM: s390: Don't use %pK through debug printing
| * 5e7c90294e KVM: s390: Don't use %pK through tracepoints
| * c6c8afdcf8 sched/isolation: Make CONFIG_CPU_ISOLATION depend on CONFIG_SMP
| * e5902d7ec7 kbuild: add dependency from vmlinux to sorttable
| * 3568fd9e44 io_uring: always do atomic put from iowq
| * 2dc0e5ceb3 rtc: pcf85063: do a SW reset if POR failed
| * 18296b5951 9p/trans_fd: mark concurrent read and writes to p9_conn->err
| * c548f95688 9p/net: fix improper handling of bogus negative read/write replies
| * a3b8d8cf51 ntb_hw_amd: Add NTB PCI ID for new gen CPU
| * b5f8b03af5 ntb: reduce stack usage in idt_scan_mws
| * 47ab2caba4 qibfs: fix _another_ leak
| * 69578c7d02 objtool, lkdtm: Obfuscate the do_nothing() pointer
| * 03bb66ede7 objtool, regulator: rk808: Remove potential undefined behavior in rk806_set_mode_dcdc()
| * 777e6735fe objtool, ASoC: codecs: wcd934x: Remove potential undefined behavior in wcd934x_slim_irq_handler()
| * 0485bdf88f objtool, panic: Disable SMAP in __stack_chk_fail()
| * 8b4f2b6389 objtool: Silence more KCOV warnings
| * da780c4a07 um: work around sched_yield not yielding in time-travel mode
| * 0a205fdbb3 thunderbolt: Scan retimers after device router has been enumerated
| * 7fb9a9d2e3 usb: host: xhci-plat: mvebu: use ->quirks instead of ->init_quirk() func
| * 052fb65335 usb: gadget: aspeed: Add NULL pointer check in ast_vhub_init_dev()
| * 2c97354037 phy: rockchip: usbdp: Avoid call hpd_event_trigger in dp_phy_init
| * 9ff59cb815 usb: xhci: Avoid Stop Endpoint retry loop if the endpoint seems Running
| * 2ef4b0e911 dmaengine: dmatest: Fix dmatest waiting less when interrupted
| * 69bb5d420d i3c: master: svc: Add support for Nuvoton npcm845 i3c
| * 635be13606 xhci: Handle spurious events on Etron host isoc enpoints
| * 16a7a8e6c4 usb: xhci: Fix isochronous Ring Underrun/Overrun event handling
| * cbfa55bda1 usb: xhci: Complete 'error mid TD' transfers when handling Missed Service
| * 66046b586c sound/virtio: Fix cancel_sync warnings on uninitialized work_structs
| * f045fd7d46 usb: dwc3: gadget: Avoid using reserved endpoints on Intel Merrifield
| * 2ecae00138 usb: dwc3: gadget: Refactor loop to avoid NULL endpoints
| * 8a5e1d32c6 fs/ntfs3: Fix WARNING in ntfs_extend_initialized_size
| * 8db49e89a7 fs/ntfs3: Keep write operations atomic
| * 523bcab993 usb: host: max3421-hcd: Add missing spi_device_id table
| * 8b7b088925 mailbox: pcc: Always clear the platform ack interrupt first
| * a32ebfa7d8 mailbox: pcc: Fix the possible race in updation of chan_in_use flag
| * b817d2bfd6 bpf: Reject attaching fexit/fmod_ret to __noreturn functions
| * 4131411f42 bpf: Only fails the busy counter check in bpf_cgrp_storage_get if it creates storage
| * 46df1fe944 bpf: bpftool: Setting error code in do_loader()
| * ab57877603 s390/tty: Fix a potential memory leak bug
| * 3b3aa72636 s390/sclp: Add check for get_zeroed_page()
| * 6e026e6050 parisc: PDT: Fix missing prototype warning
| * 4139072087 clk: check for disabled clock-provider in of_clk_get_hw_from_clkspec()
| * c5c833f637 bpf: Fix deadlock between rcu_tasks_trace and event_mutex.
| * 7758e308ae bpf: Fix kmemleak warning for percpu hashmap
| * 0486de3c1b crypto: null - Use spin lock instead of mutex
| * 0195abab4a crypto: lib/Kconfig - Fix lib built-in failure when arch is modular
| * fbea0efa8a crypto: ccp - Add support for PCI device 0x1134
| * eea7d57c4a MIPS: cm: Detect CM quirks from device tree
| * 3da0371494 pinctrl: mcp23s08: Get rid of spurious level interrupts
| * d00d598027 pinctrl: renesas: rza2: Fix potential NULL pointer dereference
| * 1badc279b4 selftests/bpf: Fix stdout race condition in traffic monitor
| * caa559d3f7 USB: wdm: add annotation
| * b8bf49f3f6 USB: wdm: wdm_wwan_port_tx_complete mutex in atomic context
| * 52ae15c665 USB: wdm: close race between wdm_open and wdm_wwan_port_stop
| * eb4973cf6b USB: wdm: handle IO errors in wdm_wwan_port_start
| * 3e52ae347e USB: VLI disk crashes if LPM is used
| * d85b7af3bd usb: quirks: Add delay init quirk for SanDisk 3.2Gen1 Flash Drive
| * 9924ee1bcd usb: quirks: add DELAY_INIT quirk for Silicon Motion Flash Drive
| * 694fdc6a9c usb: dwc3: xilinx: Prevent spike in reset signal
| * 52a7c9d930 usb: dwc3: gadget: check that event count does not exceed event buffer length
| * 17c3984a44 USB: OHCI: Add quirk for LS7A OHCI controller (rev 0x02)
| * 7fb632a131 usb: chipidea: ci_hdrc_imx: implement usb_phy_init() error handling
| * c99ace5965 usb: chipidea: ci_hdrc_imx: fix call balance of regulator routines
| * 887902ca73 usb: chipidea: ci_hdrc_imx: fix usbmisc handling
| * 74cd6e408a usb: cdns3: Fix deadlock when using NCM gadget
| * bce3055b08 usb: xhci: Fix invalid pointer dereference in Etron workaround
| * 1777714865 xhci: Limit time spent with xHC interrupts disabled during bus resume
| * 54c66c7030 USB: serial: simple: add OWON HDS200 series oscilloscope support
| * 2eff976819 USB: serial: option: add Sierra Wireless EM9291
| * ea0d806b94 USB: serial: ftdi_sio: add support for Abacus Electrics Optical Probe
| * 5d29f884fe serial: sifive: lock port in startup()/shutdown() callbacks
| * f6ae572683 serial: msm: Configure correct working mode before starting earlycon
| * 6f021bc008 tty: Require CAP_SYS_ADMIN for all usages of TIOCL_SELMOUSEREPORT
| * f650009358 firmware: stratix10-svc: Add of_platform_default_populate()
| * 4fb75c0ccc misc: microchip: pci1xxxx: Fix incorrect IRQ status handling during ack
| * 12cc2193f2 misc: microchip: pci1xxxx: Fix Kernel panic during IRQ handler registration
| * 3670dee376 char: misc: register chrdev region with all possible minors
| * 26df754de5 KVM: x86: Take irqfds.lock when adding/deleting IRQ bypass producer
| * b5de7ac74f KVM: x86: Reset IRTE to host control if *new* route isn't postable
| * a22fe6f843 KVM: x86: Explicitly treat routing entry type changes as changes
| * 3e243378f2 mei: vsc: Fix fortify-panic caused by invalid counted_by() use
| * 34fafded1c mei: me: add panther lake H DID
| * 1f439fe4d8 scsi: Improve CDL control
| * b39bb3b4eb USB: storage: quirk for ADATA Portable HDD CH94
| * 40554c0f74 ata: libata-scsi: Fix ata_msense_control_ata_feature()
| * aa5778d06a ata: libata-scsi: Fix ata_mselect_control_ata_feature() return type
| * ef2d6c6346 ata: libata-scsi: Improve CDL control
| * df1a5d5c61 mcb: fix a double free bug in chameleon_parse_gdd()
| * 4c5f6925e2 cxl/core/regs.c: Skip Memory Space Enable check for RCD and RCH Ports
| * f3cd533c3a KVM: SVM: Allocate IR data using atomic allocation
| * 7a8a6b627f io_uring: fix 'sync' handling of io_fallback_tw()
| * 74d9e20187 LoongArch: KVM: Fix PMU pass-through issue if VM exits to host finally
| * be83fd71ac LoongArch: KVM: Fully clear some CSRs when VM reboot
| * 3b7f341eee LoongArch: Remove a bogus reference to ZONE_DMA
| * 51424fd171 LoongArch: Return NULL from huge_pte_offset() for invalid PMD
| * 93b7872d33 LoongArch: Handle fp, lsx, lasx and lbt assembly symbols
| * 3939d6f29d irqchip/gic-v2m: Prevent use after free of gicv2m_get_fwnode()
| * 140f05cbbf x86/insn: Fix CTEST instruction decoding
| * 1ae30272b9 drm/amd/display: Force full update in gpu reset
| * 3ff83378b6 drm/amd/display: Fix gpu reset in multidisplay config
| * 92b58c671b drm: panel: jd9365da: fix reset signal polarity in unprepare
| * ea532ba5e1 rust: firmware: Use `ffi::c_char` type in `FwFunc`
| * 1909540037 scsi: mpi3mr: Fix pending I/O counter
| * 9c31ac7819 net: phy: microchip: force IRQ polling mode for lan88xx
| * c2a6b4d78c net: selftests: initialize TCP header and skb payload with zero
| * d6a9c4e6f9 xen-netfront: handle NULL returned by xdp_convert_buff_to_frame()
| * 64b816a6c4 crypto: atmel-sha204a - Set hwrng quality to lowest possible
| * 28401a63c0 sched_ext: Use kvzalloc for large exit_dump allocation
| * 30c0d6e778 virtio_console: fix missing byte order handling for cols and rows
| * e17bc10bf3 netfilter: fib: avoid lookup if socket is available
| * f33b678543 KVM: SVM: Disable AVIC on SNP-enabled system without HvInUseWrAllowed feature
| * 9b34dffcd9 LoongArch: Make do_xyz() exception handlers more robust
| * a556bb5178 LoongArch: Make regs_irqs_disabled() more clear
| * 08bbdcb35c LoongArch: Select ARCH_USE_MEMTEST
| * 8d37031464 perf/x86: Fix non-sampling (counting) events on certain x86 platforms
| * 955f9ede52 bpf: Add namespace to BPF internal symbols
| * 3decda1a3c splice: remove duplicate noinline from pipe_clear_nowait
| * bcf6d3158c riscv: uprobes: Add missing fence.i after building the XOL buffer
| * 4715ab8435 riscv: Replace function-like macro by static inline function
| * e22010c3b8 iommu/amd: Return an error if vCPU affinity is set for non-vCPU IRTE
| * 7f24ea6a46 block: never reduce ra_pages in blk_apply_bdi_limits
| * 66d7702b42 pds_core: make wait_context part of q_info
| * ff207e83da pds_core: Remove unnecessary check in pds_client_adminq_cmd()
| * 6702f5c6b2 pds_core: handle unsupported PDS_CORE_CMD_FW_CONTROL result
| * 2982e07ad7 pds_core: Prevent possible adminq overflow/stuck condition
| * dd6c299390 net: dsa: mt7530: sync driver-specific behavior of MT7531 variants
| * c6f0350441 net_sched: hfsc: Fix a potential UAF in hfsc_dequeue() too
| * 86cd4641c7 net_sched: hfsc: Fix a UAF vulnerability in class handling
| * a61afd5482 fix a couple of races in MNT_TREE_BENEATH handling by do_move_mount()
| * 4fb743ee21 net: ethernet: mtk_eth_soc: net: revise NETSYSv3 hardware configuration
| * 0ceef62a32 tipc: fix NULL pointer dereference in tipc_mon_reinit_self()
| * 41143e7105 net: phy: leds: fix memory leak
| * 3340654bbf net: lwtunnel: disable BHs when required
| * eeab661803 scsi: ufs: core: Add NULL check in ufshcd_mcq_compl_pending_transfer()
| * 29daa63f2c scsi: core: Clear flags for scsi_cmnd that did not complete
| * fdd2a03561 net/mlx5: Move ttc allocation after switch case to prevent leaks
| * 0b682680b1 net/mlx5: Fix null-ptr-deref in mlx5_create_{inner_,}ttc_table()
| * ef258a15e7 vhost-scsi: Fix vhost_scsi_send_status()
| * 0ac4643bf2 vhost-scsi: Fix vhost_scsi_send_bad_target()
| * 461c258ba7 vhost-scsi: Add better resource allocation failure handling
| * 5d92e582d1 cgroup/cpuset-v1: Add missing support for cpuset_v2_mode
| * 9a447f748f btrfs: zoned: return EIO on RAID1 block group write pointer mismatch
| * c8a0c38beb btrfs: avoid page_lockend underflow in btrfs_punch_hole_lock_range()
| * 6c1c665805 cpufreq: fix compile-test defaults
| * ef56c130f6 cpufreq: Do not enable by default during compile testing
| * dbe413a8cd cpufreq: cppc: Fix invalid return value in .get() callback
| * 7d002f5914 scsi: ufs: mcq: Add NULL check in ufshcd_mcq_abort()
| * 28fbd7b13b cpufreq: scpi: Fix null-ptr-deref in scpi_cpufreq_get_rate()
| * 7ccfadfb25 cpufreq: scmi: Fix null-ptr-deref in scmi_cpufreq_get_rate()
| * fbdba5f374 cpufreq: apple-soc: Fix null-ptr-deref in apple_soc_cpufreq_get_rate()
| * 16c8aa5de1 dma/contiguous: avoid warning about unused size_bytes
| * 40bf7f560c cpufreq: sun50i: prevent out-of-bounds access
| * aef37505c4 ceph: Fix incorrect flush end position calculation
| * 984830d902 lib/Kconfig.ubsan: Remove 'default UBSAN' from UBSAN_INTEGER_WRAP
| * b26ac56370 drm/amd/display/dml2: use vzalloc rather than kzalloc
| * 50ec8c2428 drm/amd/display: Fix unnecessary cast warnings from checkpatch
| * 0fdb612c20 drm/xe/bmg: Add one additional PCI ID
| * c187aaa9e7 net/niu: Niu requires MSIX ENTRY_DATA fields touch before entry reads
| * 869749e481 scsi: ufs: exynos: Disable iocc if dma-coherent property isn't set
| * 56f3327cdd scsi: ufs: exynos: Move UFS shareability value to drvdata
| * 661380d982 scsi: ufs: exynos: Add gs101_ufs_drv_init() hook and enable WriteBooster
| * 0e76176edc scsi: ufs: exynos: Remove superfluous function parameter
| * ffcdfaecd4 scsi: ufs: exynos: Remove empty drv_init method
| * 1aec4d14cf ksmbd: fix use-after-free in __smb2_lease_break_noti()
| * 0fc403192d ksmbd: browse interfaces list on FSCTL_QUERY_INTERFACE_INFO IOCTL
| * 8d2c1acc88 ksmbd: add netdev-up/down event debug print
| * 0772765ac8 ksmbd: use __GFP_RETRY_MAYFAIL
| * 60cb4dfcf7 accel/ivpu: Fix the NPU's DPU frequency calculation
| * 27fcf64781 accel/ivpu: Add auto selection logic for job scheduler
| * 35ba7b2d4d PCI/MSI: Add an option to write MSIX ENTRY_DATA before any reads
| * 46d3575209 PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI backends
| * aad1246896 PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag
| * 8fe536f102 scsi: ufs: qcom: fix dev reference leaked through of_qcom_ice_get
| * a122b3b1f5 of: resolver: Fix device node refcount leakage in of_resolve_phandles()
| * 05576e1304 of: resolver: Simplify of_resolve_phandles() using __free()
| * 56ddf0023b arm64: dts: ti: k3-j784s4-j742s2-main-common: Fix serdes_ln_ctrl reg-masks
| * 107b05f540 arm64: dts: ti: Refactor J784s4 SoC files to a common file
| * bde067b82a iio: adc: ad7768-1: Fix conversion result sign
| * 68565706b5 iio: adc: ad7768-1: Move setting of val a bit later to avoid unnecessary return value check
| * 8f229785c5 net: dsa: mv88e6xxx: fix VTU methods for 6320 family
| * 2afa5ea7c4 block: make sure ->nr_integrity_segments is cloned in blk_rq_prep_clone
| * ed7535b141 block: remove the ioprio field from struct request
| * 3e12e8c273 block: remove the write_hint field from struct request
| * 575601d08a media: ov08x40: Add missing ov08x40_identify_module() call on stream-start
| * 9c00d54454 media: ov08x40: Move ov08x40_identify_module() function up
| * fc96a720d8 media: i2c: imx214: Fix link frequency validation
| * 5a5ab62e4a media: i2c: imx214: Check number of lanes from device tree
| * 2a60b6bef4 media: i2c: imx214: Replace register addresses with macros
| * 694d85794a media: i2c: imx214: Convert to CCI register access helpers
| * a9aa210989 media: i2c: imx214: Simplify with dev_err_probe()
| * d3a38834b2 media: i2c: imx214: Use subdev active state
| * 9d5752b853 PM: EM: Address RCU-related sparse warnings
| * db3b3964af PM: EM: use kfree_rcu() to simplify the code
| * 27ce35d80a mmc: sdhci-msm: fix dev reference leaked through of_qcom_ice_get
| * 311a651fbb soc: qcom: ice: introduce devm_of_qcom_ice_get
| * 1c9798bf81 mm/vmscan: don't try to reclaim hwpoison folio
| * 0312735402 tracing: Verify event formats that have "%*p.."
| * 0b603e7759 tracing: Add __print_dynamic_array() helper
| * e62c31802d module: sign with sha512 instead of sha1 by default
* | a4f1e3a7a1 Revert "bpf: track changes_pkt_data property for global functions"
* | d9ca1c7ed5 Revert "selftests/bpf: test for changing packet data from global functions"
* | c7d660d083 Revert "bpf: check changes_pkt_data property for extension programs"
* | 551fd048d4 Revert "selftests/bpf: freplace tests for tracking of changes_packet_data"
* | 9876f5d506 Revert "selftests/bpf: validate that tail call invalidates packet pointers"
* | 40e8b9169b Revert "bpf: fix null dereference when computing changes_pkt_data of prog w/o subprogs"
* | c63e815d06 Revert "selftests/bpf: extend changes_pkt_data with cases w/o subprograms"
* | b5fe9d591c Revert "driver core: bus: add irq_get_affinity callback to bus_type"
* | d22fe9eaa4 Revert "blk-mq: introduce blk_mq_map_hw_queues"
* | cbab53e120 Revert "scsi: replace blk_mq_pci_map_queues with blk_mq_map_hw_queues"
* | 38f1a2afb6 Revert "scsi: smartpqi: Use is_kdump_kernel() to check for kdump"
* | ee0d567613 Merge 6.12.25 into android16-6.12-lts
|\|
| * ef4999852d Linux 6.12.25
| * f78507c1ef block: make struct rq_list available for !CONFIG_BLOCK
| * 473c534735 selftests/bpf: extend changes_pkt_data with cases w/o subprograms
| * f0946dcccb bpf: fix null dereference when computing changes_pkt_data of prog w/o subprogs
| * 1062b7612c selftests/bpf: validate that tail call invalidates packet pointers
| * d0e94a5bb9 selftests/bpf: freplace tests for tracking of changes_packet_data
| * 3846e2bea5 bpf: check changes_pkt_data property for extension programs
| * fa1fbb67e0 selftests/bpf: test for changing packet data from global functions
| * 1d572c6048 bpf: track changes_pkt_data property for global functions
| * d30b9c5950 bpf: add find_containing_subprog() utility function
| * ab7edf42ce wifi: ath12k: Fix invalid entry fetch in ath12k_dp_mon_srng_process
| * cec26d6bf3 MIPS: ds1287: Match ds1287_set_base_clock() function types
| * 305dd911de MIPS: cevt-ds1287: Add missing ds1287.h include
| * 21c6a0ed6f MIPS: dec: Declare which_prom() as static
| * 45e19beb96 Revert "wifi: ath12k: Fix invalid entry fetch in ath12k_dp_mon_srng_process"
| * b906c1ad25 mm/vma: add give_up_on_oom option on modify/merge, use in uffd release
| * 7e2d224939 block: don't reorder requests in blk_add_rq_to_plug
| * 2ad0f19a4e block: add a rq_list type
| * 5b34f40cda block: remove rq_list_move
| * 3dd1af8ce3 nvmet-fc: Remove unused functions
| * 29b2d6f53c drm/amd/display: Temporarily disable hostvm on DCN31
| * 628e6c4521 LoongArch: Eliminate superfluous get_numa_distances_cnt()
| * 66d182770f efi/libstub: Bump up EFI_MMAP_NR_SLACK_SLOTS to 32
| * 59a30b981a misc: pci_endpoint_test: Fix 'irq_type' to convey the correct type
| * 0557e70e2a misc: pci_endpoint_test: Avoid issue of interrupts remaining after request_irq error
| * deee01acc6 selftests/bpf: Fix raw_tp null handling test
| * e2a9f73ee4 md: fix mddev uaf while iterating all_mddevs list
| * 6ea2e8743e platform/x86: msi-wmi-platform: Workaround a ACPI firmware bug
| * 1c9e272f98 platform/x86: msi-wmi-platform: Rename "data" variable
| * 3802df8552 kbuild: Add '-fno-builtin-wcslen'
| * 0f1ee79b0f scripts: generate_rust_analyzer: Add ffi crate
| * c1a485c46c cpufreq: Reference count policy in cpufreq_update_limits()
| * 686d8f7b59 arm64/boot: Enable EL2 requirements for FEAT_PMUv3p9
| * 14eacc808e arm64/sysreg: Add register fields for HFGWTR2_EL2
| * 2ef32d984d arm64/sysreg: Add register fields for HFGRTR2_EL2
| * c415127454 arm64/sysreg: Add register fields for HFGITR2_EL2
| * 051eccf717 arm64/sysreg: Add register fields for HDFGWTR2_EL2
| * 7403602616 arm64/sysreg: Add register fields for HDFGRTR2_EL2
| * e1a6acacf1 arm64/sysreg: Update register fields for ID_AA64MMFR0_EL1
| * effb4d79b3 drm/mgag200: Fix value in <VBLKSTR> register
| * 7f21bfd6fc drm/amdgpu: fix warning of drm_mm_clean
| * a43e53e310 drm/xe: Set LRC addresses before guc load
| * 65dc4e3d5b drm/xe/userptr: fix notifier vs folio deadlock
| * e4ed75e974 drm/xe/dma_buf: stop relying on placement in unmap
| * e97bf44115 drm/amd/display: Add HP Probook 445 and 465 to the quirk list for eDP on DP1
| * a5c9107a3e drm/amd/display: Protect FPU in dml2_init()/dml21_init()
| * 9cb744fbee drm/amd/display: Do not enable Replay and PSR while VRR is on in amdgpu_dm_commit_planes()
| * a53d959fe6 drm/amdgpu: immediately use GTT for new allocations
| * 4b171d4cbf drm/i915/gvt: fix unterminated-string-initialization warning
| * 28477f701b drm/xe: Fix an out-of-bounds shift when invalidating TLB
| * b2c11fea26 drm/sti: remove duplicate object names
| * c90b95e12e drm/imagination: take paired job reference
| * 490c30fd55 drm/imagination: fix firmware memory leaks
| * 6e2c805996 drm/nouveau: prime: fix ttm_bo_delayed_delete oops
| * 91b646a0b2 drm/amdgpu/dma_buf: fix page_link check
| * 228e98e202 drm/amdgpu/mes11: optimize MES pipe FW version fetching
| * 596284026c drm/amd/display: Protect FPU in dml21_copy()
| * 74d6fba60f drm/amd/display: Protect FPU in dml2_validate()/dml21_validate()
| * fe19e04cd9 drm/amd/display: Add HP Elitebook 645 to the quirk list for eDP on DP1
| * 2ac5f466f6 drm/xe: Use local fence in error path of xe_migrate_clear
| * a37e01fe60 drm/i915/vrr: Add vrr.vsync_{start, end} in vrr_params_changed
| * 2b00b32e61 drm/amdgpu/mes12: optimize MES pipe FW version fetching
| * 42f7b5d12c drm/amd/pm/powerplay/hwmgr/vega20_thermal: Prevent division by zero
| * fb803d4bb9 drm/amd/pm/swsmu/smu13/smu_v13_0: Prevent division by zero
| * 8e9c4f8d19 drm/amd/pm/powerplay/hwmgr/smu7_thermal: Prevent division by zero
| * 63a1504001 drm/amd/pm/smu11: Prevent division by zero
| * bd4d90adbc drm/amd/pm/powerplay: Prevent division by zero
| * 6413fed016 drm/amd/pm: Prevent division by zero
| * 2a2b7b6f90 drm/amd/display: Increase vblank offdelay for PSR panels
| * 776253d981 drm/amd/display: Actually do immediate vblank disable
| * b542559343 drm/amd: Handle being compiled without SI or CIK support better
| * 0363c03672 drm/amd/display: prevent hang on link training fail
| * 531d463364 drm/amdgpu: Prefer shadow rom when available
| * 68b591d64d drm/msm/a6xx: Fix stale rpmh votes from GPU
| * 359f6cffae drm/msm/dsi: Add check for devm_kstrdup()
| * 31efeca2ef drm/ast: Fix ast_dp connection status
| * b33386fabb drm/repaper: fix integer overflows in repeat functions
| * de67afd688 perf/x86/intel/uncore: Fix the scale of IIO free running counters on SPR
| * c5e1570322 perf/x86/intel/uncore: Fix the scale of IIO free running counters on ICX
| * 8d19c4a3b8 perf/x86/intel/uncore: Fix the scale of IIO free running counters on SNR
| * 56fdbc0912 perf/x86/intel: Allow to update user space GPRs from PEBS records
| * c7b43f09dd platform/x86: amd: pmf: Fix STT limits
| * 42ded70c1a RAS/AMD/FMPM: Get masked address
| * b2748ae609 RAS/AMD/ATL: Include row[13] bit in row retirement
| * d23fd7a539 RDMA/cma: Fix workqueue crash in cma_netevent_work_handler
| * 6dd9ede5c5 scsi: ufs: exynos: Ensure consistent phy reference counts
| * 80b2ad1215 scsi: megaraid_sas: Block zero-length ATA VPD inquiry
| * 6360e4f850 x86/boot/sev: Avoid shared GHCB page for early memory acceptance
| * 519718a338 x86/cpu/amd: Fix workaround for erratum 1054
| * a66b6b07d0 x86/microcode/AMD: Extend the SHA check to Zen5, block loading of any unreleased standalone Zen5 microcode patches
| * c3e31d6139 virtiofs: add filesystem context source name check
| * 5683eaf4ee tracing: Fix filter string testing
| * 5f878db827 string: Add load_unaligned_zeropad() code path to sized_strscpy()
| * 9042efa7f1 smb3 client: fix open hardlink on deferred close file error
| * 8baa747193 slab: ensure slab->obj_exts is clear in a newly allocated slab page
| * 824b7ad9cf selftests/mm: generate a temporary mountpoint for cgroup filesystem
| * 3f1c81ae13 riscv: Avoid fortify warning in syscall_get_arguments()
| * f761eeefd5 Revert "smb: client: fix TCP timers deadlock after rmmod"
| * 2aa10d26b6 Revert "smb: client: Fix netns refcount imbalance causing leaks and use-after-free"
| * 2a879da5c3 ksmbd: fix the warning from __kernel_write_iter
| * 396d6e4485 ksmbd: Prevent integer overflow in calculation of deadtime
| * d54ab1520d ksmbd: fix use-after-free in smb_break_all_levII_oplock()
| * 6e30c0e102 ksmbd: Fix dangling pointer in krb_authenticate
| * b9e3579213 ovl: don't allow datadir only
| * 029458063e mm: fix apply_to_existing_page_range()
| * 8338e0723f mm: fix filemap_get_folios_contig returning batches of identical folios
| * b609a60e31 mm/gup: fix wrongly calculated returned value in fault_in_safe_writeable()
| * 4f34d6f979 mm/compaction: fix bug in hugetlb handling pathway
| * c45ba83935 loop: LOOP_SET_FD: send uevents for partitions
| * 694521cb3f loop: properly send KOBJ_CHANGED uevent for disk device
| * 56dfffea9f isofs: Prevent the use of too small fid
| * 1355b5ca47 i2c: cros-ec-tunnel: defer probe if parent EC is not present
| * 84e8719c08 hfs/hfsplus: fix slab-out-of-bounds in hfs_bnode_read_key
| * 8132682856 crypto: caam/qi - Fix drv_ctx refcount bug
| * f73731983f cpufreq/sched: Explicitly synchronize limits_changed flag handling
| * d3995ff08c btrfs: correctly escape subvol in btrfs_show_options()
| * b62b1406bb Bluetooth: vhci: Avoid needless snprintf() calls
| * 569bbe2fc7 Bluetooth: l2cap: Process valid commands in too long frame
| * bde7abe8cf drm/msm/a6xx+: Don't let IB_SIZE overflow
| * 26d5e2377f ftrace: fix incorrect hash size in register_ftrace_direct()
| * 2665a3b1ab i2c: atr: Fix wrong include
| * a7fce086f6 nfsd: decrease sc_count directly if fail to queue dl_recall
| * 33c0f51f1a nfs: add missing selections of CONFIG_CRC32
| * e22c8b99c8 dma-buf/sw_sync: Decrement refcount on error in sw_sync_ioctl_get_deadline()
| * 81a566a920 drm/v3d: Fix Indirect Dispatch configuration for V3D 7.1.6 and later
| * c38a005e6e block: integrity: Do not call set_page_dirty_lock()
| * db42e6f28b asus-laptop: Fix an uninitialized variable
| * c0ce01e0ff ASoC: qcom: Fix sc7280 lpass potential buffer overflow
| * 2612d55482 ASoC: Intel: sof_sdw: Add quirk for Asus Zenbook S16
| * 2b72a9e327 ASoC: codecs:lpass-wsa-macro: Fix logic of enabling vi channels
| * 43da9eae1b ASoC: codecs:lpass-wsa-macro: Fix vi feedback rate
| * b2e56391f6 ASoC: fsl: fsl_qmc_audio: Reset audio data pointers on TRIGGER_START event
| * f2e2926e9e Revert "PCI: Avoid reset when disabled via sysfs"
| * 28da4dd840 writeback: fix false warning in inode_to_wb()
| * c1aa71716a rust: kbuild: use `pound` to support GNU Make < 4.3
| * baf02dd01e rust: disable `clippy::needless_continue`
| * 4c353fca62 rust: kasan/kbuild: fix missing flags on first build
| * e8980258c0 objtool/rust: add one more `noreturn` Rust function for Rust 1.86.0
| * 00a1bdb157 cpufreq/sched: Fix the usage of CPUFREQ_NEED_UPDATE_LIMITS
| * 27e0143f4d riscv: KGDB: Remove ".option norvc/.option rvc" for kgdb_compiled_break
| * 999bd7bb21 riscv: KGDB: Do not inline arch_kgdb_breakpoint()
| * 8533450211 kunit: qemu_configs: SH: Respect kunit cmdline
| * 3583394b85 riscv: module: Allocate PLT entries for R_RISCV_PLT32
| * a068ea0000 riscv: module: Fix out-of-bounds relocation access
| * 1d5a8e1fec riscv: Properly export reserved regions in /proc/iomem
| * c8c3f8e7a7 riscv: Use kvmalloc_array on relocation_hashtable
| * cfdcd213dd net: ethernet: mtk_eth_soc: revise QDMA packet scheduler settings
| * 7ec0265710 net: ethernet: mtk_eth_soc: correct the max weight of the queue limit for 100Mbps
| * b524a14ec1 net: ethernet: mtk_eth_soc: reapply mdc divider on reset
| * da5035d7ae net: ti: icss-iep: Fix possible NULL pointer dereference for perout request
| * d028c6a805 net: ti: icss-iep: Add phase offset configuration for perout signal
| * 352e5a6709 net: ti: icss-iep: Add pwidth configuration for perout signal
| * 62b795c22d ptp: ocp: fix start time alignment in ptp_ocp_signal_set
| * a3e4b6ad5f net: dsa: avoid refcount warnings when ds->ops->tag_8021q_vlan_del() fails
| * 5c8066fbdb net: dsa: free routing table on probe failure
| * 8fcc1e6f80 net: dsa: clean up FDB, MDB, VLAN entries on unbind
| * 9ee6d3a368 net: dsa: mv88e6xxx: fix -ENOENT when deleting VLANs and MST is unsupported
| * 3665695e35 net: dsa: mv88e6xxx: avoid unregistering devlink regions which were never registered
| * 635863d93d net: txgbe: fix memory leak in txgbe_probe() error path
| * d9ecaee617 net: bridge: switchdev: do not notify new brentries as changed
| * ad13e95cbc net: b53: enable BPDU reception for management port
| * 1f6916c554 netlink: specs: rt-link: adjust mctp attribute naming
| * 250a2fc77a netlink: specs: rt-link: add an attr layer around alt-ifname
| * dafb6e433a cxgb4: fix memory leak in cxgb4_init_ethtool_filters() error path
| * cb74d5b837 ata: libata-sata: Save all fields from sense data descriptor
| * 78253d44e9 loop: stop using vfs_iter_{read,write} for buffered I/O
| * 0175902f6e loop: aio inherit the ioprio of original request
| * 21e70f694b eth: bnxt: fix missing ring index trim on error path
| * cd64ae07c4 net: ethernet: ti: am65-cpsw: fix port_np reference counting
| * 8335a3feb9 net: ngbe: fix memory leak in ngbe_probe() error path
| * 0b7d94164d can: rockchip_canfd: fix broken quirks checks
| * be80768d4f net: openvswitch: fix nested key length validation in the set() action
| * 15baba1095 netlink: specs: ovs_vport: align with C codegen capabilities
| * 41e43134dd block: fix resource leak in blk_register_queue() error path
| * 3f899bd6dd net: mctp: Set SOCK_RCU_FREE
| * 61765e1b41 ethtool: cmis_cdb: use correct rpl size in ethtool_cmis_module_poll()
| * 01ad16ddf9 pds_core: fix memory leak in pdsc_debugfs_add_qcq()
| * 45300268e5 test suite: use %zu to print size_t
| * 86d5243ea6 smc: Fix lockdep false-positive for IPPROTO_SMC.
| * 688f85d1ba dt-bindings: soc: fsl: fsl,ls1028a-reset: Fix maintainer entry
| * 724d26215e igc: add lock preventing multiple simultaneous PTM transactions
| * c15065acc1 igc: cleanup PTP module if probe fails
| * 698182f03f igc: handle the IGC_PTP_ENABLED flag correctly
| * 8058c895c7 igc: move ktime snapshot into PTM retry loop
| * b74137e277 igc: increase wait time before retrying PTM
| * f3516229cd igc: fix PTM cycle trigger logic
| * 5a3ff97d12 Revert "wifi: mac80211: Update skb's control block key in ieee80211_tx_dequeue()"
| * fa0d99648c xen: fix multicall debug feature
| * b02c2ac2f3 ipv6: add exception routes to GC list in rt6_insert_exception
| * d49798ecd2 Bluetooth: l2cap: Check encryption key size on incoming connection
| * aaf356f872 Bluetooth: btrtl: Prevent potential NULL dereference
| * 6ad0acb56b Bluetooth: hci_event: Fix sending MGMT_EV_DEVICE_FOUND for invalid address
| * 0d81bb58a2 RDMA/core: Silence oversized kvmalloc() warning
| * 0ba76fb628 ASoC: cs42l43: Reset clamp override on jack removal
| * 36e0ea1f96 ALSA: hda/realtek - Fixed ASUS platform headset Mic issue
| * c01f3741d1 ALSA: hda/realtek: Workaround for resume on Dell Venue 11 Pro 7130
| * 34875b7a5d ALSA: hda: improve bass speaker support for ASUS Zenbook UM5606WA
| * 9b019be589 ALSA: hda/cirrus_scodec_test: Don't select dependencies
| * 7060bf9100 RDMA/hns: Fix wrong maximum DMA segment size
| * 48e5aa2225 RDMA/usnic: Fix passing zero to PTR_ERR in usnic_ib_pci_probe()
| * 6104cc65fe ovl: remove unused forward declaration
| * bbad32b836 crypto: tegra - Fix IV usage for AES ECB
| * 9ebc2053b8 crypto: tegra - Do not use fixed size buffers
| * 28ec10e58d crypto: tegra - remove redundant error check on ret
| * 23fde311ea ASoC: Intel: avs: Fix null-ptr-deref in avs_component_probe()
| * dcba15ed08 ASoC: dwc: always enable/disable i2s irqs
| * eeeba7f43a md/md-bitmap: fix stats collection for external bitmaps
| * 54e106047f md/raid10: fix missing discard IO accounting
| * 7cc670e8eb scsi: smartpqi: Use is_kdump_kernel() to check for kdump
| * 5e8438fd7f scsi: replace blk_mq_pci_map_queues with blk_mq_map_hw_queues
| * fe2bdefe86 blk-mq: introduce blk_mq_map_hw_queues
| * 5ec9039702 driver core: bus: add irq_get_affinity callback to bus_type
| * 6884cb2f3b scsi: iscsi: Fix missing scsi_host_put() in error path
| * 52f224009c wifi: wl1251: fix memory leak in wl1251_tx_work
| * a8df245b5b wifi: mac80211: Purge vif txq in ieee80211_do_stop()
| * 159499c134 wifi: mac80211: Update skb's control block key in ieee80211_tx_dequeue()
| * a9682bfef2 wifi: at76c50x: fix use after free access in at76_disconnect
| * 1773fbf7c0 scsi: hisi_sas: Enable force phy when SATA disk directly connected
* | 72655c8488 Merge branch 'android16-6.12' into branch 'android16-6.12-lts'
* | a23d20a6c2 UPSTREAM: arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays
* | f56453cbd7 Merge 6.12.24 into android16-6.12-lts
|\|
| * b6efa8ce22 Linux 6.12.24
| * ae5a6a0b42 HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition
| * bdbecb2bf5 s390/cpumf: Fix double free on error in cpumf_pmu_event_init()
| * 281782d2c6 Bluetooth: hci_uart: Fix another race during initialization
| * f87626a55c media: mediatek: vcodec: mark vdec_vp9_slice_map_counts_eob_coef noinline
| * 9c03f6194e kbuild: Add '-fno-builtin-wcslen'
| * 5f494f4823 libbpf: Prevent compiler warnings/errors
| * bd6eae1f30 x86/e820: Fix handling of subpage regions when calculating nosave ranges in e820__register_nosave_regions()
| * 6a59b70fe7 nfsd: don't ignore the return code of svc_proc_register()
| * b2b18a9f68 NFSD: Fix CB_GETATTR status fix
| * 560c031896 NFSD: fix decoding in nfs4_xdr_dec_cb_getattr
| * 7005fdceff ACPI: platform-profile: Fix CFI violation when accessing sysfs files
| * 20867f0948 x86/paravirt: Move halt paravirt calls under CONFIG_PARAVIRT
| * 5d9484cd37 iommufd: Fail replace if device has not been attached
| * 6d11543bf3 iommufd: Make attach_handle generic than fault specific
| * 9ca4fe3574 arm64: errata: Add newer ARM cores to the spectre_bhb_loop_affected() lists
| * d25a240c5a thermal/drivers/mediatek/lvts: Disable Stage 3 thermal threshold
| * 0131251d93 thermal/drivers/mediatek/lvts: Disable monitor mode during suspend
| * 9580b60365 selftests: mptcp: fix incorrect fd checks in main_loop
| * 2f1b4d6725 selftests: mptcp: close fd_in before returning in main_loop
| * 0f91e4f69f sched_ext: create_dsq: Return -EEXIST on duplicate request
| * 7a30bbd36c s390: Fix linker error when -no-pie option is unavailable
| * f268ee2fbb s390/virtio_ccw: Don't allocate/assign airqs for non-existing queues
| * 05a0f9c407 s390/pci: Fix zpci_bus_is_isolated_vf() for non-VFs
| * 92ca7270fe ring-buffer: Use flush_kernel_vmap_range() over flush_dcache_folio()
| * de08212061 pinctrl: samsung: add support for eint_fltcon_offset
| * c1368383cd pinctrl: qcom: Clear latched interrupt status when changing IRQ type
| * beb9a5cb7a phy: freescale: imx8m-pcie: assert phy reset and perst in power off
| * 869202291a PCI: Fix wrong length of devres array
| * 9707d0c932 PCI: Fix reference leak in pci_register_host_bridge()
| * d69ad6e1a5 PCI: Fix reference leak in pci_alloc_child_bus()
| * e4a1d7defb PCI: pciehp: Avoid unnecessary device replacement check
| * ce9643a541 PCI: j721e: Fix the value of .linkdown_irq_regfield for J784S4
| * 71bf0769a6 PCI: brcmstb: Fix missing of_node_put() in brcm_pcie_probe()
| * 712d84459a of/irq: Fix device node refcount leakages in of_irq_init()
| * d0f25a9977 of/irq: Fix device node refcount leakage in API irq_of_parse_and_map()
| * 29cb94963c of/irq: Fix device node refcount leakages in of_irq_count()
| * 3540164c75 of/irq: Fix device node refcount leakage in API of_irq_parse_raw()
| * dc83eccc93 of/irq: Fix device node refcount leakage in API of_irq_parse_one()
| * 60faeef98b ntb: use 64-bit arithmetic for the MSI doorbell mask
| * 34baf1cfd6 net: mana: Switch to page pool for jumbo frames
| * a2acc67d61 misc: pci_endpoint_test: Fix displaying 'irq_type' after 'request_irq' error
| * e98f77f74c selftests/landlock: Add a new test for setuid()
| * 76ab50fa6e selftests/landlock: Split signal_scoping_threads tests
| * b017f2846a landlock: Prepare to add second errata
| * 332facfa80 landlock: Always allow signals between threads of the same process
| * 7dd7f87e07 landlock: Add erratum for TCP fix
| * ea980ea4d1 landlock: Add the errata interface
| * 9b0d24fa64 landlock: Move code to ease future backports
| * 7bc5c36037 KVM: x86: Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses
| * bbf821c35d KVM: x86: Explicitly zero-initialize on-stack CPUID unions
| * 99b99032a8 KVM: PPC: Enable CAP_SPAPR_TCE_VFIO on pSeries KVM guests
| * fae0a8796c KVM: Allow building irqbypass.ko as as module when kvm.ko is a module
| * 3bc2208c74 gve: handle overflow when reporting TX consumed descriptors
| * 62024ad4c5 gpio: zynq: Fix wakeup source leaks on device unbind
| * 2d66517135 gpio: tegra186: fix resource handling in ACPI probe path
| * e66fb9b4e9 ftrace: Properly merge notrace hashes
| * 1fce9574b9 ftrace: Add cond_resched() to ftrace_graph_set_hash()
| * 3e467f1c74 dt-bindings: coresight: qcom,coresight-tpdm: Fix too many 'reg'
| * 58c453801b dt-bindings: coresight: qcom,coresight-tpda: Fix too many 'reg'
| * 74f01c2ca8 dm-verity: fix prefetch-vs-suspend race
| * dd91458a84 dm-integrity: fix non-constant-time tag verification
| * ba42f98f09 dm-integrity: set ti->error on memory allocation failure
| * a1a4fdc33d dm-ebs: fix prefetch-vs-suspend race
| * 08deafddfc dlm: fix error if active rsb is not hashed
| * b77f8a17ef dlm: fix error if inactive rsb is not hashed
| * eaa7014aec crypto: ccp - Fix uAPI definitions of PSP errors
| * 5116b340cf crypto: ccp - Fix check for the primary ASP device
| * 1f9648e246 clk: qcom: gdsc: Set retain_ff before moving to HW CTRL
| * 4d6fb2a43f clk: qcom: gdsc: Capture pm_genpd_add_subdomain result code
| * 12ef07c4bf clk: qcom: gdsc: Release pm subdomains in reverse add order
| * 809e83a575 clk: qcom: clk-branch: Fix invert halt status bit check for votable clocks
| * 56c29847bc clk: renesas: r9a07g043: Fix HP clock source for RZ/Five
| * 4ed194d9bb cifs: Ensure that all non-client-specific reparse points are processed by the server
| * 2a24040597 cifs: fix integer overflow in match_server()
| * e0717385f5 cifs: avoid NULL pointer dereference in dbg call
| * 2eb6e5e094 CIFS: Propagate min offload along with other parameters from primary to secondary channels.
| * 63d71ae010 thermal/drivers/rockchip: Add missing rk3328 mapping entry
| * 474b3194c8 tracing: Do not add length to print format in synthetic events
| * 868df4eb78 tracing: fprobe events: Fix possible UAF on modules
| * a7fda1fd6d x86/xen: fix balloon target initialization for PVH dom0
| * 9e7c37fadb sctp: detect and prevent references to a freed transport in sendmsg
| * 65b259e3e0 mm/hwpoison: introduce folio_contain_hwpoisoned_page() helper
| * 1fd89407d7 mm/hugetlb: move hugetlb_sysctl_init() to the __init section
| * 73d17d48df mm/hwpoison: do not send SIGBUS to processes with recovered clean pages
| * 14936034de mm/userfaultfd: fix release hang over concurrent GUP
| * cc98577f91 mm: add missing release barrier on PGDAT_RECLAIM_LOCKED unlock
| * 2532df0a9b mm/mremap: correctly handle partial mremap() of VMA starting at 0
| * 6dd8d9440f mm: fix lazy mmu docs and usage
| * 83b6b5061e mm: make page_mapped_in_vma() hugetlb walk aware
| * 53dc6b00c0 mm/rmap: reject hugetlb folios in folio_make_device_exclusive()
| * ab0af01260 mm/damon/ops: have damon_get_folio return folio even for tail pages
* | 7e9686596c Merge 5f7f6abd92 ("net: Fix null-ptr-deref by sock_lock_init_class_and_name() and rmmod.") into android16-6.12-lts
|\|
| * 5f7f6abd92 net: Fix null-ptr-deref by sock_lock_init_class_and_name() and rmmod.
* | fbffc72bf0 Merge fba396b799 ("sparc/mm: avoid calling arch_enter/leave_lazy_mmu() in set_ptes") into android16-6.12-lts
|\|
| * fba396b799 sparc/mm: avoid calling arch_enter/leave_lazy_mmu() in set_ptes
| * 690446dc72 sparc/mm: disable preemption in lazy mmu mode
| * cb6b9bd661 iommu/vt-d: Wire up irq_ack() to irq_move_irq() for posted MSIs
| * 6722a0cb81 iommu/vt-d: Fix possible circular locking dependency
| * e953e11123 iommu/vt-d: Don't clobber posted vCPU IRTE when host IRQ affinity changes
| * c95a438d2c iommu/vt-d: Put IRTE back into posted MSI mode if vCPU posting is disabled
| * e5dd974d6e iommu/tegra241-cmdqv: Fix warnings due to dmam_free_coherent()
| * b8b41eac70 iommufd: Fix uninitialized rc in iommufd_access_rw()
| * 327e6b8b28 btrfs: zoned: fix zone finishing with missing devices
| * 380ba38801 btrfs: zoned: fix zone activation with missing devices
| * b9af27d020 btrfs: tests: fix chunk map leak after failure to add it to the tree
| * 601db4e8bf btrfs: fix non-empty delayed iputs list on unmount due to compressed write workers
| * 61a5c565fd backlight: led_bl: Hold led_access lock when calling led_sysfs_disable()
| * a3b36c9da3 arm64: dts: exynos: gs101: disable pinctrl_gsacore node
| * ac45d49df9 arm64: dts: mediatek: mt8173: Fix disp-pwm compatible string
| * 1dd288783d arm64: mm: Correct the update of max_pfn
| * 21c5124304 arm64: tegra: Remove the Orin NX/Nano suspend key
| * eec737e17e arm64: mops: Do not dereference src reg for a set operation
| * 52f251dbfb mtd: rawnand: Add status chack in r852_ready()
| * 5479a6af3c mtd: inftlcore: Add error check for inftl_read_oob()
| * 6554491b4a mptcp: only inc MPJoinAckHMacFailure for HMAC failures
| * dc81e41a30 mptcp: fix NULL pointer in can_accept_new_subflow
| * c7f611e711 lib: scatterlist: fix sg_split_phys to preserve original scatterlist offsets
| * 95f0958240 locking/lockdep: Decrease nr_unused_locks if lock unused in zap_class()
| * 008b90d36d mailbox: tegra-hsp: Define dimensioning masks in SoC data
| * 7b47df6498 mfd: ene-kb3930: Fix a potential NULL pointer dereference
| * 4b037851ed leds: rgb: leds-qcom-lpg: Fix calculation of best period Hi-Res PWMs
| * 5ae9e361e2 leds: rgb: leds-qcom-lpg: Fix pwm resolution max for Hi-Res PWMs
| * e94314b727 kbuild: exclude .rodata.(cst|str)* when building ranges
| * 9eaec071f1 jbd2: remove wrong sb->s_sequence check
| * e6bba32857 i3c: Add NULL pointer check in i3c_master_queue_ibi()
| * 34aaf448e2 i3c: master: svc: Use readsb helper for reading MDB
| * 0327683c55 ima: limit the number of ToMToU integrity violations
| * 48085ab823 ima: limit the number of open-writers integrity violations
| * 9a264e4a59 smb311 client: fix missing tcon check when mounting with linux/posix extensions
| * 44a2572a0f soc: samsung: exynos-chipid: Add NULL pointer check in exynos_chipid_probe()
| * fbda9cac1b svcrdma: do not unregister device for listeners
| * f3cb81cb96 tpm: do not start chip while suspended
| * 76cc21a9a4 udf: Fix inode_getblk() return value
| * 8fd217a99d vdpa/mlx5: Fix oversized null mkey longer than 32bit
| * a1dde7457d f2fs: fix to avoid atomicity corruption of atomic file
| * 16d9067f00 ext4: fix off-by-one error in do_split
| * a77955f770 bus: mhi: host: Fix race between unprepare and queue_buf
| * 7d12a7d43c accel/ivpu: Fix deadlock in ivpu_ms_cleanup()
| * 5c200b7ebd accel/ivpu: Fix warning in ivpu_ipc_send_receive_internal()
| * 7022946773 ALSA: hda/realtek: Enable Mute LED on HP OMEN 16 Laptop xd000xx
| * d2a2076d9c ASoC: qdsp6: q6asm-dai: fix q6asm_dai_compr_set_params error path
| * 17f1e42131 ASoC: qdsp6: q6apm-dai: fix capture pipeline overruns.
| * aa7e9eabe6 ASoC: qdsp6: q6apm-dai: set 10 ms period and buffer alignment.
| * a28217b064 ASoC: q6apm-dai: make use of q6apm_get_hw_pointer
| * f5891f204d ASoC: q6apm-dai: schedule all available frames to avoid dsp under-runs
| * d383051f82 ASoC: q6apm: add q6apm_get_hw_pointer helper
| * acadb2e2b3 ASoC: codecs: wcd937x: fix a potential memory leak in wcd937x_soc_codec_probe()
| * 3e0356857e io_uring/kbuf: reject zero sized provided buffers
| * b7c6d081c1 io_uring/net: fix io_req_post_cqe abuse by send bundle
| * 0828d6e9ad io_uring/net: fix accept multishot handling
| * 00026f80c4 wifi: mt76: mt7925: fix the wrong simultaneous cap for MLO
| * 374f2bf7b3 wifi: mt76: mt7925: fix the wrong link_idx when a p2p_device is present
| * 0dd6c62c13 wifi: mt76: mt7925: fix country count limitation for CLC
| * 1706a07b38 wifi: mt76: mt7925: ensure wow pattern command align fw format
| * eb434adf79 wifi: mac80211: fix integer overflow in hwmp_route_info_get()
| * ef44c9e811 wifi: mt76: Add check for devm_kstrdup()
| * 9d6b789a8f clocksource/drivers/stm32-lptimer: Use wakeup capable instead of init wakeup
| * 9d99358349 mtd: Replace kcalloc() with devm_kcalloc()
| * 2b27df6852 net: dsa: mv88e6xxx: fix internal PHYs for 6320 family
| * 020404265b net: dsa: mv88e6xxx: workaround RGMII transmit delay erratum for 6320 family
| * 39fc127422 mtd: Add check for devm_kcalloc()
| * 91e1405088 mptcp: sockopt: fix getting freebind & transparent
| * 1b4ecd033e mptcp: sockopt: fix getting IPV6_V6ONLY
| * c59dc7c425 media: chips-media: wave5: Fix timeout while testing 10bit hevc fluster
| * d595713de7 media: chips-media: wave5: Fix a hang after seeking
| * 76cab9f540 media: chips-media: wave5: Avoid race condition in the interrupt handler
| * 7fafaf00cc media: chips-media: wave5: Fix gray color on screen
| * 6f77a6d2ea media: i2c: imx214: Rectify probe error handling related to runtime PM
| * 8dd2d1561c media: i2c: imx219: Rectify runtime PM handling in probe and remove
| * 99f9299147 media: i2c: imx319: Rectify runtime PM handling probe and remove
| * bb3fd8b790 media: venus: hfi_parser: refactor hfi packet parsing logic
| * 53e376178c media: venus: hfi_parser: add check to avoid out of bound access
| * 3da0d73187 media: nuvoton: Fix reference handling of ece_pdev
| * 4b1bdaadbf media: nuvoton: Fix reference handling of ece_node
| * e22fa60bcd media: i2c: ov7251: Introduce 1 ms delay between regulators and en GPIO
| * b155aecd7f media: i2c: ov7251: Set enable GPIO low in probe
| * ad466aacb1 media: i2c: ccs: Set the device's runtime PM status correctly in probe
| * 983b5434a6 media: i2c: ccs: Set the device's runtime PM status correctly in remove
| * 3ff4feef7a Revert "media: imx214: Fix the error handling in imx214_probe()"
| * baea1762cd media: v4l2-dv-timings: prevent possible overflow in v4l2_detect_gtf()
| * b933486f6b media: imx219: Adjust PLL settings based on the number of MIPI lanes
| * dd0d323b47 media: platform: stm32: Add check for clk_enable()
| * 3f1f712f80 media: visl: Fix ERANGE error when setting enum controls
| * f67c3f8452 media: hi556: Fix memory leak (on error) in hi556_check_hwcfg()
| * df6ef66cc3 media: streamzap: prevent processing IR data on URB failure
| * afada73000 accel/ivpu: Fix PM related deadlocks in MS IOCTLs
| * 4c8056fbb1 tpm, tpm_tis: Fix timeout handling when waiting for TPM status
| * 7266066b94 mtd: rawnand: brcmnand: fix PM resume warning
| * 33607e9240 spi: cadence-qspi: Fix probe on AM62A LP SK
| * c322789613 KVM: arm64: Tear down vGIC on failed vCPU creation
| * 20c105f587 arm64: errata: Add KRYO 2XX/3XX/4XX silver cores to Spectre BHB safe list
| * 3b0f2526c8 arm64: errata: Assume that unknown CPUs _are_ vulnerable to Spectre BHB
| * 4af2858435 arm64: errata: Add QCOM_KRYO_4XX_GOLD to the spectre_bhb_k24_list
| * 2ff58c5b26 arm64: cputype: Add MIDR_CORTEX_A76AE
| * 7e619d4d27 xenfs/xensyms: respect hypervisor's "next" indication
| * 88962f1978 media: rockchip: rga: fix rga offset lookup
| * ceb23f66ef media: siano: Fix error handling in smsdvb_module_init()
| * 7631d17608 media: vim2m: print device name after registering device
| * 679424f8b3 media: venus: hfi: add check to handle incorrect queue size
| * 530f623f56 media: venus: hfi: add a check to handle OOB in sfr region
| * 72629a582d media: intel/ipu6: set the dev_parent of video device to pdev
| * f598940803 media: mgb4: Fix switched CMT frequency range "magic values" sets
| * 66e35600f7 media: i2c: adv748x: Fix test pattern selection mask
| * 1c673fa888 media: mgb4: Fix CMT registers update logic
| * ced0ddecc0 media: uapi: rkisp1-config: Fix typo in extensible params example
| * 8c64a2cfdb media: mtk-vcodec: venc: avoid -Wenum-compare-conditional warning
| * 9f009fa823 media: mediatek: vcodec: Fix a resource leak related to the scp device in FW initialization
| * 956c5e4965 dt-bindings: media: st,stmipid02: correct lane-polarities maxItems
| * a9a73da6e0 auxdisplay: hd44780: Fix an API misuse in hd44780.c
| * bdbc38bd12 HID: pidff: Fix set_device_control()
| * 1565ead12f HID: pidff: Fix 90 degrees direction name North -> East
| * 5318556ed3 HID: pidff: Compute INFINITE value instead of using hardcoded 0xffff
| * b15301f289 HID: pidff: Clamp effect playback LOOP_COUNT value
| * 42ec3b5bf7 HID: pidff: Rename two functions to align them with naming convention
| * b782892cd2 HID: pidff: Remove redundant call to pidff_find_special_keys
| * 239c8ac58c HID: pidff: Support device error response from PID_BLOCK_LOAD
| * 2d698115f9 HID: pidff: Comment and code style update
| * 35ebc643af HID: hid-universal-pidff: Add Asetek wheelbases support
| * 2118618697 HID: pidff: Make sure to fetch pool before checking SIMULTANEOUS_MAX
| * 13d15dd617 HID: pidff: Factor out pool report fetch and remove excess declaration
| * 6fbf2ac6d5 HID: pidff: Use macros instead of hardcoded min/max values for shorts
| * 87783d301e HID: pidff: Simplify pidff_rescale_signed
| * 61e4de1728 HID: pidff: Move all hid-pidff definitions to a dedicated header
| * 8f0b2d791e HID: pidff: Factor out code for setting gain
| * 5243ca2a5c HID: pidff: Rescale time values to match field units
| * 7009a060ff HID: pidff: Define values used in pidff_find_special_fields
| * 9cdd95f9a4 HID: pidff: Simplify pidff_upload_effect function
| * 433c4234ff HID: pidff: Completely rework and fix pidff_reset function
| * 2b1e13ed29 HID: pidff: Stop all effects before enabling actuators
| * 629405d185 HID: pidff: Clamp PERIODIC effect period to device's logical range
* | 44229c2d55 Revert "PCI: Check BAR index for validity"
* | 4e0cc11458 Merge 43e5e2879d ("s390/pci: Fix s390_mmio_read/write syscall page fault handling") into android16-6.12-lts
|\|
| * 43e5e2879d s390/pci: Fix s390_mmio_read/write syscall page fault handling
| * dd3edffae8 ext4: don't treat fhandle lookup of ea_inode as FS corruption
| * 806908d5d9 bpf: support SKF_NET_OFF and SKF_LL_OFF on skb frags
| * 7b9bdd7059 erofs: set error to bio if file-backed IO fails
| * 61f590c677 pwm: fsl-ftm: Handle clk_get_rate() returning 0
| * a2786a82de pwm: rcar: Improve register calculation
| * 4cb15042b5 pwm: mediatek: Prevent divide-by-zero in pwm_mediatek_config()
| * 2bef78f962 tpm: End any active auth session before shutdown
| * 01c2ed3f7d tpm, tpm_tis: Workaround failed command reception on Infineon devices
| * a4e3c80cec ktest: Fix Test Failures Due to Missing LOG_FILE Directories
| * 9a6be23eb0 tracing: probe-events: Add comments about entry data storing code
| * 52eafaa56f fbdev: omapfb: Add 'plane' value check
| * fb4c507bf2 drm/amdgpu: grab an additional reference on the gang fence v2
| * 5c3cfcf0b4 PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type
| * 73d2b96250 PCI: Check BAR index for validity
| * e64be12f84 drm/amdgpu: Fix the race condition for draining retry fault
| * 8feefd106a PCI: Enable Configuration RRS SV early
| * dc4380f346 drm/amdgpu: handle amdgpu_cgs_create_device() errors in amd_powerplay_create()
| * 7a872981c6 PCI: Add Rockchip Vendor ID
| * 6e415cb823 drm/mediatek: mtk_dpi: Explicitly manage TVD clock in power on/off
| * 39a7576d11 drm/mediatek: mtk_dpi: Move the input_2p_en bit to platform data
| * 831c4017f4 drm/xe/xelp: Move Wa_16011163337 from tunings to workarounds
| * 1a322b330d drm/amdkfd: debugfs hang_hws skip GPU with MES
| * 10ce36501f drm/amdkfd: Fix pqm_destroy_queue race with GPU reset
| * ffd37d7d44 drm/amdkfd: Fix mode1 reset crash issue
| * 96757c085b drm/amdkfd: clamp queue size to minimum
| * 1c38108a49 drivers: base: devres: Allow to release group on device release
| * c9323cbc94 drm/amd/display: stop DML2 from removing pipes based on planes
| * b22cb42a5e drm/bridge: panel: forbid initializing a panel with unknown connector type
| * f04612890c drm/debugfs: fix printk format for bridge index
| * ba5a998f84 drm: panel-orientation-quirks: Add quirk for OneXPlayer Mini (Intel)
| * a64e097426 drm: panel-orientation-quirks: Add new quirk for GPD Win 2
| * 5dd6fdb889 drm: panel-orientation-quirks: Add quirk for AYA NEO Slide
| * 6fe4ed94ee drm: panel-orientation-quirks: Add quirks for AYA NEO Flip DS and KB
| * df33b535f0 drm: panel-orientation-quirks: Add support for AYANEO 2S
| * 357ba4ed69 drm/amdgpu: Unlocked unmap only clear page table leaves
| * c15a9c8449 drm/amd/display: Update Cursor request mode to the beginning prefetch always
| * 2eec2fa866 drm/xe/vf: Don't try to trigger a full GT reset if VF
| * 4a5f14246b drm/xe/bmg: Add new PCI IDs
| * 044c1b3528 drm: allow encoder mode_set even when connectors change for crtc
| * 09246dfb5c Bluetooth: Add quirk for broken READ_PAGE_SCAN_TYPE
| * 035e1bffc0 Bluetooth: Add quirk for broken READ_VOICE_SETTING
| * feed98579d Bluetooth: qca: simplify WCN399x NVM loading
| * fe6f1f349d Bluetooth: hci_qca: use the power sequencer for wcn6750
| * a4d49212e3 Bluetooth: btusb: Add 2 HWIDs for MT7922
| * 6b7a32fa9b Bluetooth: hci_uart: fix race during initialization
| * 082ae971a1 Bluetooth: btintel_pcie: Add device id of Whale Peak
| * 40c70ff44b tracing: fix return value in __ftrace_event_enable_disable for TRACE_REG_UNREGISTER
| * 299d7d27af net: vlan: don't propagate flags on open
| * fe51630ba2 wifi: mt76: mt76x2u: add TP-Link TL-WDN6200 ID to device table
| * bf089c4d11 btrfs: harden block_group::bg_list against list_del() races
| * 0519ba030c ahci: Marvell 88SE9215 controllers prefer DMA for ATAPI
| * 7fe3b4deed scsi: st: Fix array overflow in st_setup()
| * a8a8076210 cdc_ether|r8152: ThinkPad Hybrid USB-C/A Dock quirk
| * eb59cc31b6 ext4: ignore xattrs past end
| * aa39d45071 Revert "f2fs: rebuild nat_bits during umount"
| * 5f815757e6 ext4: protect ext4_release_dquot against freezing
| * 202ba2f483 ahci: add PCI ID for Marvell 88SE9215 SATA Controller
| * 163e8c1083 net: sfp: add quirk for FS SFP-10GM-T copper SFP+ module
| * ecc4613316 f2fs: fix to avoid out-of-bounds access in f2fs_truncate_inode_blocks()
| * 3abe15e756 wifi: ath12k: Fix invalid data access in ath12k_dp_rx_h_undecap_nwifi
| * 1833e16500 net: sfp: add quirk for 2.5G OEM BX SFP
| * 04c0c55504 ata: libata-eh: Do not use ATAPI DMA for a device limited to PIO mode
| * ccd97c8a4f jfs: add sanity check for agwidth in dbMount
| * aeb926e605 jfs: Prevent copying of nlink with value 0 from disk inode
| * c802a6a400 fs/jfs: Prevent integer overflow in AG size calculation
| * 319877db0a fs/jfs: cast inactags to s64 to prevent potential overflow
| * 63148ce490 jfs: Fix uninit-value access of imap allocated in the diMount() function
* | 7934407f6a ANDROID: GKI: db845c: add dma_alloc/free_pages to the symbol list
* | 5b889365dc Revert "perf/core: Add aux_pause, aux_resume, aux_start_paused"
* | 1f8271add4 Revert "perf/core: Simplify the perf_event_alloc() error path"
* | f4efd677fe Revert "perf: Fix hang while freeing sigtrap event"
* | 195e9f73e5 Merge 8e7bb66360 ("can: flexcan: add NXP S32G2/S32G3 SoC support") into android16-6.12-lts
|\|
| * 8e7bb66360 can: flexcan: add NXP S32G2/S32G3 SoC support
| * fba5f41f15 can: flexcan: Add quirk to handle separate interrupt lines for mailboxes
| * 7204335d19 page_pool: avoid infinite loop to schedule delayed worker
| * de94d0ca9e net: usb: asix_devices: add FiberGecko DeviceID
| * 93a562eedc scsi: target: spc: Fix RSOC parameter data header size
| * 4ae2c7c7d3 wifi: mac80211: ensure sdata->work is canceled before initialized.
| * cca16fbd17 wifi: mac80211: add strict mode disabling workarounds
| * c6e50cb8bf f2fs: don't retry IO for corrupted data scenario
| * a6bf0fd322 net: page_pool: don't cast mp param to devmem
| * 65ba18c84d scsi: mpi3mr: Synchronous access b/w reset and tm thread for reply queue
| * 6a35449df8 scsi: mpi3mr: Avoid reply queue full condition
| * b1e0b4f494 ata: libata-core: Add 'external' to the libata.force kernel parameter
| * 535b666118 wifi: ath12k: Fix invalid entry fetch in ath12k_dp_mon_srng_process
| * 3cb47b5092 wifi: ath12k: fix memory leak in ath12k_pci_remove()
| * a3981850f1 wifi: ath11k: fix memory leak in ath11k_xxx_remove()
| * b92c5179db wifi: ath11k: Fix DMA buffer allocation to resolve SWIOTLB issues
| * 90a5892d85 platform/x86: x86-android-tablets: Add select POWER_SUPPLY to Kconfig
| * 7f04c9e8ff ASoC: amd: yc: update quirk data for new Lenovo model
| * 3a03a7f0f8 ASoC: amd: Add DMI quirk for ACP6X mic support
| * cb1c6cb110 ALSA: usb-audio: Fix CME quirk for UF series keyboards
| * fe74885e36 mmc: dw_mmc: add a quirk for accessing 64-bit FIFOs in two halves
| * 6d32a30fa1 media: s5p-mfc: Corrected NV12M/NV21M plane-sizes
| * 3c057a4904 media: uvcvideo: Add quirk for Actions UVC05
| * d4fcd06e12 ASoC: fsl_audmix: register card device depends on 'dais' property
| * d981c3d298 ALSA: hda: intel: Add Lenovo IdeaPad Z570 to probe denylist
| * 97ae1d5080 ALSA: hda: intel: Fix Optimus when GPU has no sound
| * 25490b45d1 ASoC: amd: ps: use macro for ACP6.3 pci revision id
| * f8f4d77710 HID: pidff: Fix null pointer dereference in pidff_find_fields
| * 0301b85fe6 HID: pidff: Add PERIODIC_SINE_ONLY quirk
| * f45f26a6b3 HID: Add hid-universal-pidff driver and supported device ids
| * 116d4f67ae HID: pidff: Add FIX_WHEEL_DIRECTION quirk
| * ed806fd80e HID: pidff: Add hid_pidff_init_with_quirks and export as GPL symbol
| * 6a20fae104 HID: pidff: Add PERMISSIVE_CONTROL quirk
| * fd608e2a06 HID: pidff: Add MISSING_PBO quirk and its detection
| * fab3dbb604 HID: pidff: Add MISSING_DELAY quirk and its detection
| * d21ccf544c HID: pidff: Do not send effect envelope if it's empty
| * 1c0785f164 HID: pidff: Convert infinite length from Linux API to PID standard
| * 5330ce1ee2 ASoC: SOF: topology: Use krealloc_array() to replace krealloc()
| * 377b041c22 platform/chrome: cros_ec_lpc: Match on Framework ACPI device
| * 97f68e7287 zstd: Increase DYNAMIC_BMI2 GCC version cutoff from 4.8 to 11.0 to work around compiler segfault
| * 8d0f280e7a xen/mcelog: Add __nonstring annotations for unterminated strings
| * cb58e90920 arm64: cputype: Add QCOM_CPU_PART_KRYO_3XX_GOLD
| * ead1fc9f93 Flush console log from kernel_power_off()
| * 11ae4fec1f PM: hibernate: Avoid deadlock in hibernate_compressor_param_set()
| * 89a4db7a67 perf/dwc_pcie: fix some unreleased resources
| * 1b3ebfb15d perf: arm_pmu: Don't disable counter in armpmu_add()
| * f48625eeeb x86/cpu: Don't clear X86_FEATURE_LAHF_LM flag in init_amd_k8() on AMD when running in a virtual machine
| * 48e705652d x86/ia32: Leave NULL selector values 0~3 unchanged
| * 640bb22521 x86/percpu: Disable named address spaces for UBSAN_BOOL with KASAN for GCC < 14.2
| * 837f5cb7be x86/mm: Clear _PAGE_DIRTY for kernel mappings when we clear _PAGE_RW
| * f8d28fa305 pm: cpupower: bench: Prevent NULL dereference on malloc failure
| * 67e85cfa95 umount: Allow superblock owners to force umount
| * 52535688c2 fs: consistently deref the files table with rcu_dereference_raw()
| * fa1827fa96 perf: Fix hang while freeing sigtrap event
| * 7ef5aa081f perf/core: Simplify the perf_event_alloc() error path
| * c61feda373 perf/core: Add aux_pause, aux_resume, aux_start_paused
| * a0842539e8 iommu/mediatek: Fix NULL pointer deference in mtk_iommu_device_group
| * 5efd53900a iommu/exynos: Fix suspend/resume with IDENTITY domain
| * 7640c2abb6 nft_set_pipapo: fix incorrect avx2 match of 5th field octet
| * b4c836d33c net: ppp: Add bound checking for skb data on ppp_sync_txmung
* | 4485f579eb Revert "cgroup/cpuset: Fix race between newly created partition and dying one"
* | 4aefb4fba6 Merge cc16f7402a ("ipv6: Align behavior across nexthops during path selection") into android16-6.12-lts
|\|
| * cc16f7402a ipv6: Align behavior across nexthops during path selection
| * a6ed6f8ec8 net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY
| * 6d98cd6342 net: phy: move phy_link_change() prior to mdio_bus_phy_may_suspend()
| * aa5a1e4b88 smb: client: fix UAF in decryption with multichannel
| * f86293adce net_sched: sch_sfq: move the limit validation
| * 70449ca406 net_sched: sch_sfq: use a temporary work area for validating configuration
| * ec12da4bcc nvmet-fcloop: swap list_add_tail arguments
| * c5a9068061 drm/i915/huc: Fix fence not released on early probe errors
| * 0ae84adbc9 ata: sata_sx4: Add error handling in pdc20621_i2c_read()
| * ad81d666e1 net: libwx: handle page_pool_dev_alloc_pages error
| * c81306c9d6 drm/tests: probe-helper: Fix drm_display_mode memory leak
| * 80f4dc6e1f drm/tests: modes: Fix drm_display_mode memory leak
| * c7a0a32e6c drm/tests: cmdline: Fix drm_display_mode memory leak
| * f951d643bc drm/tests: helpers: Create kunit helper to destroy a drm_display_mode
| * 71dd750a08 drm/tests: modeset: Fix drm_display_mode memory leak
| * a065b99605 net: ethtool: Don't call .cleanup_data when prepare_data fails
| * b2f3c3d57a tc: Ensure we have enough buffer space when sending filter netlink notifications
| * f0bb06b9f1 octeontx2-pf: qos: fix VF root node parent queue index
| * 9fcbca0f80 net: tls: explicitly disallow disconnect
| * 4d55144b12 codel: remove sch->q.qlen check before qdisc_tree_reduce_backlog()
| * 7c5957f790 tipc: fix memory leak in tipc_link_xmit
| * 1b7685256d objtool: Fix INSN_CONTEXT_SWITCH handling in validate_unret()
| * ee2b0301d6 ata: pata_pxa: Fix potential NULL pointer dereference in pxa_ata_probe()
| * 9e0bdc1557 drm/xe/hw_engine: define sysfs_ops on all directories
| * 857e9432da x86/acpi: Don't limit CPUs to 1 for Xen PV guests due to disabled ACPI
| * 9ddc7edc55 drm/i915: Disable RPG during live selftest
| * caa5c8a235 ublk: fix handling recovery & reissue in ublk_abort_queue()
| * cb8372e54f ublk: refactor recovery configuration flag helpers
| * 206d0df7b6 selftests/futex: futex_waitv wouldblock test should fail
| * 179ef2f810 gpiolib: of: Fix the choice for Ingenic NAND quirk
| * cdb6e724e7 cgroup/cpuset: Fix race between newly created partition and dying one
| * 1b06f00eda cgroup/cpuset: Further optimize code if CONFIG_CPUSETS_V1 not set
| * 6b145f8b22 cgroup/cpuset: Enforce at most one rebuild_sched_domains_locked() call per operation
| * 2dbd1b1660 cgroup/cpuset: Revert "Allow suppression of sched domain rebuild in update_cpumasks_hier()"
| * 9701dcbf5f cgroup/cpuset: Fix error handling in remote_partition_disable()
| * 40bc55e4fc cgroup/cpuset: Fix incorrect isolated_cpus update in update_parent_effective_cpumask()
| * b980b83231 ASoC: Intel: adl: add 2xrt1316 audio configuration
* 4c1ccdf129 Merge branch 'android16-6.12' into android16-6.12-lts

Change-Id: I240b43fe2c84aa7ddb06a06cbc68edc1d53b709a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-06-21 15:04:22 +00:00
Tiffany Y. Yang 174f671de0 BACKPORT: binder: Create safe versions of binder log files
Binder defines several seq_files that can be accessed via debugfs or
binderfs. Some of these files (e.g., 'state' and 'transactions')
contain more granular information about binder's internal state that
is helpful for debugging, but they also leak userspace address data
through user-defined 'cookie' or 'ptr' values. Consequently, access
to these files must be heavily restricted.

Add two new files, 'state_hashed' and 'transactions_hashed', that
reproduce the information in the original files but use the kernel's
raw pointer obfuscation to hash any potential user addresses. This
approach allows systems to grant broader access to the new files
without having to change the security policy around the existing ones.

In practice, userspace populates these fields with user addresses, but
within the driver, these values only serve as unique identifiers for
their associated binder objects. Consequently, binder logs can
obfuscate these values and still retain meaning. While this strategy
prevents leaking information about the userspace memory layout in the
existing log files, it also decouples log messages about binder
objects from their user-defined identifiers.

Acked-by: Carlos Llamas <cmllamas@google.com>
Tested-by: Carlos Llamas <cmllamas@google.com>
Signed-off-by: "Tiffany Y. Yang" <ynaffit@google.com>
Link: https://lore.kernel.org/r/20250510013435.1520671-7-ynaffit@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 316970771
(cherry picked from commit 57483a362741e4f0f3f4d2fc82d48f82fd0986d9)
[Resolve conflicts from node prio and special work]
Change-Id: I6a01048c0105a1d6061e95f386e7ee55e2fdc898
Signed-off-by: "Tiffany Yang" <ynaffit@google.com>
2025-06-11 14:17:16 -07:00
Tiffany Y. Yang d513ac52bc UPSTREAM: binder: Refactor binder_node print synchronization
The binder driver outputs information about each dead binder node by
iterating over the dead nodes list, and it prints the state of each live
node in the system by traversing each binder_proc's proc->nodes tree.
Both cases require similar logic to maintain the global lock ordering
while accessing each node.

Create a helper function to synchronize around printing binder nodes in
a list. Opportunistically make minor cosmetic changes to binder print
functions.

Acked-by: Carlos Llamas <cmllamas@google.com>
Signed-off-by: "Tiffany Y. Yang" <ynaffit@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20250510013435.1520671-5-ynaffit@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 316970771
(cherry picked from commit 91f1bbaa783d26b379d65ef7b4b2b947c338c749)
Change-Id: Iae546a847ca138ddfffcdc24faf075b325a54640
Signed-off-by: "Tiffany Yang" <ynaffit@google.com>
2025-06-11 14:17:10 -07:00
Greg Kroah-Hartman 62cd1edf4d Merge 6.12.28 into android16-6.12-lts
GKI (arm64) relevant 33 out of 166 changes, affecting 52 files +454/-363
  0aaae77be5 ALSA: usb-audio: Add retry on -EPROTO from usb_set_interface() [1 file, +7/-0]
  fdf0ae5e9e ALSA: usb-audio: Add second USB ID for Jabra Evolve 65 headset [1 file, +2/-1]
  38d9ca7405 binder: fix offset calculation in debug log [1 file, +1/-1]
  f1dfc94584 drm/fdinfo: Protect against driver unbind [1 file, +6/-0]
  090c8714ef arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays [1 file, +2/-0]
  eb9b72e4fe mm/memblock: pass size instead of end to memblock_set_node() [1 file, +1/-1]
  9c4ddea497 mm/memblock: repeat setting reserved region nid if array is doubled [1 file, +10/-0]
  0988dd0263 tracing: Do not take trace_event_sem in print_event_fields() [1 file, +2/-2]
  f451082572 dm-bufio: don't schedule in atomic context [1 file, +8/-1]
  510aea4ef0 dm: always update the array size in realloc_argv on success [1 file, +3/-2]
  2e303d0107 iommu: Fix two issues in iommu_copy_struct_from_user() [1 file, +4/-4]
  573b047229 cpufreq: Avoid using inconsistent policy->min and policy->max [1 file, +25/-7]
  962d88304c cpufreq: Fix setting policy limits when frequency tables are used [4 files, +73/-41]
  1f27a3e93b tracing: Fix oob write in trace_seq_to_buffer() [1 file, +3/-2]
  220395054c ASoC: soc-core: Stop using of_property_read_bool() for non-boolean properties [1 file, +13/-19]
  29a4a29112 ASoC: soc-pcm: Fix hw_params() and DAPM widget sequence [1 file, +4/-1]
  65d3c57061 xsk: Fix race condition in AF_XDP generic RX path [4 files, +6/-6]
  fe81c26d2d Bluetooth: hci_conn: Remove alloc from critical section [1 file, +10/-18]
  eb8b860e87 Bluetooth: hci_conn: Fix not setting conn_timeout for Broadcast Receiver [6 files, +95/-107]
  620810ac1f Bluetooth: hci_conn: Fix not setting timeout for BIG Create Sync [7 files, +88/-109]
  432572d536 Bluetooth: L2CAP: copy RX timestamp to new fragments [1 file, +3/-0]
  6b1355860d scsi: ufs: core: Remove redundant query_complete trace [1 file, +0/-2]
  5ad0b1b554 nvme-pci: fix queue unquiesce check on slot_reset [1 file, +1/-1]
  6effe1c0fa net: ipv6: fix UDPv6 GSO segmentation with NAT [1 file, +60/-1]
  c0dba059b1 net: use sock_gen_put() when sk_state is TCP_TIME_WAIT [2 files, +2/-2]
  e10ec6e32b blk-mq: create correct map for fallback case [1 file, +1/-2]
  dab2a13059 mm, slab: clean up slab->obj_exts always [1 file, +7/-20]
  0a188c0e19 sch_htb: make htb_qlen_notify() idempotent [1 file, +2/-0]
  969d8beaa2 firmware: arm_scmi: Balance device refcount when destroying devices [1 file, +3/-0]
  3b41b5efae kernel: param: rename locate_module_kobject [1 file, +3/-3]
  69113bf740 kernel: globalize lookup_or_create_module_kobject() [2 files, +3/-1]
  e1eea69858 drivers: base: handle module_kobject creation [1 file, +5/-8]
  db62809197 dm: fix copying after src array boundaries [1 file, +1/-1]

Changes in 6.12.28
        Bluetooth: btusb: add Foxconn 0xe0fc for Qualcomm WCN785x
        Bluetooth: btusb: Add one more ID 0x0489:0xe0f3 for Qualcomm WCN785x
        Bluetooth: btusb: Add one more ID 0x13d3:0x3623 for Qualcomm WCN785x
        Bluetooth: btusb: Add ID 0x2c7c:0x0130 for Qualcomm WCN785x
        Bluetooth: btusb: Add new VID/PID for WCN785x
        Bluetooth: btusb: Add 13 USB device IDs for Qualcomm WCN785x
        Revert "rndis_host: Flag RNDIS modems as WWAN devices"
        ALSA: usb-audio: Add retry on -EPROTO from usb_set_interface()
        ALSA: usb-audio: Add second USB ID for Jabra Evolve 65 headset
        binder: fix offset calculation in debug log
        btrfs: adjust subpage bit start based on sectorsize
        btrfs: fix COW handling in run_delalloc_nocow()
        cpufreq: intel_pstate: Unchecked MSR aceess in legacy mode
        drm/fdinfo: Protect against driver unbind
        drm/nouveau: Fix WARN_ON in nouveau_fence_context_kill()
        EDAC/altera: Test the correct error reg offset
        EDAC/altera: Set DDR and SDMMC interrupt mask before registration
        i2c: imx-lpi2c: Fix clock count when probe defers
        arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays
        parisc: Fix double SIGFPE crash
        perf/x86/intel: Only check the group flag for X86 leader
        perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPU's value.
        amd-xgbe: Fix to ensure dependent features are toggled with RX checksum offload
        irqchip/qcom-mpm: Prevent crash when trying to handle non-wake GPIOs
        mm/memblock: pass size instead of end to memblock_set_node()
        mm/memblock: repeat setting reserved region nid if array is doubled
        mmc: renesas_sdhi: Fix error handling in renesas_sdhi_probe
        spi: tegra114: Don't fail set_cs_timing when delays are zero
        tracing: Do not take trace_event_sem in print_event_fields()
        wifi: brcm80211: fmac: Add error handling for brcmf_usb_dl_writeimage()
        x86/boot/sev: Support memory acceptance in the EFI stub under SVSM
        dm-bufio: don't schedule in atomic context
        dm-integrity: fix a warning on invalid table line
        dm: always update the array size in realloc_argv on success
        drm/amdgpu: Fix offset for HDP remap in nbio v7.11
        drm: Select DRM_KMS_HELPER from DRM_DEBUG_DP_MST_TOPOLOGY_REFS
        iommu/amd: Fix potential buffer overflow in parse_ivrs_acpihid
        iommu/arm-smmu-v3: Fix iommu_device_probe bug due to duplicated stream ids
        iommu/arm-smmu-v3: Fix pgsize_bit for sva domains
        iommu/vt-d: Apply quirk_iommu_igfx for 8086:0044 (QM57/QS57)
        iommu: Fix two issues in iommu_copy_struct_from_user()
        platform/x86/amd: pmc: Require at least 2.5 seconds between HW sleep cycles
        platform/x86/intel-uncore-freq: Fix missing uncore sysfs during CPU hotplug
        ksmbd: fix use-after-free in ksmbd_session_rpc_open
        ksmbd: fix use-after-free in kerberos authentication
        ksmbd: fix use-after-free in session logoff
        smb: client: fix zero length for mkdir POSIX create context
        cpufreq: Avoid using inconsistent policy->min and policy->max
        cpufreq: Fix setting policy limits when frequency tables are used
        tracing: Fix oob write in trace_seq_to_buffer()
        drm/amd/display: Default IPS to RCG_IN_ACTIVE_IPS2_IN_OFF
        ASoC: soc-core: Stop using of_property_read_bool() for non-boolean properties
        ASoC: cs-amp-lib-test: Don't select SND_SOC_CS_AMP_LIB
        ASoC: soc-pcm: Fix hw_params() and DAPM widget sequence
        book3s64/radix : Align section vmemmap start address to PAGE_SIZE
        pinctrl: imx: Return NULL if no group is matched and found
        powerpc/boot: Check for ld-option support
        ASoC: Intel: sof_sdw: Add NULL check in asoc_sdw_rt_dmic_rtd_init()
        ALSA: hda/realtek - Enable speaker for HP platform
        drm/i915/pxp: fix undefined reference to `intel_pxp_gsccs_is_ready_for_sessions'
        wifi: iwlwifi: don't warn if the NIC is gone in resume
        wifi: iwlwifi: fix the check for the SCRATCH register upon resume
        wifi: plfxlc: Remove erroneous assert in plfxlc_mac_release
        powerpc/boot: Fix dash warning
        vxlan: vnifilter: Fix unlocked deletion of default FDB entry
        xsk: Fix race condition in AF_XDP generic RX path
        net/mlx5e: Use custom tunnel header for vxlan gbp
        net/mlx5: E-Switch, Initialize MAC Address for Default GID
        net/mlx5e: TC, Continue the attr process even if encap entry is invalid
        net/mlx5e: Fix lock order in mlx5e_tx_reporter_ptpsq_unhealthy_recover
        net/mlx5: E-switch, Fix error handling for enabling roce
        accel/ivpu: Correct DCT interrupt handling
        ASoC: amd: acp: Fix NULL pointer deref in acp_i2s_set_tdm_slot
        Bluetooth: hci_conn: Remove alloc from critical section
        Bluetooth: hci_conn: Fix not setting conn_timeout for Broadcast Receiver
        Bluetooth: hci_conn: Fix not setting timeout for BIG Create Sync
        Bluetooth: btintel_pcie: Avoid redundant buffer allocation
        Bluetooth: btusb: avoid NULL pointer dereference in skb_dequeue()
        Bluetooth: btintel_pcie: Add additional to checks to clear TX/RX paths
        Bluetooth: L2CAP: copy RX timestamp to new fragments
        net: mscc: ocelot: delete PVID VLAN when readding it as non-PVID
        octeon_ep_vf: Resolve netdevice usage count issue
        bnxt_en: improve TX timestamping FIFO configuration
        rtase: Modify the condition used to detect overflow in rtase_calc_time_mitigation
        net: ethernet: mtk-star-emac: fix spinlock recursion issues on rx/tx poll
        net: ethernet: mtk-star-emac: rearm interrupts in rx_poll only when advised
        net: ethernet: mtk_eth_soc: sync mtk_clks_source_name array
        pds_core: make pdsc_auxbus_dev_del() void
        pds_core: specify auxiliary_device to be created
        pds_core: remove write-after-free of client_id
        net_sched: drr: Fix double list add in class with netem as child qdisc
        net_sched: hfsc: Fix a UAF vulnerability in class with netem as child qdisc
        net_sched: ets: Fix double list add in class with netem as child qdisc
        net_sched: qfq: Fix double list add in class with netem as child qdisc
        ice: Check VF VSI Pointer Value in ice_vc_add_fdir_fltr()
        idpf: fix offloads support for encapsulated packets
        scsi: ufs: core: Remove redundant query_complete trace
        ALSA: ump: Fix buffer overflow at UMP SysEx message conversion
        nvme-pci: fix queue unquiesce check on slot_reset
        drm/tests: shmem: Fix memleak
        drm/mipi-dbi: Fix blanking for non-16 bit formats
        net: dlink: Correct endianness handling of led_mode
        net: mdio: mux-meson-gxl: set reversed bit when using internal phy
        idpf: fix potential memory leak on kcalloc() failure
        idpf: protect shutdown from reset
        igc: fix lock order in igc_ptp_reset
        net: ethernet: mtk_eth_soc: fix SER panic with 4GB+ RAM
        net: dsa: felix: fix broken taprio gate states after clock jump
        net: ipv6: fix UDPv6 GSO segmentation with NAT
        ALSA: hda/realtek: Fix built-mic regression on other ASUS models
        bnxt_en: Fix error handling path in bnxt_init_chip()
        bnxt_en: Fix ethtool selftest output in one of the failure cases
        bnxt_en: Add missing skb_mark_for_recycle() in bnxt_rx_vlan()
        bnxt_en: call pci_alloc_irq_vectors() after bnxt_reserve_rings()
        bnxt_en: Fix coredump logic to free allocated buffer
        bnxt_en: Fix out-of-bound memcpy() during ethtool -w
        bnxt_en: Fix ethtool -d byte order for 32-bit values
        nvme-tcp: fix premature queue removal and I/O failover
        nvme-tcp: select CONFIG_TLS from CONFIG_NVME_TCP_TLS
        nvmet-tcp: select CONFIG_TLS from CONFIG_NVME_TARGET_TCP_TLS
        ASoC: simple-card-utils: Fix pointer check in graph_util_parse_link_direction
        bnxt_en: fix module unload sequence
        net: use sock_gen_put() when sk_state is TCP_TIME_WAIT
        ptp: ocp: Fix NULL dereference in Adva board SMA sysfs operations
        net: lan743x: Fix memleak issue when GSO enabled
        net: fec: ERR007885 Workaround for conventional TX
        octeon_ep: Fix host hang issue during device reboot
        net: hns3: store rx VLAN tag offload state for VF
        net: hns3: fix an interrupt residual problem
        net: hns3: fixed debugfs tm_qset size
        net: hns3: defer calling ptp_clock_register()
        net: vertexcom: mse102x: Fix possible stuck of SPI interrupt
        net: vertexcom: mse102x: Fix LEN_MASK
        net: vertexcom: mse102x: Add range check for CMD_RTS
        net: vertexcom: mse102x: Fix RX error handling
        blk-mq: create correct map for fallback case
        mm, slab: clean up slab->obj_exts always
        bcachefs: Remove incorrect __counted_by annotation
        net: Fix the devmem sock opts and msgs for parisc
        accel/ivpu: Make DB_ID and JOB_ID allocations incremental
        accel/ivpu: Use xa_alloc_cyclic() instead of custom function
        accel/ivpu: Fix a typo
        accel/ivpu: Update VPU FW API headers
        accel/ivpu: Abort all jobs after command queue unregister
        accel/ivpu: Fix locking order in ivpu_job_submit
        accel/ivpu: Add handling of VPU_JSM_STATUS_MVNCI_CONTEXT_VIOLATION_HW
        sch_htb: make htb_qlen_notify() idempotent
        sch_drr: make drr_qlen_notify() idempotent
        sch_hfsc: make hfsc_qlen_notify() idempotent
        sch_qfq: make qfq_qlen_notify() idempotent
        sch_ets: make est_qlen_notify() idempotent
        drm/xe: Ensure fixed_slice_mode gets set after ccs_mode change
        firmware: arm_scmi: Balance device refcount when destroying devices
        firmware: arm_ffa: Skip Rx buffer ownership release if not acquired
        arm64: dts: imx95: Correct the range of PCIe app-reg region
        ARM: dts: opos6ul: add ksz8081 phy properties
        arm64: dts: st: Adjust interrupt-controller for stm32mp25 SoCs
        arm64: dts: st: Use 128kB size for aliased GIC400 register access on stm32mp25 SoCs
        Revert "drm/meson: vclk: fix calculation of 59.94 fractional rates"
        kernel: param: rename locate_module_kobject
        kernel: globalize lookup_or_create_module_kobject()
        drivers: base: handle module_kobject creation
        drm/amd/display: Add scoped mutexes for amdgpu_dm_dhcp
        drm/amd/display: Fix slab-use-after-free in hdcp
        dm: fix copying after src array boundaries
        Linux 6.12.28

Change-Id: I79f3d50a10acfe53f329b4b5a4af502f488c61f3
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-05-27 07:18:43 +00:00
zhanghao56 e7a034a56f ANDROID: binder: fix minimum node priority comparison
The "desired" priority for a transaction can be adjusted depending on
various factors. For instance, it might be set to SCHED_NORMAL 120, when
the caller is RT and the target node has !inherit_rt.

However, instead of using these adjustments, the existing logic compares
the minimum node priority against the original transaction priority.
If the transaction priority is "higher", then the minimum node priority
is ignored. This is particularly a problem when the "desired" priority
has been changed to SCHED_NORMAL.

This patch corrects the logic, comparing the minimum node priority
against the (potentially adjusted) "desired" priority. This guarantees
that the node's minimum priority is honored.

Bug: 417382411
Cc: Martijn Coenen <maco@google.com>
Fixes: c46810c23565 ("ANDROID: binder: add RT inheritance flag to node.")
Change-Id: I813073241b996c1c38c29f20849b247023697102
Signed-off-by: zhanghao56 <zhanghao56@xiaomi.corp-partner.google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2025-05-20 20:26:37 -07:00
Carlos Llamas 38d9ca7405 binder: fix offset calculation in debug log
commit 170d1a3738908eef6a0dbf378ea77fb4ae8e294d upstream.

The vma start address should be substracted from the buffer's user data
address and not the other way around.

Cc: Tiffany Y. Yang <ynaffit@google.com>
Cc: stable <stable@kernel.org>
Fixes: 162c797314 ("binder: avoid user addresses in debug logs")
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Tiffany Y. Yang <ynaffit@google.com>
Link: https://lore.kernel.org/r/20250325184902.587138-1-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[cmllamas: fix conflicts due to alloc->buffer renaming]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-05-09 09:50:29 +02:00
zhengwei b13ee5ea88 ANDROID: vendor_hooks: add hook to record binder transaction info
Add vendor hook to record binder transaction information and
support oem's print binder transaction info.

Our function is to help locate whether the problem is caused by binder
blocking when ANR or watchdog occurs;So we need to add timestamps,
synchronous or asynchronous process information to the binder_procs
node, and create our own file node to readbinder_procs,
binder_transaction_log and binder_transaction_log_failed,
and output them in the format we need.

On kernel 6.6, we implement this with an OGKI patch, now we want
to achieve this by adding this vendor hook (also helps to reduce
our OGKI patches).This is a custom function, which will affect
performance. I turn this unction on or off according to different
products. It is not available for all OEMs, so it is not available
upstream.

Bug: 409484697
Change-Id: I36109e9045e284cc8be8dbffb79fc5b509a67c06
Signed-off-by: zhengwei <zhengwei2@honor.com>
2025-04-15 11:22:52 -07:00
zhengding chen bd21c75ac0 ANDROID: vendor_hooks: Add hooks for binder reference.
When servicemanager process added service proxy from other process
register the service, we want to know the matching relation between
handle in the process and service name.

Bug: 186604985
Change-Id: I466ae200cf17bc821c61bd92544a8fbe6b220a25
Signed-off-by: zhengding chen <chenzhengding@oppo.com>
Signed-off-by: shenshen mao <maoshenshen@oppo.com>
Signed-off-by: xiaosa liang <liangxiaosa@oppo.com>
2025-04-10 23:43:17 -07:00
Alice Ryhl dd55f14624 ANDROID: binder: change how Rust Binder is loaded
The binder.impl parameter currently controls whether C Binder is loaded
or not, even if no Rust Binder driver is present. This patch changes it
so that C Binder always gets loaded even if binder.impl=rust is set. To
actually load a different Binder driver, it must explicitly ask C Binder
to unload itself.

This ensures that:
1. If binder.impl=rust is set on a device without Rust Binder available,
   it will boot normally with C Binder instead of failing to boot.
2. By not listing unload_binder in the symbol list, we ensure that
   Binder can only be loaded as a GKI module, not as a vendor module.

Bug: 388786466
Change-Id: I791154e8f10abd5c470bb697b5e1035c33af897f
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
2025-03-20 00:14:17 -07:00
zhengding chen 02ea01fd0f ANDROID: vendor_hooks: Add hooks for binder proc transaction
When servicemanager process added service proxy from other process
register the service, we want to know the matching relation between
handle in the process and service name. When binder transaction
happened, We want to know what process calls what method on what service.

Patch 3482670 was uploaded in this patchset to avoid conflict.

Bug: 186604985
Bug: 395737475

Signed-off-by: zhengding chen <chenzhengding@oppo.com>
Change-Id: I813d1cde10294d8665f899f7fef0d444ec1f1f5e
Signed-off-by: shenshen mao <maoshenshen@oppo.com>
Signed-off-by: xiaosa liang <liangxiaosa@oppo.com>
2025-03-05 12:56:42 -08:00
Fuchun Liao f831b886d2 ANDROID: binder: Add vendor hooks to implement the feature of
binder_proc->fg_todo list

1. The implementation logic of this feature
1) In trace_android_vh_binder_list_add_work, record the sequence of work, work->android_oem_data1 = atomic64_inc_return(&binder_work_seq).
2) In the binder_proc_transaction() function, for special synchronized
binders, if a thread is not found, t->work will be added to proc->fg_todo in trace_android_vh_binder_special_task().
3) binder_thread_read() -> trace_android_vh_binder_select_special_worklist()
will select work to execute from proc->fg_todo according to a specific
algorithm, such as selecting the thread->todo first, then selecting two
proc->fg_todo works, and then one proc->todo work, while taking into account the sequence of work (work->android_oem_data1).
proc->ANDROID_OEM_DATA(1) is used to generate proc->fg_todo list, and it
was committed in the id 8a3740893d9957783493364b118282daa71695cc by other colleagues.

2. trace_android_vh_binder_list_add_work: record the sequence of work.

3. trace_android_vh_binder_has_proc_work_ilocked: Check if there is work
in proc->fg_todo list, and if so, then binder_wakeup_proc_ilocked.

4. trace_android_vh_binder_check_special_work: release the work on
proc->fg_todo list, and print the binder work on fg_list.

Bug: 334746237
Bug: 395737475

Change-Id: I855618ee129fe1bb5925b169d24eb2301ad90664
Signed-off-by: Fuchun Liao <lfc@oppo.com>
2025-02-26 13:34:14 -08:00
Zhuguangqing 09c3bee386 ANDROID: Add vendor hooks for binder perf tuning
Add some hooks in the binder module so that we can do task dependency analysis and statistical work in OEM's module for further optimization.

Bug: 235925535
Bug: 281920779

Signed-off-by: Zhuguangqing <zhuguangqing@xiaomi.com>
Change-Id: Id47e59c4e3ccd07b26eef758ada147b98cd1964e
Signed-off-by: heshuai1 <heshuai1@xiaomi.com>
2025-02-25 08:44:44 -08:00
Carlos Llamas 21812d46a6 UPSTREAM: binder: log transaction code on failure
When a transaction fails, log the 'tr->code' to help indentify the
problematic userspace call path. This additional information will
simplify debugging efforts.

Cc: Steven Moreland <smoreland@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20250110175051.2656975-1-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 388902813
(cherry picked from commit 48dc1c3608befa1ede8465805ca5cbc2ddf5df8a)
Change-Id: Icd0364386e28b28fe6b32d1cf4f3c76a66215853
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2025-02-10 13:32:58 -08:00
Alice Ryhl ac5119631f ANDROID: add binder.impl kernel parameter
This introduces a new binder.impl parameter for the kernel commandline.
The parameter controls whether the device should use the C or Rust
implementation of Binder.

This patch does not contain the Rust portion of this logic as Rust
Binder will be a DDK module for this kernel version. binder_use_rust is
exported so that the module can access it when loaded to check whether
the driver should be enabled. Note that Rust Binder must be a
vendor-boot module for the init sequence to work right.

The parameter has already been hooked up to Android userspace. This
means that the commands

	adb shell setprop kcmdline.binder c
	adb shell setprop kcmdline.binder rust

will cause Android to set binder.impl on the kernel commandline next
time the phone is rebooted.

Since it's infeasible to change the Binder driver used by a running
system, this parameter cannot be changed once a Binder driver is loaded.

Bug: 388786466
Change-Id: I2ea11cd4110ee86f88ca606c55bb9cc2924d576a
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2025-01-28 20:04:44 +00:00
Carlos Llamas 0207180b59 binder: add delivered_freeze to debugfs output
commit cb2aeb2ec25884133110ffe5a67ff3cf7dee5ceb upstream.

Add the pending proc->delivered_freeze work to the debugfs output. This
information was omitted in the original implementation of the freeze
notification and can be valuable for debugging issues.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-9-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-09 10:41:11 +01:00
Carlos Llamas b8b7771214 binder: fix memleak of proc->delivered_freeze
commit 1db76ec2b4b206ff943e292a0b55e68ff3443598 upstream.

If a freeze notification is cleared with BC_CLEAR_FREEZE_NOTIFICATION
before calling binder_freeze_notification_done(), then it is detached
from its reference (e.g. ref->freeze) but the work remains queued in
proc->delivered_freeze. This leads to a memory leak when the process
exits as any pending entries in proc->delivered_freeze are not freed:

  unreferenced object 0xffff38e8cfa36180 (size 64):
    comm "binder-util", pid 655, jiffies 4294936641
    hex dump (first 32 bytes):
      b8 e9 9e c8 e8 38 ff ff b8 e9 9e c8 e8 38 ff ff  .....8.......8..
      0b 00 00 00 00 00 00 00 3c 1f 4b 00 00 00 00 00  ........<.K.....
    backtrace (crc 95983b32):
      [<000000000d0582cf>] kmemleak_alloc+0x34/0x40
      [<000000009c99a513>] __kmalloc_cache_noprof+0x208/0x280
      [<00000000313b1704>] binder_thread_write+0xdec/0x439c
      [<000000000cbd33bb>] binder_ioctl+0x1b68/0x22cc
      [<000000002bbedeeb>] __arm64_sys_ioctl+0x124/0x190
      [<00000000b439adee>] invoke_syscall+0x6c/0x254
      [<00000000173558fc>] el0_svc_common.constprop.0+0xac/0x230
      [<0000000084f72311>] do_el0_svc+0x40/0x58
      [<000000008b872457>] el0_svc+0x38/0x78
      [<00000000ee778653>] el0t_64_sync_handler+0x120/0x12c
      [<00000000a8ec61bf>] el0t_64_sync+0x190/0x194

This patch fixes the leak by ensuring that any pending entries in
proc->delivered_freeze are freed during binder_deferred_release().

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-8-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-09 10:41:11 +01:00
Carlos Llamas f3cf682d3a binder: allow freeze notification for dead nodes
commit ca63c66935b978441055e3d87d30225267f99329 upstream.

Alice points out that binder_request_freeze_notification() should not
return EINVAL when the relevant node is dead [1]. The node can die at
any point even if the user input is valid. Instead, allow the request
to be allocated but skip the initial notification for dead nodes. This
avoids propagating unnecessary errors back to userspace.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Suggested-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/all/CAH5fLghapZJ4PbbkC8V5A6Zay-_sgTzwVpwqk6RWWUNKKyJC_Q@mail.gmail.com/ [1]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-7-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-09 10:41:11 +01:00
Carlos Llamas 648c92b1a8 binder: fix BINDER_WORK_CLEAR_FREEZE_NOTIFICATION debug logs
commit 595ea72efff9fa65bc52b6406e0822f90841f266 upstream.

proc 699
context binder-test
  thread 699: l 00 need_return 0 tr 0
  ref 25: desc 1 node 20 s 1 w 0 d 00000000c03e09a3
  unknown work: type 11

proc 640
context binder-test
  thread 640: l 00 need_return 0 tr 0
  ref 8: desc 1 node 3 s 1 w 0 d 000000002bb493e1
  has cleared freeze notification

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Suggested-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-6-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-09 10:41:11 +01:00
Carlos Llamas af8a8044b0 binder: fix BINDER_WORK_FROZEN_BINDER debug logs
commit 830d7db744b42c693bf1db7e94db86d7efd91f0e upstream.

The BINDER_WORK_FROZEN_BINDER type is not handled in the binder_logs
entries and it shows up as "unknown work" when logged:

  proc 649
  context binder-test
    thread 649: l 00 need_return 0 tr 0
    ref 13: desc 1 node 8 s 1 w 0 d 0000000053c4c0c3
    unknown work: type 10

This patch add the freeze work type and is now logged as such:

  proc 637
  context binder-test
    thread 637: l 00 need_return 0 tr 0
    ref 8: desc 1 node 3 s 1 w 0 d 00000000dc39e9c6
    has frozen binder

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Acked-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-5-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-09 10:41:11 +01:00
Carlos Llamas fe39e0ea2d binder: fix freeze UAF in binder_release_work()
commit 7e20434cbca814cb91a0a261ca0106815ef48e5f upstream.

When a binder reference is cleaned up, any freeze work queued in the
associated process should also be removed. Otherwise, the reference is
freed while its ref->freeze.work is still queued in proc->work leading
to a use-after-free issue as shown by the following KASAN report:

  ==================================================================
  BUG: KASAN: slab-use-after-free in binder_release_work+0x398/0x3d0
  Read of size 8 at addr ffff31600ee91488 by task kworker/5:1/211

  CPU: 5 UID: 0 PID: 211 Comm: kworker/5:1 Not tainted 6.11.0-rc7-00382-gfc6c92196396 #22
  Hardware name: linux,dummy-virt (DT)
  Workqueue: events binder_deferred_func
  Call trace:
   binder_release_work+0x398/0x3d0
   binder_deferred_func+0xb60/0x109c
   process_one_work+0x51c/0xbd4
   worker_thread+0x608/0xee8

  Allocated by task 703:
   __kmalloc_cache_noprof+0x130/0x280
   binder_thread_write+0xdb4/0x42a0
   binder_ioctl+0x18f0/0x25ac
   __arm64_sys_ioctl+0x124/0x190
   invoke_syscall+0x6c/0x254

  Freed by task 211:
   kfree+0xc4/0x230
   binder_deferred_func+0xae8/0x109c
   process_one_work+0x51c/0xbd4
   worker_thread+0x608/0xee8
  ==================================================================

This commit fixes the issue by ensuring any queued freeze work is removed
when cleaning up a binder reference.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Acked-by: Todd Kjos <tkjos@android.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-4-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-09 10:41:10 +01:00
Carlos Llamas 6b1be1da1f binder: fix OOB in binder_add_freeze_work()
commit 011e69a1b23011c0db3af4b8293fdd4522cc97b0 upstream.

In binder_add_freeze_work() we iterate over the proc->nodes with the
proc->inner_lock held. However, this lock is temporarily dropped to
acquire the node->lock first (lock nesting order). This can race with
binder_deferred_release() which removes the nodes from the proc->nodes
rbtree and adds them into binder_dead_nodes list. This leads to a broken
iteration in binder_add_freeze_work() as rb_next() will use data from
binder_dead_nodes, triggering an out-of-bounds access:

  ==================================================================
  BUG: KASAN: global-out-of-bounds in rb_next+0xfc/0x124
  Read of size 8 at addr ffffcb84285f7170 by task freeze/660

  CPU: 8 UID: 0 PID: 660 Comm: freeze Not tainted 6.11.0-07343-ga727812a8d45 #18
  Hardware name: linux,dummy-virt (DT)
  Call trace:
   rb_next+0xfc/0x124
   binder_add_freeze_work+0x344/0x534
   binder_ioctl+0x1e70/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  The buggy address belongs to the variable:
   binder_dead_nodes+0x10/0x40
  [...]
  ==================================================================

This is possible because proc->nodes (rbtree) and binder_dead_nodes
(list) share entries in binder_node through a union:

	struct binder_node {
	[...]
		union {
			struct rb_node rb_node;
			struct hlist_node dead_node;
		};

Fix the race by checking that the proc is still alive. If not, simply
break out of the iteration.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-3-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-09 10:41:10 +01:00
Carlos Llamas 38fbefeb2c binder: fix node UAF in binder_add_freeze_work()
commit dc8aea47b928cc153b591b3558829ce42f685074 upstream.

In binder_add_freeze_work() we iterate over the proc->nodes with the
proc->inner_lock held. However, this lock is temporarily dropped in
order to acquire the node->lock first (lock nesting order). This can
race with binder_node_release() and trigger a use-after-free:

  ==================================================================
  BUG: KASAN: slab-use-after-free in _raw_spin_lock+0xe4/0x19c
  Write of size 4 at addr ffff53c04c29dd04 by task freeze/640

  CPU: 5 UID: 0 PID: 640 Comm: freeze Not tainted 6.11.0-07343-ga727812a8d45 #17
  Hardware name: linux,dummy-virt (DT)
  Call trace:
   _raw_spin_lock+0xe4/0x19c
   binder_add_freeze_work+0x148/0x478
   binder_ioctl+0x1e70/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  Allocated by task 637:
   __kmalloc_cache_noprof+0x12c/0x27c
   binder_new_node+0x50/0x700
   binder_transaction+0x35ac/0x6f74
   binder_thread_write+0xfb8/0x42a0
   binder_ioctl+0x18f0/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  Freed by task 637:
   kfree+0xf0/0x330
   binder_thread_read+0x1e88/0x3a68
   binder_ioctl+0x16d8/0x25ac
   __arm64_sys_ioctl+0x124/0x190
  ==================================================================

Fix the race by taking a temporary reference on the node before
releasing the proc->inner lock. This ensures the node remains alive
while in use.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-2-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-09 10:41:10 +01:00
Carlos Llamas 0904609f52 UPSTREAM: binder: add delivered_freeze to debugfs output
Add the pending proc->delivered_freeze work to the debugfs output. This
information was omitted in the original implementation of the freeze
notification and can be valuable for debugging issues.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-9-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 366003708
(cherry picked from commit cb2aeb2ec25884133110ffe5a67ff3cf7dee5ceb)
Change-Id: Ifc9a22b52e38c35af661732486fa1f154adb34de
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-12-03 23:10:37 +00:00
Carlos Llamas 2a129cad7a UPSTREAM: binder: fix memleak of proc->delivered_freeze
If a freeze notification is cleared with BC_CLEAR_FREEZE_NOTIFICATION
before calling binder_freeze_notification_done(), then it is detached
from its reference (e.g. ref->freeze) but the work remains queued in
proc->delivered_freeze. This leads to a memory leak when the process
exits as any pending entries in proc->delivered_freeze are not freed:

  unreferenced object 0xffff38e8cfa36180 (size 64):
    comm "binder-util", pid 655, jiffies 4294936641
    hex dump (first 32 bytes):
      b8 e9 9e c8 e8 38 ff ff b8 e9 9e c8 e8 38 ff ff  .....8.......8..
      0b 00 00 00 00 00 00 00 3c 1f 4b 00 00 00 00 00  ........<.K.....
    backtrace (crc 95983b32):
      [<000000000d0582cf>] kmemleak_alloc+0x34/0x40
      [<000000009c99a513>] __kmalloc_cache_noprof+0x208/0x280
      [<00000000313b1704>] binder_thread_write+0xdec/0x439c
      [<000000000cbd33bb>] binder_ioctl+0x1b68/0x22cc
      [<000000002bbedeeb>] __arm64_sys_ioctl+0x124/0x190
      [<00000000b439adee>] invoke_syscall+0x6c/0x254
      [<00000000173558fc>] el0_svc_common.constprop.0+0xac/0x230
      [<0000000084f72311>] do_el0_svc+0x40/0x58
      [<000000008b872457>] el0_svc+0x38/0x78
      [<00000000ee778653>] el0t_64_sync_handler+0x120/0x12c
      [<00000000a8ec61bf>] el0t_64_sync+0x190/0x194

This patch fixes the leak by ensuring that any pending entries in
proc->delivered_freeze are freed during binder_deferred_release().

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-8-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 366003708
(cherry picked from commit 1db76ec2b4b206ff943e292a0b55e68ff3443598)
Change-Id: Iafdec3421c521b4b591b94455deba7ee5102c8ca
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-12-03 23:10:37 +00:00
Carlos Llamas f266fc5e73 UPSTREAM: binder: allow freeze notification for dead nodes
Alice points out that binder_request_freeze_notification() should not
return EINVAL when the relevant node is dead [1]. The node can die at
any point even if the user input is valid. Instead, allow the request
to be allocated but skip the initial notification for dead nodes. This
avoids propagating unnecessary errors back to userspace.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Suggested-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/all/CAH5fLghapZJ4PbbkC8V5A6Zay-_sgTzwVpwqk6RWWUNKKyJC_Q@mail.gmail.com/ [1]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-7-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 366003708
(cherry picked from commit ca63c66935b978441055e3d87d30225267f99329)
Change-Id: I03af1eedfeb194f5a775388cbb4e7487e4a5dfc0
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-12-03 23:10:37 +00:00
Carlos Llamas e24a9a78c8 UPSTREAM: binder: fix BINDER_WORK_CLEAR_FREEZE_NOTIFICATION debug logs
proc 699
context binder-test
  thread 699: l 00 need_return 0 tr 0
  ref 25: desc 1 node 20 s 1 w 0 d 00000000c03e09a3
  unknown work: type 11

proc 640
context binder-test
  thread 640: l 00 need_return 0 tr 0
  ref 8: desc 1 node 3 s 1 w 0 d 000000002bb493e1
  has cleared freeze notification

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Suggested-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-6-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 366003708
(cherry picked from commit 595ea72efff9fa65bc52b6406e0822f90841f266)
Change-Id: Ic6311aaea2040aaf4534cdaa4cbfa378afe31869
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-12-03 23:10:37 +00:00
Carlos Llamas 13e01eb9e0 UPSTREAM: binder: fix BINDER_WORK_FROZEN_BINDER debug logs
The BINDER_WORK_FROZEN_BINDER type is not handled in the binder_logs
entries and it shows up as "unknown work" when logged:

  proc 649
  context binder-test
    thread 649: l 00 need_return 0 tr 0
    ref 13: desc 1 node 8 s 1 w 0 d 0000000053c4c0c3
    unknown work: type 10

This patch add the freeze work type and is now logged as such:

  proc 637
  context binder-test
    thread 637: l 00 need_return 0 tr 0
    ref 8: desc 1 node 3 s 1 w 0 d 00000000dc39e9c6
    has frozen binder

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Acked-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-5-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 366003708
(cherry picked from commit 830d7db744b42c693bf1db7e94db86d7efd91f0e)
Change-Id: I06f888aa5218db19eeda79e315385506af09d9d5
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-12-03 23:10:37 +00:00
Carlos Llamas ec6082ede1 UPSTREAM: binder: fix freeze UAF in binder_release_work()
When a binder reference is cleaned up, any freeze work queued in the
associated process should also be removed. Otherwise, the reference is
freed while its ref->freeze.work is still queued in proc->work leading
to a use-after-free issue as shown by the following KASAN report:

  ==================================================================
  BUG: KASAN: slab-use-after-free in binder_release_work+0x398/0x3d0
  Read of size 8 at addr ffff31600ee91488 by task kworker/5:1/211

  CPU: 5 UID: 0 PID: 211 Comm: kworker/5:1 Not tainted 6.11.0-rc7-00382-gfc6c92196396 #22
  Hardware name: linux,dummy-virt (DT)
  Workqueue: events binder_deferred_func
  Call trace:
   binder_release_work+0x398/0x3d0
   binder_deferred_func+0xb60/0x109c
   process_one_work+0x51c/0xbd4
   worker_thread+0x608/0xee8

  Allocated by task 703:
   __kmalloc_cache_noprof+0x130/0x280
   binder_thread_write+0xdb4/0x42a0
   binder_ioctl+0x18f0/0x25ac
   __arm64_sys_ioctl+0x124/0x190
   invoke_syscall+0x6c/0x254

  Freed by task 211:
   kfree+0xc4/0x230
   binder_deferred_func+0xae8/0x109c
   process_one_work+0x51c/0xbd4
   worker_thread+0x608/0xee8
  ==================================================================

This commit fixes the issue by ensuring any queued freeze work is removed
when cleaning up a binder reference.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Acked-by: Todd Kjos <tkjos@android.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-4-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 366003708
(cherry picked from commit 7e20434cbca814cb91a0a261ca0106815ef48e5f)
Change-Id: Icc40e7dd6157981f4adbea7243e55be118552321
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-12-03 23:10:37 +00:00
Carlos Llamas a132ca05ce UPSTREAM: binder: fix OOB in binder_add_freeze_work()
In binder_add_freeze_work() we iterate over the proc->nodes with the
proc->inner_lock held. However, this lock is temporarily dropped to
acquire the node->lock first (lock nesting order). This can race with
binder_deferred_release() which removes the nodes from the proc->nodes
rbtree and adds them into binder_dead_nodes list. This leads to a broken
iteration in binder_add_freeze_work() as rb_next() will use data from
binder_dead_nodes, triggering an out-of-bounds access:

  ==================================================================
  BUG: KASAN: global-out-of-bounds in rb_next+0xfc/0x124
  Read of size 8 at addr ffffcb84285f7170 by task freeze/660

  CPU: 8 UID: 0 PID: 660 Comm: freeze Not tainted 6.11.0-07343-ga727812a8d45 #18
  Hardware name: linux,dummy-virt (DT)
  Call trace:
   rb_next+0xfc/0x124
   binder_add_freeze_work+0x344/0x534
   binder_ioctl+0x1e70/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  The buggy address belongs to the variable:
   binder_dead_nodes+0x10/0x40
  [...]
  ==================================================================

This is possible because proc->nodes (rbtree) and binder_dead_nodes
(list) share entries in binder_node through a union:

	struct binder_node {
	[...]
		union {
			struct rb_node rb_node;
			struct hlist_node dead_node;
		};

Fix the race by checking that the proc is still alive. If not, simply
break out of the iteration.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-3-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 366003708
(cherry picked from commit 011e69a1b23011c0db3af4b8293fdd4522cc97b0)
Change-Id: I5ec9d49277a23b864862665b52213460750c535e
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-12-03 23:10:37 +00:00
Carlos Llamas 1b98d9a165 UPSTREAM: binder: fix node UAF in binder_add_freeze_work()
In binder_add_freeze_work() we iterate over the proc->nodes with the
proc->inner_lock held. However, this lock is temporarily dropped in
order to acquire the node->lock first (lock nesting order). This can
race with binder_node_release() and trigger a use-after-free:

  ==================================================================
  BUG: KASAN: slab-use-after-free in _raw_spin_lock+0xe4/0x19c
  Write of size 4 at addr ffff53c04c29dd04 by task freeze/640

  CPU: 5 UID: 0 PID: 640 Comm: freeze Not tainted 6.11.0-07343-ga727812a8d45 #17
  Hardware name: linux,dummy-virt (DT)
  Call trace:
   _raw_spin_lock+0xe4/0x19c
   binder_add_freeze_work+0x148/0x478
   binder_ioctl+0x1e70/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  Allocated by task 637:
   __kmalloc_cache_noprof+0x12c/0x27c
   binder_new_node+0x50/0x700
   binder_transaction+0x35ac/0x6f74
   binder_thread_write+0xfb8/0x42a0
   binder_ioctl+0x18f0/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  Freed by task 637:
   kfree+0xf0/0x330
   binder_thread_read+0x1e88/0x3a68
   binder_ioctl+0x16d8/0x25ac
   __arm64_sys_ioctl+0x124/0x190
  ==================================================================

Fix the race by taking a temporary reference on the node before
releasing the proc->inner lock. This ensures the node remains alive
while in use.

Fixes: d579b04a52 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240926233632.821189-2-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 366003708
(cherry picked from commit dc8aea47b928cc153b591b3558829ce42f685074)
Change-Id: I47b053532dd4cd3424d35d6f254ca4d00c426411
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-12-03 23:10:37 +00:00
Liujie Xie e80ae43256 ANDROID: vendor_hooks: Add hooks to implement the feature of improving the scheduling priority of binder_sched->task
1) Check if it is a specific task in trace_android_vh_alloc_oem_binder_struct() and store the flag to t->android_vendor_data1
2) If it is a specific binder task and binder_thread selected, raise the scheduling priority of binder_thread->task in trace_android_vh_binder_proc_transaction_finish().
3) If it is a specific binder task but no binder_thread selected (e.g pending_async or no free threads), insert t->work to the appropriate position in the list in trace_android_vh_binder_special_task().
4) Some states are cleared in trace_android_vh_binder_transaction_received(). On the other hand, if no thread is selected in binder_proc_transaction() for async binders, the scheduling priority will be boosted here.
5) Restore the scheduling priority when BC_FREE_BUFFER in trace_android_vh_binder_buffer_release().

Bug: 329740751
Bug: 325855598
Change-Id: Iab4939fe4a4881b31961aaa2fef500b51c944743
Signed-off-by: Fuchun Liao <lfc@oppo.com>
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
2024-11-04 12:38:46 +00:00
Liujie Xie 937bd07184 ANDROID: vendor_hooks: Add hooks for improving binder trans
Recognize important binder proc & binder thread and improve their sched
lantency.

Bug: 182952552
Change-Id: I174949bf90a4215a6d27f24abbc7d324a321e662
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2024-11-04 12:38:46 +00:00
JianMin Liu 35aeaa5075 ANDROID: binder: Add vendor hook to the binder
- To apply vendor's performance tune for blocked binder transaction,
     add the hook on the begin/end of transaction.

   - ANDROID_VENDOR_DATA added to binder_transaction.

Bug: 319399115

Signed-off-by: JianMin Liu <jian-min.liu@mediatek.com>
Signed-off-by: Guanwun Chen <guan-wun.chen@mediatek.com>
Change-Id: If60870623ce2669200238172737dd8455ac34b02
2024-11-04 12:38:46 +00:00
Matthias Maennich 655feccf91 Merge 62a0e2fa40 ("Merge tag 'net-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net") into android-mainline
Steps on the way to 6.12-rc1

Bug: 367265496
Change-Id: I1ece105acb05b97d8cd9299ed0ee6a81a74fd353
Signed-off-by: Matthias Maennich <maennich@google.com>
2024-10-04 00:15:52 +00:00
Ba Jing e9e46ed220 binder: modify the comment for binder_proc_unlock
Modify the comment for binder_proc_unlock() to clearly indicate which
spinlock it releases and to better match the acquire comment block
in binder_proc_lock().

Signed-off-by: Ba Jing <bajing@cmss.chinamobile.com>
Acked-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240902052330.3115-1-bajing@cmss.chinamobile.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-11 16:02:45 +02:00
Greg Kroah-Hartman 895b4fae93 Merge 6.11-rc7 into char-misc-next
We need the char-misc fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-09 08:36:23 +02:00
Carlos Llamas 4df153652c binder: fix UAF caused by offsets overwrite
Binder objects are processed and copied individually into the target
buffer during transactions. Any raw data in-between these objects is
copied as well. However, this raw data copy lacks an out-of-bounds
check. If the raw data exceeds the data section size then the copy
overwrites the offsets section. This eventually triggers an error that
attempts to unwind the processed objects. However, at this point the
offsets used to index these objects are now corrupted.

Unwinding with corrupted offsets can result in decrements of arbitrary
nodes and lead to their premature release. Other users of such nodes are
left with a dangling pointer triggering a use-after-free. This issue is
made evident by the following KASAN report (trimmed):

  ==================================================================
  BUG: KASAN: slab-use-after-free in _raw_spin_lock+0xe4/0x19c
  Write of size 4 at addr ffff47fc91598f04 by task binder-util/743

  CPU: 9 UID: 0 PID: 743 Comm: binder-util Not tainted 6.11.0-rc4 #1
  Hardware name: linux,dummy-virt (DT)
  Call trace:
   _raw_spin_lock+0xe4/0x19c
   binder_free_buf+0x128/0x434
   binder_thread_write+0x8a4/0x3260
   binder_ioctl+0x18f0/0x258c
  [...]

  Allocated by task 743:
   __kmalloc_cache_noprof+0x110/0x270
   binder_new_node+0x50/0x700
   binder_transaction+0x413c/0x6da8
   binder_thread_write+0x978/0x3260
   binder_ioctl+0x18f0/0x258c
  [...]

  Freed by task 745:
   kfree+0xbc/0x208
   binder_thread_read+0x1c5c/0x37d4
   binder_ioctl+0x16d8/0x258c
  [...]
  ==================================================================

To avoid this issue, let's check that the raw data copy is within the
boundaries of the data section.

Fixes: 6d98eb95b4 ("binder: avoid potential data leakage when copying txn")
Cc: Todd Kjos <tkjos@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240822182353.2129600-1-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-03 12:18:46 +02:00
Ruffalo Lavoisier 59d617dc72 binder: fix typo in comment
Correct spelling on 'currently' in comment

Signed-off-by: Ruffalo Lavoisier <RuffaloLavoisier@gmail.com>
Acked-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240902130732.46698-1-RuffaloLavoisier@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-03 12:09:40 +02:00
Lee Jones ac37f41e88 Merge tag 'v6.11-rc3' into android-mainline
Linux 6.11-rc3

Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I514576a36c870fdc69a1763b6ac0222b2968eaf5
2024-09-03 07:16:47 +00:00
Carlos Llamas b7259d0c95 FROMLIST: binder: fix UAF caused by offsets overwrite
Binder objects are processed and copied individually into the target
buffer during transactions. Any raw data in-between these objects is
copied as well. However, this raw data copy lacks an out-of-bounds
check. If the raw data exceeds the data section size then the copy
overwrites the offsets section. This eventually triggers an error that
attempts to unwind the processed objects. However, at this point the
offsets used to index these objects are now corrupted.

Unwinding with corrupted offsets can result in decrements of arbitrary
nodes and lead to their premature release. Other users of such nodes are
left with a dangling pointer triggering a use-after-free. This issue is
made evident by the following KASAN report (trimmed):

  ==================================================================
  BUG: KASAN: slab-use-after-free in _raw_spin_lock+0xe4/0x19c
  Write of size 4 at addr ffff47fc91598f04 by task binder-util/743

  CPU: 9 UID: 0 PID: 743 Comm: binder-util Not tainted 6.11.0-rc4 #1
  Hardware name: linux,dummy-virt (DT)
  Call trace:
   _raw_spin_lock+0xe4/0x19c
   binder_free_buf+0x128/0x434
   binder_thread_write+0x8a4/0x3260
   binder_ioctl+0x18f0/0x258c
  [...]

  Allocated by task 743:
   __kmalloc_cache_noprof+0x110/0x270
   binder_new_node+0x50/0x700
   binder_transaction+0x413c/0x6da8
   binder_thread_write+0x978/0x3260
   binder_ioctl+0x18f0/0x258c
  [...]

  Freed by task 745:
   kfree+0xbc/0x208
   binder_thread_read+0x1c5c/0x37d4
   binder_ioctl+0x16d8/0x258c
  [...]
  ==================================================================

To avoid this issue, let's check that the raw data copy is within the
boundaries of the data section.

Fixes: 6d98eb95b4 ("binder: avoid potential data leakage when copying txn")
Cc: Todd Kjos <tkjos@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>

Bug: 352520660
Link: https://lore.kernel.org/all/20240822182353.2129600-1-cmllamas@google.com/
Change-Id: I1b2dd8403b63e5eeb58904558b7b542141c83fc2
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-08-23 16:28:35 +00:00
Lee Jones e5bb4fe054 Merge 3f386cb8ee ("Merge tag 'pci-v6.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci") into android-mainline
Steps on the way to v6.11-rc1

Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I2675aa9c48c1a3164e8af0318e78f307099f94c6
2024-08-23 09:02:13 +01:00
Greg Kroah-Hartman 9ca12e50a4 Merge 6.11-rc3 into char-misc-next
We need the char/misc fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-12 18:44:54 +02:00
Will McVicker 4cf63363a7 Merge tag 'v6.10-rc1' into android-mainline
Linux 6.10-rc1

Change-Id: Idb352b80ec4035982950ab2aec3bf3fbf4323ec3
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Will McVicker <willmcvicker@google.com>
2024-08-05 09:42:59 -07:00
Yu-Ting Tseng d579b04a52 binder: frozen notification
Frozen processes present a significant challenge in binder transactions.
When a process is frozen, it cannot, by design, accept and/or respond to
binder transactions. As a result, the sender needs to adjust its
behavior, such as postponing transactions until the peer process
unfreezes. However, there is currently no way to subscribe to these
state change events, making it impossible to implement frozen-aware
behaviors efficiently.

Introduce a binder API for subscribing to frozen state change events.
This allows programs to react to changes in peer process state,
mitigating issues related to binder transactions sent to frozen
processes.

Implementation details:
For a given binder_ref, the state of frozen notification can be one of
the followings:
1. Userspace doesn't want a notification. binder_ref->freeze is null.
2. Userspace wants a notification but none is in flight.
   list_empty(&binder_ref->freeze->work.entry) = true
3. A notification is in flight and waiting to be read by userspace.
   binder_ref_freeze.sent is false.
4. A notification was read by userspace and kernel is waiting for an ack.
   binder_ref_freeze.sent is true.

When a notification is in flight, new state change events are coalesced into
the existing binder_ref_freeze struct. If userspace hasn't picked up the
notification yet, the driver simply rewrites the state. Otherwise, the
notification is flagged as requiring a resend, which will be performed
once userspace acks the original notification that's inflight.

See https://r.android.com/3070045 for how userspace is going to use this
feature.

Signed-off-by: Yu-Ting Tseng <yutingtseng@google.com>
Acked-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240709070047.4055369-4-yutingtseng@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-31 13:56:00 +02:00
Carlos Llamas 11512c197d binder: fix descriptor lookup for context manager
In commit 15d9da3f81 ("binder: use bitmap for faster descriptor
lookup"), it was incorrectly assumed that references to the context
manager node should always get descriptor zero assigned to them.

However, if the context manager dies and a new process takes its place,
then assigning descriptor zero to the new context manager might lead to
collisions, as there could still be references to the older node. This
issue was reported by syzbot with the following trace:

  kernel BUG at drivers/android/binder.c:1173!
  Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP
  Modules linked in:
  CPU: 1 PID: 447 Comm: binder-util Not tainted 6.10.0-rc6-00348-g31643d84b8c3 #10
  Hardware name: linux,dummy-virt (DT)
  pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
  pc : binder_inc_ref_for_node+0x500/0x544
  lr : binder_inc_ref_for_node+0x1e4/0x544
  sp : ffff80008112b940
  x29: ffff80008112b940 x28: ffff0e0e40310780 x27: 0000000000000000
  x26: 0000000000000001 x25: ffff0e0e40310738 x24: ffff0e0e4089ba34
  x23: ffff0e0e40310b00 x22: ffff80008112bb50 x21: ffffaf7b8f246970
  x20: ffffaf7b8f773f08 x19: ffff0e0e4089b800 x18: 0000000000000000
  x17: 0000000000000000 x16: 0000000000000000 x15: 000000002de4aa60
  x14: 0000000000000000 x13: 2de4acf000000000 x12: 0000000000000020
  x11: 0000000000000018 x10: 0000000000000020 x9 : ffffaf7b90601000
  x8 : ffff0e0e48739140 x7 : 0000000000000000 x6 : 000000000000003f
  x5 : ffff0e0e40310b28 x4 : 0000000000000000 x3 : ffff0e0e40310720
  x2 : ffff0e0e40310728 x1 : 0000000000000000 x0 : ffff0e0e40310710
  Call trace:
   binder_inc_ref_for_node+0x500/0x544
   binder_transaction+0xf68/0x2620
   binder_thread_write+0x5bc/0x139c
   binder_ioctl+0xef4/0x10c8
  [...]

This patch adds back the previous behavior of assigning the next
non-zero descriptor if references to previous context managers still
exist. It amends both strategies, the newer dbitmap code and also the
legacy slow_desc_lookup_olocked(), by allowing them to start looking
for available descriptors at a given offset.

Fixes: 15d9da3f81 ("binder: use bitmap for faster descriptor lookup")
Cc: stable@vger.kernel.org
Reported-and-tested-by: syzbot+3dae065ca76952a67257@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/000000000000c1c0a0061d1e6979@google.com/
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Link: https://lore.kernel.org/r/20240722150512.4192473-1-cmllamas@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-31 13:47:48 +02:00